react-component-kit-ui 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/LICENSE +21 -0
  3. package/README.md +225 -2
  4. package/dist/apexcharts.js +327 -0
  5. package/dist/app.js +21 -0
  6. package/dist/buttons.js +26 -0
  7. package/dist/cards.js +26 -0
  8. package/dist/charts.js +50 -0
  9. package/dist/chunks/ActivityHeatmapGrid-P3FP0D6z.js +416 -0
  10. package/dist/chunks/AnimatedCheckmark-CJEmTxC6.js +19 -0
  11. package/dist/chunks/AnimatedInput-Dt37HZSs.js +21 -0
  12. package/dist/chunks/AuthCard-BkWHMFho.js +1409 -0
  13. package/dist/chunks/Badge-CHkR__dT.js +11 -0
  14. package/dist/chunks/CartPageList-DvsbjjCi.js +331 -0
  15. package/dist/chunks/CartToast-UIJFD2CK.js +570 -0
  16. package/dist/chunks/ChangelogSection-eY4neMby.js +2409 -0
  17. package/dist/chunks/CountdownBanner-CcpsvvE8.js +1263 -0
  18. package/dist/chunks/CtaNewsletterSection-Cl3fLVpQ.js +75 -0
  19. package/dist/chunks/CustomRadioGroup-DAwliU9n.js +26 -0
  20. package/dist/chunks/DiagonalSectionDivider-CwOOEFbn.js +541 -0
  21. package/dist/chunks/FloatingFeedbackWidget-D_0EpalW.js +348 -0
  22. package/dist/chunks/FooterMegaSection-DG1qtKuZ.js +67 -0
  23. package/dist/chunks/HackerDecodeText-hutANQXI.js +289 -0
  24. package/dist/chunks/LogoWallGrid-BEpsn1Gt.js +433 -0
  25. package/dist/chunks/LogoWithGalaxy-q_3-9vGU.js +139 -0
  26. package/dist/chunks/ProductCardMinimal-lQi5vy3-.js +88 -0
  27. package/dist/chunks/QuickJumpDock-DZzwR0vg.js +294 -0
  28. package/dist/chunks/SegmentedBarChart-DEBZURnS.js +384 -0
  29. package/dist/chunks/ShopCategoryHero-BLlWZ-i3.js +695 -0
  30. package/dist/chunks/StackedAreaChart-DF1-3rDG.js +453 -0
  31. package/dist/chunks/StatsTrendCard--nij2Jv0.js +491 -0
  32. package/dist/chunks/StatusTimelineFeed-BRYwz08g.js +62 -0
  33. package/dist/chunks/StepBreadcrumbBar-BGXvx5NX.js +32 -0
  34. package/dist/chunks/StepperInput-Ck_9n2BL.js +30 -0
  35. package/dist/chunks/TagsAutocompleteInput-BdbVqPbF.js +467 -0
  36. package/dist/chunks/TiltGlowButton-BRHwq9Af.js +650 -0
  37. package/dist/chunks/TypingIndicator-DshBNXhx.js +373 -0
  38. package/dist/chunks/WaterfallChart-C6NFbfO0.js +1337 -0
  39. package/dist/chunks/cart-store-u-ScUvte.js +212 -0
  40. package/dist/chunks/chart-tooltip-C7pIc_Su.js +49 -0
  41. package/dist/chunks/galaxy-scene-C854qLoX.js +231 -0
  42. package/dist/data.js +28 -0
  43. package/dist/ecommerce.js +43 -0
  44. package/dist/favicon.svg +14 -0
  45. package/dist/feedback.js +28 -0
  46. package/dist/forms.js +31 -0
  47. package/dist/global.css +254 -0
  48. package/dist/index.js +397 -0
  49. package/dist/layout.js +26 -0
  50. package/dist/logo-animated.svg +46 -0
  51. package/dist/logo.svg +46 -0
  52. package/dist/navigation.js +28 -0
  53. package/dist/overlays.js +27 -0
  54. package/dist/robots.txt +4 -0
  55. package/dist/sections.js +68 -0
  56. package/dist/styles.css +1 -0
  57. package/dist/templates/ecommerce-editorial.js +481 -0
  58. package/dist/templates/ecommerce.js +556 -0
  59. package/dist/templates/saas-hotel.js +540 -0
  60. package/dist/three.js +17 -0
  61. package/dist/tsconfig.build.tsbuildinfo +1 -0
  62. package/dist/types/components/apexcharts.d.ts +3 -0
  63. package/dist/types/components/index.d.ts +15 -0
  64. package/dist/types/components/lib/AnimatedGalaxy.d.ts +8 -0
  65. package/dist/types/components/lib/Galaxy3D.d.ts +15 -0
  66. package/dist/types/components/lib/LogoWithGalaxy.d.ts +8 -0
  67. package/dist/types/components/lib/app/AppSidebar.d.ts +53 -0
  68. package/dist/types/components/lib/app/AppTopbar.d.ts +52 -0
  69. package/dist/types/components/lib/app/ArrivalsBoard.d.ts +45 -0
  70. package/dist/types/components/lib/app/AuthCard.d.ts +45 -0
  71. package/dist/types/components/lib/app/DataTable.d.ts +54 -0
  72. package/dist/types/components/lib/app/GuestProfileCard.d.ts +48 -0
  73. package/dist/types/components/lib/app/HousekeepingBoard.d.ts +38 -0
  74. package/dist/types/components/lib/app/PageHeader.d.ts +45 -0
  75. package/dist/types/components/lib/app/PlanUsageCard.d.ts +44 -0
  76. package/dist/types/components/lib/app/RoomRack.d.ts +42 -0
  77. package/dist/types/components/lib/app/SettingsSection.d.ts +34 -0
  78. package/dist/types/components/lib/app/SwitchRow.d.ts +28 -0
  79. package/dist/types/components/lib/app/TeamMembers.d.ts +33 -0
  80. package/dist/types/components/lib/app/app-icons.d.ts +37 -0
  81. package/dist/types/components/lib/app/index.d.ts +15 -0
  82. package/dist/types/components/lib/buttons/AnimatedIconButton.d.ts +22 -0
  83. package/dist/types/components/lib/buttons/BorderDrawButton.d.ts +19 -0
  84. package/dist/types/components/lib/buttons/CyberpunkButton.d.ts +23 -0
  85. package/dist/types/components/lib/buttons/DoubleBorderButton.d.ts +17 -0
  86. package/dist/types/components/lib/buttons/GhostOutlineButton.d.ts +21 -0
  87. package/dist/types/components/lib/buttons/GlassButton.d.ts +23 -0
  88. package/dist/types/components/lib/buttons/GlowButton.d.ts +19 -0
  89. package/dist/types/components/lib/buttons/LiquidButton.d.ts +19 -0
  90. package/dist/types/components/lib/buttons/LoadingButton.d.ts +20 -0
  91. package/dist/types/components/lib/buttons/MagneticButton.d.ts +21 -0
  92. package/dist/types/components/lib/buttons/MinimalPillButton.d.ts +17 -0
  93. package/dist/types/components/lib/buttons/NeonBorderButton.d.ts +19 -0
  94. package/dist/types/components/lib/buttons/NeumorphicButton.d.ts +21 -0
  95. package/dist/types/components/lib/buttons/PulseButton.d.ts +20 -0
  96. package/dist/types/components/lib/buttons/RetroArcadeButton.d.ts +17 -0
  97. package/dist/types/components/lib/buttons/RetroShadowButton.d.ts +17 -0
  98. package/dist/types/components/lib/buttons/RippleButton.d.ts +17 -0
  99. package/dist/types/components/lib/buttons/ShimmerButton.d.ts +17 -0
  100. package/dist/types/components/lib/buttons/ShinyButton.d.ts +17 -0
  101. package/dist/types/components/lib/buttons/SlideRevealButton.d.ts +20 -0
  102. package/dist/types/components/lib/buttons/ThreeDPushButton.d.ts +19 -0
  103. package/dist/types/components/lib/buttons/TiltGlowButton.d.ts +21 -0
  104. package/dist/types/components/lib/buttons/index.d.ts +22 -0
  105. package/dist/types/components/lib/cards/BlogHorizontalCard.d.ts +17 -0
  106. package/dist/types/components/lib/cards/CyberFeatureCard.d.ts +15 -0
  107. package/dist/types/components/lib/cards/EcommerceProductCard.d.ts +21 -0
  108. package/dist/types/components/lib/cards/GithubRepoCard.d.ts +25 -0
  109. package/dist/types/components/lib/cards/GlassCard.d.ts +19 -0
  110. package/dist/types/components/lib/cards/GlassEventCard.d.ts +17 -0
  111. package/dist/types/components/lib/cards/GlowPortfolioCard.d.ts +17 -0
  112. package/dist/types/components/lib/cards/InteractiveTiltCard.d.ts +13 -0
  113. package/dist/types/components/lib/cards/KanbanItemCard.d.ts +15 -0
  114. package/dist/types/components/lib/cards/MinimalLinkCard.d.ts +13 -0
  115. package/dist/types/components/lib/cards/MusicPlayerMini.d.ts +17 -0
  116. package/dist/types/components/lib/cards/NeumorphicCard.d.ts +13 -0
  117. package/dist/types/components/lib/cards/NotificationCard.d.ts +15 -0
  118. package/dist/types/components/lib/cards/PricingCard.d.ts +17 -0
  119. package/dist/types/components/lib/cards/PricingCompareMiniCard.d.ts +25 -0
  120. package/dist/types/components/lib/cards/ProfileCard.d.ts +17 -0
  121. package/dist/types/components/lib/cards/RetroGameCard.d.ts +15 -0
  122. package/dist/types/components/lib/cards/StatCard.d.ts +15 -0
  123. package/dist/types/components/lib/cards/StatsTrendCard.d.ts +19 -0
  124. package/dist/types/components/lib/cards/TaskKanbanCard.d.ts +17 -0
  125. package/dist/types/components/lib/cards/TestimonialCardClean.d.ts +17 -0
  126. package/dist/types/components/lib/cards/WeatherWidgetCard.d.ts +17 -0
  127. package/dist/types/components/lib/cards/index.d.ts +22 -0
  128. package/dist/types/components/lib/charts/ActivityRings.d.ts +26 -0
  129. package/dist/types/components/lib/charts/AreaChart.d.ts +16 -0
  130. package/dist/types/components/lib/charts/BarChart.d.ts +17 -0
  131. package/dist/types/components/lib/charts/BoxPlotChart.d.ts +26 -0
  132. package/dist/types/components/lib/charts/BubbleChart.d.ts +35 -0
  133. package/dist/types/components/lib/charts/BulletChart.d.ts +29 -0
  134. package/dist/types/components/lib/charts/BumpChart.d.ts +25 -0
  135. package/dist/types/components/lib/charts/CandlestickChart.d.ts +30 -0
  136. package/dist/types/components/lib/charts/ChartFrame.d.ts +43 -0
  137. package/dist/types/components/lib/charts/DivergingBarChart.d.ts +31 -0
  138. package/dist/types/components/lib/charts/DonutChart.d.ts +16 -0
  139. package/dist/types/components/lib/charts/DumbbellChart.d.ts +31 -0
  140. package/dist/types/components/lib/charts/ForecastLineChart.d.ts +30 -0
  141. package/dist/types/components/lib/charts/FunnelChart.d.ts +24 -0
  142. package/dist/types/components/lib/charts/GaugeChart.d.ts +29 -0
  143. package/dist/types/components/lib/charts/GoalProgressChart.d.ts +29 -0
  144. package/dist/types/components/lib/charts/GroupedBarChart.d.ts +32 -0
  145. package/dist/types/components/lib/charts/HeatmapChart.d.ts +29 -0
  146. package/dist/types/components/lib/charts/HistogramChart.d.ts +27 -0
  147. package/dist/types/components/lib/charts/HorizontalBarChart.d.ts +32 -0
  148. package/dist/types/components/lib/charts/KpiStatTile.d.ts +28 -0
  149. package/dist/types/components/lib/charts/KpiTrendGrid.d.ts +27 -0
  150. package/dist/types/components/lib/charts/LineChart.d.ts +38 -0
  151. package/dist/types/components/lib/charts/LinearProgressGauge.d.ts +19 -0
  152. package/dist/types/components/lib/charts/LollipopChart.d.ts +32 -0
  153. package/dist/types/components/lib/charts/MeterGauge.d.ts +32 -0
  154. package/dist/types/components/lib/charts/MetricDeltaTable.d.ts +36 -0
  155. package/dist/types/components/lib/charts/PieChart.d.ts +32 -0
  156. package/dist/types/components/lib/charts/PolarAreaChart.d.ts +27 -0
  157. package/dist/types/components/lib/charts/PopulationPyramid.d.ts +31 -0
  158. package/dist/types/components/lib/charts/PunchCardChart.d.ts +26 -0
  159. package/dist/types/components/lib/charts/RadarChart.d.ts +28 -0
  160. package/dist/types/components/lib/charts/RadarMetricChart.d.ts +20 -0
  161. package/dist/types/components/lib/charts/RadialBarChart.d.ts +27 -0
  162. package/dist/types/components/lib/charts/RangeAreaChart.d.ts +34 -0
  163. package/dist/types/components/lib/charts/RetentionCohortTable.d.ts +27 -0
  164. package/dist/types/components/lib/charts/SankeyChart.d.ts +30 -0
  165. package/dist/types/components/lib/charts/ScatterPlot.d.ts +35 -0
  166. package/dist/types/components/lib/charts/SegmentedBarChart.d.ts +30 -0
  167. package/dist/types/components/lib/charts/SlopeChart.d.ts +33 -0
  168. package/dist/types/components/lib/charts/SparklineChart.d.ts +24 -0
  169. package/dist/types/components/lib/charts/StackedAreaChart.d.ts +34 -0
  170. package/dist/types/components/lib/charts/StackedBarChart.d.ts +33 -0
  171. package/dist/types/components/lib/charts/SunburstChart.d.ts +33 -0
  172. package/dist/types/components/lib/charts/TreemapChart.d.ts +31 -0
  173. package/dist/types/components/lib/charts/WaffleChart.d.ts +26 -0
  174. package/dist/types/components/lib/charts/WaterfallChart.d.ts +32 -0
  175. package/dist/types/components/lib/charts/chart-tooltip.d.ts +1 -0
  176. package/dist/types/components/lib/charts/chart-utils.d.ts +46 -0
  177. package/dist/types/components/lib/charts/index.d.ts +44 -0
  178. package/dist/types/components/lib/data/AccordionGroupGlass.d.ts +6 -0
  179. package/dist/types/components/lib/data/ActivityHeatmapGrid.d.ts +13 -0
  180. package/dist/types/components/lib/data/AvatarGroupStack.d.ts +6 -0
  181. package/dist/types/components/lib/data/CalendarGridView.d.ts +6 -0
  182. package/dist/types/components/lib/data/DataChipsGroup.d.ts +6 -0
  183. package/dist/types/components/lib/data/DescriptionListHoriz.d.ts +6 -0
  184. package/dist/types/components/lib/data/FileTreeView.d.ts +6 -0
  185. package/dist/types/components/lib/data/GanttChartMinimal.d.ts +6 -0
  186. package/dist/types/components/lib/data/GlassTable.d.ts +6 -0
  187. package/dist/types/components/lib/data/KeyValuePillGroup.d.ts +6 -0
  188. package/dist/types/components/lib/data/MetricComparisonRow.d.ts +19 -0
  189. package/dist/types/components/lib/data/PriceCompareTable.d.ts +6 -0
  190. package/dist/types/components/lib/data/ProgressListSmall.d.ts +6 -0
  191. package/dist/types/components/lib/data/RatingBreakdownBar.d.ts +6 -0
  192. package/dist/types/components/lib/data/SparklineStatCard.d.ts +6 -0
  193. package/dist/types/components/lib/data/StatsGridDashboard.d.ts +6 -0
  194. package/dist/types/components/lib/data/StatusTimelineFeed.d.ts +16 -0
  195. package/dist/types/components/lib/data/StepperDataVertical.d.ts +6 -0
  196. package/dist/types/components/lib/data/TagCloudData.d.ts +6 -0
  197. package/dist/types/components/lib/data/TimelineHorizSteps.d.ts +6 -0
  198. package/dist/types/components/lib/data/TreeItemInteractive.d.ts +6 -0
  199. package/dist/types/components/lib/data/UserDirectoryItem.d.ts +6 -0
  200. package/dist/types/components/lib/data/VerticalTimeline.d.ts +6 -0
  201. package/dist/types/components/lib/data/index.d.ts +23 -0
  202. package/dist/types/components/lib/ecommerce/CartDrawer.d.ts +43 -0
  203. package/dist/types/components/lib/ecommerce/CartPageList.d.ts +36 -0
  204. package/dist/types/components/lib/ecommerce/CartToast.d.ts +34 -0
  205. package/dist/types/components/lib/ecommerce/CategoryTiles.d.ts +32 -0
  206. package/dist/types/components/lib/ecommerce/CheckoutForm.d.ts +44 -0
  207. package/dist/types/components/lib/ecommerce/CountdownBanner.d.ts +38 -0
  208. package/dist/types/components/lib/ecommerce/FilterBar.d.ts +48 -0
  209. package/dist/types/components/lib/ecommerce/FilterSidebar.d.ts +42 -0
  210. package/dist/types/components/lib/ecommerce/LiveActivityToast.d.ts +43 -0
  211. package/dist/types/components/lib/ecommerce/OrderSummary.d.ts +39 -0
  212. package/dist/types/components/lib/ecommerce/ProductBuyBox.d.ts +39 -0
  213. package/dist/types/components/lib/ecommerce/ProductCardMinimal.d.ts +38 -0
  214. package/dist/types/components/lib/ecommerce/ProductGallery.d.ts +29 -0
  215. package/dist/types/components/lib/ecommerce/ProductGrid.d.ts +41 -0
  216. package/dist/types/components/lib/ecommerce/ProductMedia.d.ts +30 -0
  217. package/dist/types/components/lib/ecommerce/ProductRating.d.ts +23 -0
  218. package/dist/types/components/lib/ecommerce/ProductToolbar.d.ts +35 -0
  219. package/dist/types/components/lib/ecommerce/PromoBar.d.ts +29 -0
  220. package/dist/types/components/lib/ecommerce/StockIndicator.d.ts +29 -0
  221. package/dist/types/components/lib/ecommerce/StoreHeader.d.ts +54 -0
  222. package/dist/types/components/lib/ecommerce/StoreHero.d.ts +48 -0
  223. package/dist/types/components/lib/ecommerce/StoreProductCard.d.ts +40 -0
  224. package/dist/types/components/lib/ecommerce/TrustBadges.d.ts +24 -0
  225. package/dist/types/components/lib/ecommerce/VariantPicker.d.ts +37 -0
  226. package/dist/types/components/lib/ecommerce/cart-store.d.ts +31 -0
  227. package/dist/types/components/lib/ecommerce/catalog-filter.d.ts +12 -0
  228. package/dist/types/components/lib/ecommerce/index.d.ts +30 -0
  229. package/dist/types/components/lib/ecommerce/product-icons.d.ts +20 -0
  230. package/dist/types/components/lib/ecommerce/types.d.ts +61 -0
  231. package/dist/types/components/lib/feedback/AnimatedCheckmark.d.ts +14 -0
  232. package/dist/types/components/lib/feedback/Badge.d.ts +17 -0
  233. package/dist/types/components/lib/feedback/CircleProgress.d.ts +18 -0
  234. package/dist/types/components/lib/feedback/ConfettiFeedback.d.ts +18 -0
  235. package/dist/types/components/lib/feedback/CyberGlitchAlert.d.ts +14 -0
  236. package/dist/types/components/lib/feedback/EmptyStateCard.d.ts +20 -0
  237. package/dist/types/components/lib/feedback/GlassAlert.d.ts +15 -0
  238. package/dist/types/components/lib/feedback/GlassModal.d.ts +24 -0
  239. package/dist/types/components/lib/feedback/GlassProgress.d.ts +14 -0
  240. package/dist/types/components/lib/feedback/IndicatorBadgeMinimal.d.ts +17 -0
  241. package/dist/types/components/lib/feedback/NeonSpinner.d.ts +16 -0
  242. package/dist/types/components/lib/feedback/ProgressRingCounter.d.ts +22 -0
  243. package/dist/types/components/lib/feedback/PulseDot.d.ts +14 -0
  244. package/dist/types/components/lib/feedback/RatingPill.d.ts +15 -0
  245. package/dist/types/components/lib/feedback/ShakeErrorGroup.d.ts +17 -0
  246. package/dist/types/components/lib/feedback/SimpleTooltip.d.ts +15 -0
  247. package/dist/types/components/lib/feedback/SkeletonList.d.ts +12 -0
  248. package/dist/types/components/lib/feedback/Spotlight.d.ts +15 -0
  249. package/dist/types/components/lib/feedback/StepProgress.d.ts +16 -0
  250. package/dist/types/components/lib/feedback/ToastNotif.d.ts +18 -0
  251. package/dist/types/components/lib/feedback/ToastNotificationGroup.d.ts +22 -0
  252. package/dist/types/components/lib/feedback/TypingIndicator.d.ts +14 -0
  253. package/dist/types/components/lib/feedback/index.d.ts +22 -0
  254. package/dist/types/components/lib/forms/AnimatedInput.d.ts +23 -0
  255. package/dist/types/components/lib/forms/ChipInput.d.ts +17 -0
  256. package/dist/types/components/lib/forms/ColorPickerInput.d.ts +17 -0
  257. package/dist/types/components/lib/forms/CurrencyInput.d.ts +21 -0
  258. package/dist/types/components/lib/forms/CustomRadioGroup.d.ts +21 -0
  259. package/dist/types/components/lib/forms/CyberpunkCheckbox.d.ts +17 -0
  260. package/dist/types/components/lib/forms/DragDropUpload.d.ts +19 -0
  261. package/dist/types/components/lib/forms/ErrorInput.d.ts +19 -0
  262. package/dist/types/components/lib/forms/FloatingPassword.d.ts +17 -0
  263. package/dist/types/components/lib/forms/FormGroupVertical.d.ts +21 -0
  264. package/dist/types/components/lib/forms/GlassInlineToggleGroup.d.ts +21 -0
  265. package/dist/types/components/lib/forms/GlassSlider.d.ts +23 -0
  266. package/dist/types/components/lib/forms/GlassTextarea.d.ts +21 -0
  267. package/dist/types/components/lib/forms/ModernSelect.d.ts +23 -0
  268. package/dist/types/components/lib/forms/NeumorphicSwitch.d.ts +17 -0
  269. package/dist/types/components/lib/forms/OTPInput.d.ts +17 -0
  270. package/dist/types/components/lib/forms/PasswordStrengthInput.d.ts +19 -0
  271. package/dist/types/components/lib/forms/PhoneCountryInput.d.ts +19 -0
  272. package/dist/types/components/lib/forms/RatingStars.d.ts +17 -0
  273. package/dist/types/components/lib/forms/SearchReveal.d.ts +15 -0
  274. package/dist/types/components/lib/forms/SegmentedControl.d.ts +19 -0
  275. package/dist/types/components/lib/forms/SimpleFileInput.d.ts +17 -0
  276. package/dist/types/components/lib/forms/StepperInput.d.ts +23 -0
  277. package/dist/types/components/lib/forms/TagsAutocompleteInput.d.ts +19 -0
  278. package/dist/types/components/lib/forms/index.d.ts +24 -0
  279. package/dist/types/components/lib/galaxy-scene.d.ts +5 -0
  280. package/dist/types/components/lib/layout/BentoGrid3.d.ts +14 -0
  281. package/dist/types/components/lib/layout/CenterFixedBox.d.ts +11 -0
  282. package/dist/types/components/lib/layout/CenteredContainer.d.ts +27 -0
  283. package/dist/types/components/lib/layout/ClusterHorizontal.d.ts +13 -0
  284. package/dist/types/components/lib/layout/DiagonalSectionDivider.d.ts +17 -0
  285. package/dist/types/components/lib/layout/FeatureHero.d.ts +35 -0
  286. package/dist/types/components/lib/layout/FooterCenteredMinimal.d.ts +23 -0
  287. package/dist/types/components/lib/layout/FullBleedSection.d.ts +11 -0
  288. package/dist/types/components/lib/layout/GalleryGrid4.d.ts +11 -0
  289. package/dist/types/components/lib/layout/GlassCardGrid.d.ts +16 -0
  290. package/dist/types/components/lib/layout/GlassSectionHeader.d.ts +30 -0
  291. package/dist/types/components/lib/layout/HolyGrailGrid.d.ts +23 -0
  292. package/dist/types/components/lib/layout/LandingSectionSplit.d.ts +14 -0
  293. package/dist/types/components/lib/layout/MasonryGrid.d.ts +13 -0
  294. package/dist/types/components/lib/layout/MinimalFooterGrid.d.ts +10 -0
  295. package/dist/types/components/lib/layout/ScrollSnapSection.d.ts +12 -0
  296. package/dist/types/components/lib/layout/SectionDividerText.d.ts +23 -0
  297. package/dist/types/components/lib/layout/SidebarLayoutWrapper.d.ts +33 -0
  298. package/dist/types/components/lib/layout/SplitScreenLayout.d.ts +12 -0
  299. package/dist/types/components/lib/layout/StepLayoutVertical.d.ts +9 -0
  300. package/dist/types/components/lib/layout/StickySidebarWrapper.d.ts +35 -0
  301. package/dist/types/components/lib/layout/VerticalStack.d.ts +27 -0
  302. package/dist/types/components/lib/layout/index.d.ts +22 -0
  303. package/dist/types/components/lib/navigation/AnchorSideNav.d.ts +6 -0
  304. package/dist/types/components/lib/navigation/BottomNavMobile.d.ts +6 -0
  305. package/dist/types/components/lib/navigation/BreadcrumbsMinimal.d.ts +6 -0
  306. package/dist/types/components/lib/navigation/BurgerMorphIcon.d.ts +6 -0
  307. package/dist/types/components/lib/navigation/CommandPaletteUI.d.ts +6 -0
  308. package/dist/types/components/lib/navigation/DotNavigationSlider.d.ts +6 -0
  309. package/dist/types/components/lib/navigation/FloatingTabBar.d.ts +6 -0
  310. package/dist/types/components/lib/navigation/GlassNavbar.d.ts +12 -0
  311. package/dist/types/components/lib/navigation/LangSwitcherPill.d.ts +6 -0
  312. package/dist/types/components/lib/navigation/MegaMenuGlass.d.ts +6 -0
  313. package/dist/types/components/lib/navigation/MinimalSidebar.d.ts +6 -0
  314. package/dist/types/components/lib/navigation/PaginationGlass.d.ts +6 -0
  315. package/dist/types/components/lib/navigation/PaginationInfiniteUI.d.ts +6 -0
  316. package/dist/types/components/lib/navigation/QuickJumpDock.d.ts +15 -0
  317. package/dist/types/components/lib/navigation/RadialIconMenu.d.ts +6 -0
  318. package/dist/types/components/lib/navigation/RetroArcadeMenu.d.ts +6 -0
  319. package/dist/types/components/lib/navigation/ScrollProgressTop.d.ts +6 -0
  320. package/dist/types/components/lib/navigation/SimpleFooterGlass.d.ts +6 -0
  321. package/dist/types/components/lib/navigation/StepBreadcrumbBar.d.ts +16 -0
  322. package/dist/types/components/lib/navigation/SubNavbarPills.d.ts +18 -0
  323. package/dist/types/components/lib/navigation/TabUnderline.d.ts +6 -0
  324. package/dist/types/components/lib/navigation/UserProfileNav.d.ts +6 -0
  325. package/dist/types/components/lib/navigation/VerticalTabs.d.ts +6 -0
  326. package/dist/types/components/lib/navigation/index.d.ts +23 -0
  327. package/dist/types/components/lib/overlays/AgeVerificationOverlay.d.ts +6 -0
  328. package/dist/types/components/lib/overlays/BackdropBlurMask.d.ts +6 -0
  329. package/dist/types/components/lib/overlays/BottomSheetMobile.d.ts +6 -0
  330. package/dist/types/components/lib/overlays/CommandDialog.d.ts +6 -0
  331. package/dist/types/components/lib/overlays/ContextMenuOverlay.d.ts +6 -0
  332. package/dist/types/components/lib/overlays/CookieBannerGlass.d.ts +6 -0
  333. package/dist/types/components/lib/overlays/CookiePreferencesDrawer.d.ts +13 -0
  334. package/dist/types/components/lib/overlays/ExitIntentOverlay.d.ts +6 -0
  335. package/dist/types/components/lib/overlays/FloatingFeedbackWidget.d.ts +13 -0
  336. package/dist/types/components/lib/overlays/FloatingTrayActions.d.ts +6 -0
  337. package/dist/types/components/lib/overlays/HelpBubbleOverlay.d.ts +6 -0
  338. package/dist/types/components/lib/overlays/ImageCompareSlider.d.ts +19 -0
  339. package/dist/types/components/lib/overlays/LightboxOverlay.d.ts +6 -0
  340. package/dist/types/components/lib/overlays/LoadingOverlayFull.d.ts +6 -0
  341. package/dist/types/components/lib/overlays/MobileNavOverlay.d.ts +6 -0
  342. package/dist/types/components/lib/overlays/OverlayModal.d.ts +6 -0
  343. package/dist/types/components/lib/overlays/PopoverMenuGlass.d.ts +6 -0
  344. package/dist/types/components/lib/overlays/SearchOverlayFullscreen.d.ts +6 -0
  345. package/dist/types/components/lib/overlays/SideDrawerRight.d.ts +8 -0
  346. package/dist/types/components/lib/overlays/SplashIntroOverlay.d.ts +6 -0
  347. package/dist/types/components/lib/overlays/SpotlightIndicator.d.ts +6 -0
  348. package/dist/types/components/lib/overlays/ToastStackOverlay.d.ts +6 -0
  349. package/dist/types/components/lib/overlays/TooltipActionTray.d.ts +6 -0
  350. package/dist/types/components/lib/overlays/index.d.ts +23 -0
  351. package/dist/types/components/lib/sections/AgencyContactBrief.d.ts +44 -0
  352. package/dist/types/components/lib/sections/AgencyFooterCta.d.ts +46 -0
  353. package/dist/types/components/lib/sections/AgencyHeader.d.ts +37 -0
  354. package/dist/types/components/lib/sections/AgencyHeroKinetic.d.ts +45 -0
  355. package/dist/types/components/lib/sections/AgencyServicesList.d.ts +35 -0
  356. package/dist/types/components/lib/sections/AgencyTeamGrid.d.ts +45 -0
  357. package/dist/types/components/lib/sections/AgencyWorkGrid.d.ts +42 -0
  358. package/dist/types/components/lib/sections/BlogGridSection.d.ts +35 -0
  359. package/dist/types/components/lib/sections/ButtonsShowcase.d.ts +8 -0
  360. package/dist/types/components/lib/sections/CardsShowcase.d.ts +8 -0
  361. package/dist/types/components/lib/sections/CareersOpenings.d.ts +37 -0
  362. package/dist/types/components/lib/sections/ChangelogSection.d.ts +37 -0
  363. package/dist/types/components/lib/sections/ContactGlassForm.d.ts +16 -0
  364. package/dist/types/components/lib/sections/ContactSplitMap.d.ts +36 -0
  365. package/dist/types/components/lib/sections/CtaAppDownload.d.ts +16 -0
  366. package/dist/types/components/lib/sections/CtaGlowBanner.d.ts +20 -0
  367. package/dist/types/components/lib/sections/CtaNewsletterSection.d.ts +28 -0
  368. package/dist/types/components/lib/sections/CtaSplitImage.d.ts +39 -0
  369. package/dist/types/components/lib/sections/DataShowcase.d.ts +8 -0
  370. package/dist/types/components/lib/sections/FaqAccordionSection.d.ts +16 -0
  371. package/dist/types/components/lib/sections/FaqTwoColumn.d.ts +32 -0
  372. package/dist/types/components/lib/sections/FeatureAlternatingRows.d.ts +29 -0
  373. package/dist/types/components/lib/sections/FeatureBentoGrid.d.ts +16 -0
  374. package/dist/types/components/lib/sections/FeatureIconGrid.d.ts +33 -0
  375. package/dist/types/components/lib/sections/FeatureTabsShowcase.d.ts +30 -0
  376. package/dist/types/components/lib/sections/FeatureTimelineFlow.d.ts +16 -0
  377. package/dist/types/components/lib/sections/FeedbackShowcase.d.ts +8 -0
  378. package/dist/types/components/lib/sections/FooterMegaSection.d.ts +40 -0
  379. package/dist/types/components/lib/sections/FormsShowcase.d.ts +8 -0
  380. package/dist/types/components/lib/sections/HeroDashboardPreview.d.ts +32 -0
  381. package/dist/types/components/lib/sections/HeroGlass.d.ts +8 -0
  382. package/dist/types/components/lib/sections/HeroGradient.d.ts +8 -0
  383. package/dist/types/components/lib/sections/HeroMinimalCentered.d.ts +36 -0
  384. package/dist/types/components/lib/sections/HeroShowcaseSplit.d.ts +25 -0
  385. package/dist/types/components/lib/sections/HeroSplit.d.ts +8 -0
  386. package/dist/types/components/lib/sections/HeroTerminal.d.ts +35 -0
  387. package/dist/types/components/lib/sections/HeroWaitlist.d.ts +30 -0
  388. package/dist/types/components/lib/sections/HowItWorksSteps.d.ts +32 -0
  389. package/dist/types/components/lib/sections/IntegrationsGrid.d.ts +28 -0
  390. package/dist/types/components/lib/sections/LayoutShowcase.d.ts +8 -0
  391. package/dist/types/components/lib/sections/LogoCloudSection.d.ts +16 -0
  392. package/dist/types/components/lib/sections/LogoWallGrid.d.ts +28 -0
  393. package/dist/types/components/lib/sections/NavigationShowcase.d.ts +8 -0
  394. package/dist/types/components/lib/sections/OverlaysShowcase.d.ts +8 -0
  395. package/dist/types/components/lib/sections/PricingComparisonMatrix.d.ts +16 -0
  396. package/dist/types/components/lib/sections/PricingSinglePlan.d.ts +37 -0
  397. package/dist/types/components/lib/sections/PricingTierCards.d.ts +16 -0
  398. package/dist/types/components/lib/sections/PricingToggleCards.d.ts +36 -0
  399. package/dist/types/components/lib/sections/ShopCategoryHero.d.ts +41 -0
  400. package/dist/types/components/lib/sections/ShopCollectionMosaic.d.ts +37 -0
  401. package/dist/types/components/lib/sections/ShopFooterWordmark.d.ts +38 -0
  402. package/dist/types/components/lib/sections/ShopHeaderEditorial.d.ts +61 -0
  403. package/dist/types/components/lib/sections/ShopHeroEditorial.d.ts +45 -0
  404. package/dist/types/components/lib/sections/ShopLookbook.d.ts +47 -0
  405. package/dist/types/components/lib/sections/ShopNewsletterEditorial.d.ts +33 -0
  406. package/dist/types/components/lib/sections/ShopProductRail.d.ts +41 -0
  407. package/dist/types/components/lib/sections/ShopReviewsEditorial.d.ts +34 -0
  408. package/dist/types/components/lib/sections/ShopValuesMarquee.d.ts +28 -0
  409. package/dist/types/components/lib/sections/StatsCounterBand.d.ts +30 -0
  410. package/dist/types/components/lib/sections/StatsDashboardSection.d.ts +31 -0
  411. package/dist/types/components/lib/sections/StatsMetricShowcase.d.ts +16 -0
  412. package/dist/types/components/lib/sections/TeamGridSection.d.ts +16 -0
  413. package/dist/types/components/lib/sections/TestimonialCarousel.d.ts +26 -0
  414. package/dist/types/components/lib/sections/TestimonialFeatured.d.ts +34 -0
  415. package/dist/types/components/lib/sections/TestimonialGridSection.d.ts +15 -0
  416. package/dist/types/components/lib/sections/TestimonialWallGlass.d.ts +16 -0
  417. package/dist/types/components/lib/sections/TypographyShowcase.d.ts +8 -0
  418. package/dist/types/components/lib/sections/index.d.ts +60 -0
  419. package/dist/types/components/lib/templates/ecommerce/StoreCategoryPage.d.ts +28 -0
  420. package/dist/types/components/lib/templates/ecommerce/StoreCheckoutPage.d.ts +25 -0
  421. package/dist/types/components/lib/templates/ecommerce/StoreHomePage.d.ts +25 -0
  422. package/dist/types/components/lib/templates/ecommerce/StoreLayout.d.ts +41 -0
  423. package/dist/types/components/lib/templates/ecommerce/StoreProductPage.d.ts +28 -0
  424. package/dist/types/components/lib/templates/ecommerce/data.d.ts +49 -0
  425. package/dist/types/components/lib/templates/ecommerce/index.d.ts +7 -0
  426. package/dist/types/components/lib/templates/ecommerce-editorial/EditorialBagPage.d.ts +25 -0
  427. package/dist/types/components/lib/templates/ecommerce-editorial/EditorialCheckoutPage.d.ts +25 -0
  428. package/dist/types/components/lib/templates/ecommerce-editorial/EditorialHomePage.d.ts +25 -0
  429. package/dist/types/components/lib/templates/ecommerce-editorial/EditorialLayout.d.ts +36 -0
  430. package/dist/types/components/lib/templates/ecommerce-editorial/EditorialProductPage.d.ts +29 -0
  431. package/dist/types/components/lib/templates/ecommerce-editorial/EditorialShopPage.d.ts +28 -0
  432. package/dist/types/components/lib/templates/ecommerce-editorial/data.d.ts +50 -0
  433. package/dist/types/components/lib/templates/ecommerce-editorial/index.d.ts +8 -0
  434. package/dist/types/components/lib/templates/saas-hotel/AppLayout.d.ts +30 -0
  435. package/dist/types/components/lib/templates/saas-hotel/DashboardPage.d.ts +20 -0
  436. package/dist/types/components/lib/templates/saas-hotel/GuestsPage.d.ts +20 -0
  437. package/dist/types/components/lib/templates/saas-hotel/LandingPage.d.ts +24 -0
  438. package/dist/types/components/lib/templates/saas-hotel/ReportsPage.d.ts +20 -0
  439. package/dist/types/components/lib/templates/saas-hotel/ReservationsPage.d.ts +20 -0
  440. package/dist/types/components/lib/templates/saas-hotel/RoomsPage.d.ts +20 -0
  441. package/dist/types/components/lib/templates/saas-hotel/SettingsPage.d.ts +21 -0
  442. package/dist/types/components/lib/templates/saas-hotel/SignInPage.d.ts +23 -0
  443. package/dist/types/components/lib/templates/saas-hotel/data.d.ts +224 -0
  444. package/dist/types/components/lib/templates/saas-hotel/index.d.ts +11 -0
  445. package/dist/types/components/lib/typography/AnimatedCounterText.d.ts +19 -0
  446. package/dist/types/components/lib/typography/AnimatedUnderlineLink.d.ts +9 -0
  447. package/dist/types/components/lib/typography/BackgroundClipMask.d.ts +8 -0
  448. package/dist/types/components/lib/typography/CodeInlineGlass.d.ts +8 -0
  449. package/dist/types/components/lib/typography/CurvedPathHeading.d.ts +15 -0
  450. package/dist/types/components/lib/typography/CyberpunkGlitchText.d.ts +7 -0
  451. package/dist/types/components/lib/typography/DropCapParagraph.d.ts +8 -0
  452. package/dist/types/components/lib/typography/FadedVerticalText.d.ts +8 -0
  453. package/dist/types/components/lib/typography/FloatingTextLabel.d.ts +8 -0
  454. package/dist/types/components/lib/typography/GlassBlockQuote.d.ts +8 -0
  455. package/dist/types/components/lib/typography/GlassTextReveal.d.ts +8 -0
  456. package/dist/types/components/lib/typography/GradientHeading.d.ts +11 -0
  457. package/dist/types/components/lib/typography/GradientTextMarquee.d.ts +15 -0
  458. package/dist/types/components/lib/typography/GradientUnderlineLink.d.ts +8 -0
  459. package/dist/types/components/lib/typography/HackerDecodeText.d.ts +15 -0
  460. package/dist/types/components/lib/typography/KbdIndicator.d.ts +8 -0
  461. package/dist/types/components/lib/typography/LetterSpacingWide.d.ts +8 -0
  462. package/dist/types/components/lib/typography/MinimalListMarkers.d.ts +8 -0
  463. package/dist/types/components/lib/typography/MonospaceStatLine.d.ts +8 -0
  464. package/dist/types/components/lib/typography/NeonTextHighlight.d.ts +8 -0
  465. package/dist/types/components/lib/typography/ShadowRevealText.d.ts +8 -0
  466. package/dist/types/components/lib/typography/StrokeHeadingOutline.d.ts +8 -0
  467. package/dist/types/components/lib/typography/Text3DLayer.d.ts +8 -0
  468. package/dist/types/components/lib/typography/TypewriterText.d.ts +8 -0
  469. package/dist/types/components/lib/typography/index.d.ts +24 -0
  470. package/dist/types/components/three.d.ts +1 -0
  471. package/dist/typography.js +28 -0
  472. package/package.json +237 -4
@@ -0,0 +1,540 @@
1
+ "use client";
2
+ import { jsx as t, Fragment as c, jsxs as a } from "react/jsx-runtime";
3
+ import { useRef as R, useEffect as x } from "react";
4
+ /* empty css */
5
+ import { A as G, a as W, c as F, P as h, b as O, R as U, D as T, H as $, G as q, S as w, e as v, T as z, d as J } from "../chunks/AuthCard-BkWHMFho.js";
6
+ import { H as V, L as Y, a as K, b as j, S as Q, P as Z, T as X, F as ee } from "../chunks/LogoWallGrid-BEpsn1Gt.js";
7
+ import { F as te } from "../chunks/FooterMegaSection-DG1qtKuZ.js";
8
+ import { K as f, a as ae, H as ie } from "../chunks/StackedAreaChart-DF1-3rDG.js";
9
+ import { G as re, P as ne, b as oe, S as L, F as se, H as le, a as ce, M as de } from "../chunks/SegmentedBarChart-DEBZURnS.js";
10
+ import { S as ue } from "../chunks/StatusTimelineFeed-BRYwz08g.js";
11
+ import { A as k, M as S } from "../chunks/AnimatedInput-Dt37HZSs.js";
12
+ const u = {
13
+ landing: "/",
14
+ signIn: "/sign-in/",
15
+ dashboard: "/app/",
16
+ reservations: "/app/reservations/",
17
+ rooms: "/app/rooms/",
18
+ guests: "/app/guests/",
19
+ reports: "/app/reports/",
20
+ settings: "/app/settings/"
21
+ }, C = [
22
+ ["Elena Duarte", "Spain"],
23
+ ["James Whitfield", "UK"],
24
+ ["Aiko Tanaka", "Japan"],
25
+ ["Marco Bellini", "Italy"],
26
+ ["Sofía Ramos", "Mexico"],
27
+ ["Hans Müller", "Germany"],
28
+ ["Priya Nair", "India"],
29
+ ["The Okafor family", "Nigeria"],
30
+ ["Chloé Martin", "France"],
31
+ ["Tom Becker", "Austria"],
32
+ ["Ana Costa", "Portugal"],
33
+ ["Liam O’Connor", "Ireland"],
34
+ ["Mei Chen", "Singapore"],
35
+ ["Lucas Silva", "Brazil"],
36
+ ["Nora Lindqvist", "Sweden"],
37
+ ["David Cohen", "USA"]
38
+ ], D = ["Direct", "Booking.com", "Expedia", "Airbnb", "Direct", "Booking.com"], me = { Standard: 118, Deluxe: 176, Suite: 312 }, P = [
39
+ ...["101", "102", "103", "104", "105", "106"].map((e) => ({ id: e, name: e, type: "Standard", floor: "Floor 1" })),
40
+ ...["201", "202", "203", "204", "205", "206"].map((e) => ({ id: e, name: e, type: "Deluxe", floor: "Floor 2" })),
41
+ ...["301", "302", "303", "304"].map((e) => ({ id: e, name: e, type: "Suite", floor: "Floor 3" }))
42
+ ];
43
+ function he(e, r) {
44
+ const n = /* @__PURE__ */ new Date();
45
+ n.setUTCHours(0, 0, 0, 0), n.setUTCDate(n.getUTCDate() - 1);
46
+ const i = new Intl.DateTimeFormat(r, { weekday: "short", day: "numeric", timeZone: "UTC" }), o = [], s = [];
47
+ for (let l = 0; l < e; l++) {
48
+ const d = new Date(n);
49
+ d.setUTCDate(n.getUTCDate() + l), o.push(i.format(d).replace(",", "")), s.push(d.toISOString().slice(0, 10));
50
+ }
51
+ return { labels: o, iso: s };
52
+ }
53
+ const M = "en-GB", y = he(14, M), be = [
54
+ ["101", 0, 3, "checked-in"],
55
+ ["101", 4, 2, "confirmed"],
56
+ ["101", 8, 4, "pending"],
57
+ ["102", 1, 5, "confirmed"],
58
+ ["102", 7, 3, "confirmed"],
59
+ ["103", 0, 2, "checked-in"],
60
+ ["103", 3, 6, "confirmed"],
61
+ ["104", 2, 2, "blocked"],
62
+ ["104", 5, 4, "confirmed"],
63
+ ["105", 0, 4, "checked-in"],
64
+ ["105", 6, 3, "pending"],
65
+ ["105", 10, 3, "confirmed"],
66
+ ["106", 1, 2, "confirmed"],
67
+ ["106", 4, 5, "confirmed"],
68
+ ["201", 0, 6, "checked-in"],
69
+ ["201", 7, 2, "confirmed"],
70
+ ["202", 2, 3, "confirmed"],
71
+ ["202", 6, 5, "pending"],
72
+ ["203", 0, 1, "checked-in"],
73
+ ["203", 3, 4, "confirmed"],
74
+ ["203", 9, 3, "confirmed"],
75
+ ["204", 1, 3, "confirmed"],
76
+ ["204", 5, 2, "blocked"],
77
+ ["205", 0, 3, "checked-in"],
78
+ ["205", 4, 4, "confirmed"],
79
+ ["206", 2, 6, "confirmed"],
80
+ ["301", 1, 6, "confirmed"],
81
+ ["301", 9, 3, "pending"],
82
+ ["302", 0, 2, "checked-in"],
83
+ ["302", 4, 4, "confirmed"],
84
+ ["303", 3, 3, "confirmed"],
85
+ ["304", 0, 5, "checked-in"],
86
+ ["304", 8, 4, "confirmed"]
87
+ ], A = be.map(([e, r, n, i], o) => {
88
+ const [s] = C[o % C.length];
89
+ return { room: e, guest: i === "blocked" ? "Maintenance" : s, start: r, nights: n, status: i, ref: i === "blocked" ? void 0 : `MR-${2810 + o}`, channel: i === "blocked" ? void 0 : D[o % D.length] };
90
+ }), pe = (e, r) => e === "checked-in" ? "Checked in" : e === "pending" ? "Pending" : r % 9 === 4 ? "Cancelled" : "Confirmed", ge = A.filter((e) => e.status !== "blocked").map((e, r) => {
91
+ const n = P.find((o) => o.id === e.room), i = pe(e.status, r);
92
+ return {
93
+ ref: e.ref,
94
+ guest: { name: e.guest, sub: e.channel },
95
+ room: `${n.name} · ${n.type}`,
96
+ checkIn: y.iso[e.start],
97
+ nights: e.nights,
98
+ status: i,
99
+ total: i === "Cancelled" ? 0 : e.nights * me[n.type]
100
+ };
101
+ }), fe = P.map((e, r) => {
102
+ const n = A.find((s) => s.room === e.id && s.status === "checked-in"), i = ["clean", "dirty", "inspecting", "clean", "dirty"];
103
+ if (e.id === "104") return { number: e.name, floor: e.floor, type: e.type, status: "ooo", note: "Plumbing repair" };
104
+ if (n) return { number: e.name, floor: e.floor, type: e.type, status: "occupied", guest: n.guest.split(" ").slice(-1)[0] };
105
+ const o = i[r % i.length];
106
+ return { number: e.name, floor: e.floor, type: e.type, status: o, assignee: o !== "clean" ? ["Rosa", "Luis", "Inés"][r % 3] : void 0 };
107
+ }), ye = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], m = {
108
+ product: "Lobby",
109
+ workspace: { name: "Hotel Mirador", plan: "Pro plan", initials: "HM" },
110
+ user: { name: "Lucía Ortega", role: "General manager", email: "lucia@mirador.com" },
111
+ currency: "EUR",
112
+ locale: M,
113
+ days: y.labels,
114
+ rooms: P,
115
+ bookings: A,
116
+ reservations: ge,
117
+ housekeeping: fe,
118
+ kpis: [
119
+ { label: "Occupancy", value: "84%", change: 6.2, trend: [62, 66, 70, 68, 74, 78, 80, 84] },
120
+ { label: "ADR", value: "€168", change: 3.4, trend: [150, 152, 158, 155, 160, 162, 165, 168] },
121
+ { label: "RevPAR", value: "€141", change: 9.1, trend: [98, 104, 110, 106, 118, 124, 132, 141] },
122
+ { label: "Cancellations", value: "3.1%", change: -1.2, invert: !0, trend: [5, 4.6, 4.8, 4.1, 3.9, 3.6, 3.4, 3.1] }
123
+ ],
124
+ revenue: {
125
+ categories: ["W1", "W2", "W3", "W4", "W5", "W6", "W7", "W8", "W9", "W10", "W11", "W12"],
126
+ series: [
127
+ { name: "Rooms", data: [38, 41, 39, 44, 47, 52, 49, 55, 58, 61, 57, 64] },
128
+ { name: "F&B", data: [9, 10, 9, 11, 12, 13, 12, 14, 15, 16, 15, 17] },
129
+ { name: "Spa & extras", data: [4, 4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 9] }
130
+ ]
131
+ },
132
+ occupancyByType: {
133
+ categories: ye.slice(4, 11),
134
+ series: [
135
+ { name: "Standard", data: [72, 78, 88, 91, 84, 76, 81] },
136
+ { name: "Deluxe", data: [64, 71, 85, 89, 79, 70, 77] },
137
+ { name: "Suite", data: [48, 55, 74, 80, 66, 58, 63] }
138
+ ]
139
+ },
140
+ channels: [
141
+ { label: "Direct", value: 38 },
142
+ { label: "Booking.com", value: 31 },
143
+ { label: "Expedia", value: 17 },
144
+ { label: "Airbnb", value: 9 },
145
+ { label: "Corporate", value: 5 }
146
+ ],
147
+ forecast: {
148
+ categories: ["Oct 28", "Oct 31", "Nov 3", "Nov 6", "Nov 9", "Nov 12", "Nov 15", "Nov 18", "Nov 21", "Nov 24"],
149
+ actual: [71, 74, 80, 84],
150
+ forecast: [84, 82, 79, 86, 91, 88, 76, 72]
151
+ },
152
+ pace: {
153
+ rows: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
154
+ columns: ["0–7d", "8–14d", "15–30d", "31–60d", "61–90d", "90d+"],
155
+ values: [
156
+ [12, 9, 14, 8, 4, 2],
157
+ [10, 8, 12, 7, 3, 2],
158
+ [11, 10, 13, 9, 4, 3],
159
+ [14, 12, 15, 10, 6, 3],
160
+ [22, 18, 20, 14, 9, 5],
161
+ [26, 21, 22, 16, 10, 6],
162
+ [15, 11, 12, 8, 5, 3]
163
+ ]
164
+ },
165
+ funnel: [
166
+ { label: "Website visits", value: 18400 },
167
+ { label: "Searched dates", value: 7350 },
168
+ { label: "Viewed rooms", value: 3920 },
169
+ { label: "Started booking", value: 1180 },
170
+ { label: "Booked", value: 612 }
171
+ ],
172
+ segments: [
173
+ { label: "Leisure", value: 46 },
174
+ { label: "Business", value: 28 },
175
+ { label: "Groups", value: 14 },
176
+ { label: "Long stay", value: 12 }
177
+ ],
178
+ arrivals: [
179
+ { guest: "Elena Duarte", room: "204", time: "14:00", nights: 3, vip: !0, note: "Anniversary, late arrival" },
180
+ { guest: "Aiko Tanaka", room: "102", time: "15:30", nights: 5 },
181
+ { guest: "The Okafor family", room: "301", time: "16:00", nights: 6, note: "Baby cot", done: !0 },
182
+ { guest: "David Cohen", room: "106", time: "18:45", nights: 2 }
183
+ ],
184
+ departures: [
185
+ { guest: "Hans Müller", room: "203", time: "11:00", balance: "€0", done: !0 },
186
+ { guest: "Priya Nair", room: "302", time: "12:00", balance: "€48" },
187
+ { guest: "Lucas Silva", room: "105", time: "12:00", balance: "€0" }
188
+ ],
189
+ inHouse: [
190
+ { guest: "James Whitfield", room: "201", until: y.labels[6] },
191
+ { guest: "Mei Chen", room: "304", until: y.labels[5] },
192
+ { guest: "Nora Lindqvist", room: "205", until: y.labels[3] }
193
+ ],
194
+ activity: [
195
+ { title: "Check-in completed", desc: "The Okafor family · Suite 301", time: "09:42", status: "done" },
196
+ { title: "Payment captured", desc: "MR-2840 · €890 · Visa", time: "09:15", status: "done" },
197
+ { title: "Room 104 out of order", desc: "Plumbing — technician on site", time: "08:50", status: "active" },
198
+ { title: "Rate update pushed", desc: "Weekend +8% on all channels", time: "08:05", status: "pending" }
199
+ ],
200
+ notifications: [
201
+ { title: "New booking from Booking.com", text: "Deluxe King · 3 nights · €528", time: "2 min ago", unread: !0, tone: "success" },
202
+ { title: "Room 104 out of order", text: "Plumbing repair scheduled", time: "1 h ago", unread: !0, tone: "warning" },
203
+ { title: "Weekly report ready", text: "Occupancy up 6.2% vs last week", time: "Yesterday", tone: "info" }
204
+ ],
205
+ guests: C.slice(0, 12).map(([e, r], n) => ({
206
+ guest: { name: e, sub: `${e.toLowerCase().replace(/[^a-z]+/g, ".").replace(/^\.|\.$/g, "")}@mail.com` },
207
+ country: r,
208
+ stays: [7, 3, 1, 2, 4, 9, 1, 2, 5, 1, 3, 6][n],
209
+ spend: [4820, 2140, 476, 980, 1730, 6120, 290, 1880, 2410, 340, 1290, 3980][n],
210
+ tier: ["Gold", "Silver", "Member", "Member", "Silver", "Platinum", "Member", "Silver", "Gold", "Member", "Silver", "Gold"][n],
211
+ tags: [["VIP", "Anniversary"], ["Business"], ["First stay"], ["Repeat"], ["Spa"], ["VIP", "Long stay"], [], ["Family"], ["Business"], [], ["Repeat"], ["VIP"]][n]
212
+ })),
213
+ team: [
214
+ { name: "Lucía Ortega", email: "lucia@mirador.com", role: "Owner", status: "active", you: !0 },
215
+ { name: "Daniel Kim", email: "daniel@mirador.com", role: "Manager", status: "active" },
216
+ { name: "Rosa Jiménez", email: "rosa@mirador.com", role: "Housekeeping", status: "active" },
217
+ { name: "Omar Haddad", email: "omar@mirador.com", role: "Front desk", status: "invited" }
218
+ ]
219
+ };
220
+ function b({
221
+ title: e,
222
+ description: r,
223
+ current: n = "dashboard",
224
+ data: i = m,
225
+ routes: o = u,
226
+ theme: s = "light",
227
+ noindex: l = !0,
228
+ lang: d = "en",
229
+ children: E
230
+ }) {
231
+ const B = i.reservations.filter((p) => p.status === "Pending").length, I = i.housekeeping.filter((p) => p.status === "dirty").length, H = [
232
+ { items: [
233
+ { label: "Dashboard", href: o.dashboard, icon: "dashboard" },
234
+ { label: "Reservations", href: o.reservations, icon: "calendar", badge: B || void 0 },
235
+ { label: "Rooms", href: o.rooms, icon: "bed", badge: I || void 0 },
236
+ { label: "Guests", href: o.guests, icon: "users" }
237
+ ] },
238
+ { label: "Insights", items: [{ label: "Reports", href: o.reports, icon: "chart" }] },
239
+ { label: "Workspace", items: [{ label: "Settings", href: o.settings, icon: "settings" }] }
240
+ ], _ = o[n], N = R(!1);
241
+ return x(() => {
242
+ if (N.current) return;
243
+ N.current = !0, document.documentElement.hasAttribute("lang") || document.documentElement.setAttribute("lang", String(d)), document.documentElement.classList.add(..."theme-lobby".split(/\s+/).filter(Boolean)), document.documentElement.hasAttribute("data-theme") || document.documentElement.setAttribute("data-theme", String(s === "auto" ? "light" : s)), document.body.classList.add(..."lobby".split(/\s+/).filter(Boolean));
244
+ const { initial: p } = { initial: s };
245
+ (function() {
246
+ var g = p;
247
+ try {
248
+ g = localStorage.getItem("ack-theme") || g;
249
+ } catch {
250
+ }
251
+ g === "auto" && (g = matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"), document.documentElement.dataset.theme = g;
252
+ })();
253
+ }, []), /* @__PURE__ */ t(c, { children: /* @__PURE__ */ a(c, { children: [
254
+ /* @__PURE__ */ a(c, { children: [
255
+ /* @__PURE__ */ t("title", { children: `${e} · ${i.workspace.name} — ${i.product}` }),
256
+ r && /* @__PURE__ */ t("meta", { name: "description", content: r }),
257
+ l && /* @__PURE__ */ t("meta", { name: "robots", content: "noindex, follow" })
258
+ ] }),
259
+ /* @__PURE__ */ a(c, { children: [
260
+ /* @__PURE__ */ t("a", { className: "lobby__skip", href: "#main", children: "Skip to content" }),
261
+ /* @__PURE__ */ a("div", { className: "lobby__shell", children: [
262
+ /* @__PURE__ */ t(G, { workspace: i.workspace, groups: H, currentHref: _, promo: { title: "Channel manager", text: "4 of 5 channels in sync", href: o.settings, cta: "Connect Airbnb", progress: 80 } }),
263
+ /* @__PURE__ */ a("div", { className: "lobby__main", children: [
264
+ /* @__PURE__ */ t(W, { notifications: i.notifications, user: i.user, userLinks: [{ label: "Your profile", href: o.settings }, { label: "Team & billing", href: `${o.settings}#team` }], signOutHref: o.signIn }),
265
+ /* @__PURE__ */ t("main", { id: "main", className: "lobby__content", tabIndex: -1, children: E })
266
+ ] })
267
+ ] })
268
+ ] })
269
+ ] }) });
270
+ }
271
+ function Te({ routes: e = u, theme: r = "light", noindex: n = !1 }) {
272
+ const i = R(!1);
273
+ return x(() => {
274
+ var s;
275
+ if (i.current) return;
276
+ i.current = !0, document.documentElement.hasAttribute("lang") || document.documentElement.setAttribute("lang", "en"), document.documentElement.classList.add(..."theme-lobby".split(/\s+/).filter(Boolean)), document.documentElement.hasAttribute("data-theme") || document.documentElement.setAttribute("data-theme", String(r === "auto" ? "light" : r)), document.body.classList.add(..."lobby lobby--site".split(/\s+/).filter(Boolean));
277
+ const { initial: o } = { initial: r };
278
+ (function() {
279
+ var l = o;
280
+ try {
281
+ l = localStorage.getItem("ack-theme") || l;
282
+ } catch {
283
+ }
284
+ l === "auto" && (l = matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"), document.documentElement.dataset.theme = l;
285
+ })(), (s = document.querySelector("[data-site-theme]")) == null || s.addEventListener("click", () => {
286
+ const l = document.documentElement, d = l.dataset.theme === "light" ? "dark" : "light";
287
+ l.dataset.theme = d;
288
+ try {
289
+ window.localStorage.setItem("ack-theme", d);
290
+ } catch {
291
+ }
292
+ });
293
+ }, []), /* @__PURE__ */ t(c, { children: /* @__PURE__ */ a(c, { children: [
294
+ /* @__PURE__ */ a(c, { children: [
295
+ /* @__PURE__ */ t("title", { "data-rk-757ecd": "", children: "Lobby — the operating system for independent hotels" }),
296
+ /* @__PURE__ */ t("meta", { name: "description", content: "Reservations, housekeeping, guest CRM and revenue reports in one calm workspace. Built for independent hotels.", "data-rk-757ecd": "" }),
297
+ n && /* @__PURE__ */ t("meta", { name: "robots", content: "noindex, follow", "data-rk-757ecd": "" })
298
+ ] }),
299
+ /* @__PURE__ */ a(c, { children: [
300
+ /* @__PURE__ */ t("a", { className: "lobby__skip", href: "#main", "data-rk-757ecd": "", children: "Skip to content" }),
301
+ /* @__PURE__ */ t("header", { className: "site-nav", "data-rk-757ecd": "", children: /* @__PURE__ */ a("div", { className: "site-nav__inner", "data-rk-757ecd": "", children: [
302
+ /* @__PURE__ */ a("a", { className: "site-nav__brand", href: e.landing, "data-rk-757ecd": "", children: [
303
+ /* @__PURE__ */ t("span", { "aria-hidden": "true", "data-rk-757ecd": "", children: "L" }),
304
+ "Lobby"
305
+ ] }),
306
+ /* @__PURE__ */ t("nav", { "aria-label": "Main", "data-rk-757ecd": "", children: /* @__PURE__ */ a("ul", { "data-rk-757ecd": "", children: [
307
+ /* @__PURE__ */ t("li", { "data-rk-757ecd": "", children: /* @__PURE__ */ t("a", { href: "#features", "data-rk-757ecd": "", children: "Product" }) }),
308
+ /* @__PURE__ */ t("li", { "data-rk-757ecd": "", children: /* @__PURE__ */ t("a", { href: "#how", "data-rk-757ecd": "", children: "How it works" }) }),
309
+ /* @__PURE__ */ t("li", { "data-rk-757ecd": "", children: /* @__PURE__ */ t("a", { href: "#pricing", "data-rk-757ecd": "", children: "Pricing" }) }),
310
+ /* @__PURE__ */ t("li", { "data-rk-757ecd": "", children: /* @__PURE__ */ t("a", { href: "#faq", "data-rk-757ecd": "", children: "FAQ" }) })
311
+ ] }) }),
312
+ /* @__PURE__ */ a("div", { className: "site-nav__cta", "data-rk-757ecd": "", children: [
313
+ /* @__PURE__ */ t("button", { type: "button", className: "site-nav__theme", "aria-label": "Switch theme", "data-site-theme": !0, "data-rk-757ecd": "", children: /* @__PURE__ */ a("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": "true", "data-rk-757ecd": "", children: [
314
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "8", "data-rk-757ecd": "" }),
315
+ /* @__PURE__ */ t("path", { d: "M12 4a8 8 0 0 1 0 16z", fill: "currentColor", "data-rk-757ecd": "" })
316
+ ] }) }),
317
+ /* @__PURE__ */ t("a", { className: "site-nav__link", href: e.signIn, "data-rk-757ecd": "", children: "Sign in" }),
318
+ /* @__PURE__ */ t("a", { className: "site-nav__btn", href: e.dashboard, "data-rk-757ecd": "", children: "Open demo" })
319
+ ] })
320
+ ] }) }),
321
+ /* @__PURE__ */ a("main", { id: "main", tabIndex: -1, "data-rk-757ecd": "", children: [
322
+ /* @__PURE__ */ t(V, { badge: "New · AI rate suggestions", title: "The calm way to run an independent hotel", subtitle: "Reservations, housekeeping, guest profiles and revenue reports in one workspace your whole team will actually enjoy using.", primary: { label: "Start free trial", href: e.signIn }, secondary: { label: "Explore the demo", href: e.dashboard }, variant: "browser", "data-rk-757ecd": "" }),
323
+ /* @__PURE__ */ t(Y, { title: "Trusted by 2,400+ independent hotels", columns: 6, variant: "plain", logos: [{ name: "Casa Mirador" }, { name: "Hotel Alba" }, { name: "The Linden" }, { name: "Nordlys Inn" }, { name: "Villa Sole" }, { name: "Harbour House" }] }),
324
+ /* @__PURE__ */ t("div", { id: "features", "data-rk-757ecd": "", children: /* @__PURE__ */ t(K, { eyebrow: "Everything in one place", title: "Built for the front desk, loved by the back office", subtitle: "Replace spreadsheets, sticky notes and three logins with one fast, accessible workspace.", columns: 3, features: [
325
+ { icon: "layers", title: "Room rack", text: "Drag-free tape chart for the next 90 days with live occupancy per night." },
326
+ { icon: "users", title: "Guest CRM", text: "Preferences, stays and notes follow every guest — across every channel." },
327
+ { icon: "sparkles", title: "Housekeeping board", text: "Clean, dirty, inspecting: rooms update in real time on any device." },
328
+ { icon: "chart", title: "Revenue reports", text: "Forecasts, booking pace and channel mix without exporting a single CSV." },
329
+ { icon: "globe", title: "Channel manager", text: "Booking.com, Expedia and Airbnb in sync — no more overbookings." },
330
+ { icon: "shield", title: "Secure by default", text: "Role-based access, audit log and PCI-compliant payments." }
331
+ ] }) }),
332
+ /* @__PURE__ */ t("div", { id: "how", "data-rk-757ecd": "", children: /* @__PURE__ */ t(j, { eyebrow: "Up and running in a day", title: "From signup to first check-in", steps: [
333
+ { title: "Import your rooms", text: "Upload your room list or connect your current PMS — we map types and rates for you.", time: "10 min" },
334
+ { title: "Connect your channels", text: "Link Booking.com, Expedia and your website booking engine in a few clicks.", time: "20 min" },
335
+ { title: "Invite your team", text: "Give front desk, housekeeping and managers exactly the access they need.", time: "5 min" }
336
+ ], cta: { label: "Start your free trial", href: e.signIn } }) }),
337
+ /* @__PURE__ */ t(Q, { title: "What hotels see after three months", stats: [
338
+ { value: 9, prefix: "+", suffix: "%", label: "occupancy" },
339
+ { value: 38, suffix: "%", label: "less admin time" },
340
+ { value: 2.4, prefix: "+€", suffix: "k", decimals: 1, label: "direct revenue / month" },
341
+ { value: 4.9, suffix: "/5", decimals: 1, label: "support rating" }
342
+ ] }),
343
+ /* @__PURE__ */ t("div", { id: "pricing", "data-rk-757ecd": "", children: /* @__PURE__ */ t(Z, { title: "Simple pricing, per property", subtitle: "All plans include unlimited reservations, guest profiles and support in your language.", currency: "€", plans: [
344
+ { name: "Starter", monthly: 69, yearly: 55, description: "Up to 15 rooms", features: ["Room rack & reservations", "Housekeeping board", "Guest CRM", "2 channels"], cta: "Start free", href: e.signIn },
345
+ { name: "Pro", monthly: 149, yearly: 119, description: "Up to 50 rooms", features: ["Everything in Starter", "Revenue reports", "5 channels", "Team roles & audit log"], cta: "Start free trial", href: e.signIn, featured: !0 },
346
+ { name: "Business", monthly: 299, yearly: 239, description: "Unlimited rooms", features: ["Everything in Pro", "Multi-property", "API & webhooks", "Dedicated success manager"], cta: "Talk to sales", href: "#" }
347
+ ] }) }),
348
+ /* @__PURE__ */ t(X, { title: "Hoteliers on Lobby", items: [
349
+ { quote: "We replaced three tools with Lobby. Check-in takes half the time and occupancy is up 9% this season.", name: "Lucía Ortega", role: "GM, Hotel Mirador", rating: 5 },
350
+ { quote: "Housekeeping finally knows which rooms to prioritise. No more radio calls.", name: "Rosa Jiménez", role: "Head of housekeeping, Casa Alba", rating: 5 },
351
+ { quote: "The reports alone paid for the subscription in the first month.", name: "Daniel Kim", role: "Revenue manager, The Linden", rating: 5 }
352
+ ] }),
353
+ /* @__PURE__ */ t("div", { id: "faq", "data-rk-757ecd": "", children: /* @__PURE__ */ t(ee, { title: "Questions, answered", subtitle: "Can’t find what you need? Our team replies in under 2 hours.", support: { label: "Contact support", href: "#" }, items: [
354
+ { q: "Can I migrate from my current PMS?", a: "Yes. We import rooms, rates, future reservations and guest profiles from the most common systems at no cost." },
355
+ { q: "Do you charge per booking?", a: "No commissions, ever. You pay a flat monthly price per property." },
356
+ { q: "Does it work on tablets and phones?", a: "Every screen is responsive and accessible, so housekeeping can update rooms from any device." },
357
+ { q: "Is my data safe?", a: "Data is encrypted at rest and in transit, hosted in the EU, with daily backups and role-based access." }
358
+ ] }) })
359
+ ] }),
360
+ /* @__PURE__ */ t(te, { brand: "Lobby", tagline: "The calm operating system for independent hotels.", columns: [
361
+ { title: "Product", links: [{ label: "Room rack", href: "#features" }, { label: "Housekeeping", href: "#features" }, { label: "Reports", href: "#features" }, { label: "Pricing", href: "#pricing" }] },
362
+ { title: "Company", links: [{ label: "About", href: "#" }, { label: "Careers", href: "#" }, { label: "Contact", href: "#" }] },
363
+ { title: "Resources", links: [{ label: "Help center", href: "#" }, { label: "API docs", href: "#" }, { label: "Status", href: "#" }] },
364
+ { title: "Legal", links: [{ label: "Privacy", href: "#" }, { label: "Terms", href: "#" }, { label: "DPA", href: "#" }] }
365
+ ], copyright: `© ${(/* @__PURE__ */ new Date()).getFullYear()} Lobby. Demo template built with React Components Kit.` })
366
+ ] })
367
+ ] }) });
368
+ }
369
+ function Le({ mode: e = "signin", routes: r = u, theme: n = "light", noindex: i = !0 }) {
370
+ const o = R(!1);
371
+ return x(() => {
372
+ if (o.current) return;
373
+ o.current = !0, document.documentElement.hasAttribute("lang") || document.documentElement.setAttribute("lang", "en"), document.documentElement.classList.add(..."theme-lobby".split(/\s+/).filter(Boolean)), document.documentElement.hasAttribute("data-theme") || document.documentElement.setAttribute("data-theme", String(n === "auto" ? "light" : n)), document.body.classList.add(..."lobby".split(/\s+/).filter(Boolean));
374
+ const { initial: s } = { initial: n };
375
+ (function() {
376
+ var l = s;
377
+ try {
378
+ l = localStorage.getItem("ack-theme") || l;
379
+ } catch {
380
+ }
381
+ l === "auto" && (l = matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"), document.documentElement.dataset.theme = l;
382
+ })();
383
+ }, []), /* @__PURE__ */ t(c, { children: /* @__PURE__ */ a(c, { children: [
384
+ /* @__PURE__ */ a(c, { children: [
385
+ /* @__PURE__ */ a("title", { children: [
386
+ e === "signin" ? "Sign in" : "Start your free trial",
387
+ " — Lobby"
388
+ ] }),
389
+ i && /* @__PURE__ */ t("meta", { name: "robots", content: "noindex, follow" })
390
+ ] }),
391
+ /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t("main", { children: /* @__PURE__ */ t(F, { mode: e, brand: "Lobby", successHref: r.dashboard, switchHref: r.landing }) }) })
392
+ ] }) });
393
+ }
394
+ function Me({ data: e = m, routes: r = u, theme: n = "light" }) {
395
+ const i = e.housekeeping.filter((s) => s.status === "occupied").length + e.arrivals.length, o = Math.min(100, Math.round(i / e.rooms.length * 100));
396
+ return /* @__PURE__ */ t(c, { children: /* @__PURE__ */ a(b, { title: "Dashboard", description: "Hotel performance at a glance", current: "dashboard", data: e, routes: r, theme: n, children: [
397
+ /* @__PURE__ */ t(h, { title: "Dashboard", description: `Good morning, ${e.user.name.split(" ")[0]} — here is what is happening at ${e.workspace.name} today.`, actions: [{ label: "Export", icon: "download" }, { label: "New booking", icon: "plus", primary: !0, href: r.reservations }], periods: ["Today", "7 days", "30 days", "Year"], activePeriod: 2 }),
398
+ /* @__PURE__ */ t("div", { className: "lobby-grid lobby-grid--kpis", children: e.kpis.map((s, l) => /* @__PURE__ */ t(f, { label: s.label, value: s.value, change: s.change, invert: s.invert, trend: s.trend, period: "vs last month", variant: "solid" }, l)) }),
399
+ /* @__PURE__ */ a("div", { className: "lobby-grid lobby-grid--2-1", children: [
400
+ /* @__PURE__ */ t(ae, { title: "Revenue by department", subtitle: "Weekly, in € thousands", categories: e.revenue.categories, series: e.revenue.series, prefix: "€", suffix: "k", variant: "solid", height: 260 }),
401
+ /* @__PURE__ */ t(re, { prefix: "", title: "Tonight", subtitle: `${i} of ${e.rooms.length} rooms sold`, value: o, max: 100, label: "Occupancy", suffix: "%", variant: "solid" })
402
+ ] }),
403
+ /* @__PURE__ */ a("div", { className: "lobby-grid lobby-grid--1-1", children: [
404
+ /* @__PURE__ */ t(O, { arrivals: e.arrivals, departures: e.departures, inHouse: e.inHouse }),
405
+ /* @__PURE__ */ t(ne, { prefix: "", title: "Bookings by channel", subtitle: "Share of room nights, last 30 days", slices: e.channels, donut: !0, centerLabel: "Direct 38%", suffix: "%", variant: "solid" })
406
+ ] }),
407
+ /* @__PURE__ */ a("div", { className: "lobby-grid lobby-grid--2-1", children: [
408
+ /* @__PURE__ */ t(oe, { prefix: "", title: "Occupancy by room type", subtitle: "May – Nov", categories: e.occupancyByType.categories, series: e.occupancyByType.series, suffix: "%", variant: "solid", height: 240 }),
409
+ /* @__PURE__ */ a("section", { className: "lobby-card", "aria-labelledby": "activity-title", children: [
410
+ /* @__PURE__ */ t("h2", { id: "activity-title", className: "lobby-card__title", children: "Live activity" }),
411
+ /* @__PURE__ */ t(ue, { events: e.activity })
412
+ ] })
413
+ ] })
414
+ ] }) });
415
+ }
416
+ function Ee({ data: e = m, routes: r = u, theme: n = "light" }) {
417
+ const i = (o) => e.reservations.filter((s) => s.status === o).length;
418
+ return /* @__PURE__ */ t(c, { children: /* @__PURE__ */ a(b, { title: "Reservations", current: "reservations", data: e, routes: r, theme: n, children: [
419
+ /* @__PURE__ */ t(h, { title: "Reservations", description: `${e.reservations.length} bookings in the next 14 days · ${i("Pending")} waiting for confirmation`, breadcrumb: [{ label: e.workspace.name, href: r.dashboard }, { label: "Reservations" }], actions: [{ label: "Import", icon: "download" }, { label: "New booking", icon: "plus", primary: !0 }], periods: [] }),
420
+ /* @__PURE__ */ t(U, { days: e.days, today: 1, rooms: e.rooms, bookings: e.bookings }),
421
+ /* @__PURE__ */ t(T, { id: "reservations", title: "All reservations", rows: e.reservations, searchPlaceholder: "Search guest, booking or room…", bulkActions: ["Send confirmation", "Export CSV", "Assign rooms"], pageSize: 8, currency: e.currency, locale: e.locale })
422
+ ] }) });
423
+ }
424
+ function Be({ data: e = m, routes: r = u, theme: n = "light" }) {
425
+ const i = (s) => e.housekeeping.filter((l) => l.status === s).length, o = Array.from(new Set(e.rooms.map((s) => s.type))).map((s) => ({ label: s, value: e.rooms.filter((l) => l.type === s).length }));
426
+ return /* @__PURE__ */ t(c, { children: /* @__PURE__ */ a(b, { title: "Rooms", current: "rooms", data: e, routes: r, theme: n, children: [
427
+ /* @__PURE__ */ t(h, { title: "Rooms & housekeeping", description: "Tap a dirty room to move it to inspection, then to clean.", breadcrumb: [{ label: e.workspace.name, href: r.dashboard }, { label: "Rooms" }], actions: [{ label: "Assign tasks", icon: "broom" }, { label: "Block room", icon: "door", primary: !0 }], periods: [] }),
428
+ /* @__PURE__ */ a("div", { className: "lobby-grid lobby-grid--kpis", children: [
429
+ /* @__PURE__ */ t(f, { label: "Ready to sell", value: String(i("clean")), change: 12, period: "vs yesterday", variant: "solid", size: "sm" }),
430
+ /* @__PURE__ */ t(f, { label: "To clean", value: String(i("dirty")), change: -8, invert: !0, period: "vs yesterday", variant: "solid", size: "sm" }),
431
+ /* @__PURE__ */ t(f, { label: "Occupied", value: String(i("occupied")), change: 4, period: "vs yesterday", variant: "solid", size: "sm" }),
432
+ /* @__PURE__ */ t(f, { label: "Out of order", value: String(i("ooo")), change: 0, invert: !0, period: "vs yesterday", variant: "solid", size: "sm" })
433
+ ] }),
434
+ /* @__PURE__ */ t(L, { title: "Inventory by room type", segments: o, total: `${e.rooms.length} rooms`, suffix: " rooms", variant: "solid" }),
435
+ /* @__PURE__ */ t($, { rooms: e.housekeeping, title: "Room board" })
436
+ ] }) });
437
+ }
438
+ function Ie({ data: e = m, routes: r = u, theme: n = "light" }) {
439
+ const i = e.guests[0];
440
+ return /* @__PURE__ */ t(c, { children: /* @__PURE__ */ a(b, { title: "Guests", current: "guests", data: e, routes: r, theme: n, children: [
441
+ /* @__PURE__ */ t(h, { title: "Guests", description: `${e.guests.length} profiles · ${e.guests.filter((o) => o.tier === "Gold" || o.tier === "Platinum").length} loyalty members`, breadcrumb: [{ label: e.workspace.name, href: r.dashboard }, { label: "Guests" }], actions: [{ label: "Export", icon: "download" }, { label: "Add guest", icon: "plus", primary: !0 }], periods: [] }),
442
+ /* @__PURE__ */ a("div", { className: "lobby-grid lobby-grid--2-1", children: [
443
+ /* @__PURE__ */ t(T, { id: "guests", title: "Guest directory", columns: [
444
+ { key: "guest", label: "Guest", type: "person", sortable: !0 },
445
+ { key: "country", label: "Country", sortable: !0 },
446
+ { key: "tier", label: "Tier", type: "status" },
447
+ { key: "stays", label: "Stays", type: "number", align: "right", sortable: !0 },
448
+ { key: "spend", label: "Lifetime", type: "money", align: "right", sortable: !0 },
449
+ { key: "tags", label: "Tags", type: "tags" }
450
+ ], rows: e.guests, statusTones: { Platinum: "info", Gold: "warning", Silver: "default", Member: "default" }, filterKey: "tier", bulkActions: ["Send offer", "Export"], searchPlaceholder: "Search guests…", pageSize: 8, currency: e.currency, locale: e.locale }),
451
+ /* @__PURE__ */ t(q, { guest: { name: i.guest.name, email: i.guest.sub, phone: "+34 612 345 678", country: i.country, since: "Mar 2022" }, tier: i.tier, stats: [{ label: "Stays", value: String(i.stays) }, { label: "Nights", value: "19" }, { label: "Lifetime", value: `€${i.spend.toLocaleString("en-GB")}` }, { label: "Rating", value: "4.9" }] })
452
+ ] })
453
+ ] }) });
454
+ }
455
+ function He({ data: e = m, routes: r = u, theme: n = "light" }) {
456
+ return /* @__PURE__ */ t(c, { children: /* @__PURE__ */ a(b, { title: "Reports", current: "reports", data: e, routes: r, theme: n, children: [
457
+ /* @__PURE__ */ t(h, { title: "Reports", description: "Revenue, pace and conversion — updated every hour.", breadcrumb: [{ label: e.workspace.name, href: r.dashboard }, { label: "Reports" }], actions: [{ label: "Schedule", icon: "calendar" }, { label: "Download PDF", icon: "download", primary: !0 }], periods: ["30 days", "Quarter", "Year"], activePeriod: 0 }),
458
+ /* @__PURE__ */ t(se, { prefix: "", title: "Occupancy forecast", subtitle: "Actual vs. forecast with 90% confidence", categories: e.forecast.categories, actual: e.forecast.actual, forecast: e.forecast.forecast, suffix: "%", variant: "solid", height: 260 }),
459
+ /* @__PURE__ */ a("div", { className: "lobby-grid lobby-grid--1-1", children: [
460
+ /* @__PURE__ */ t(le, { title: "Booking pace", subtitle: "Rooms booked by arrival weekday and lead time", rows: e.pace.rows, columns: e.pace.columns, values: e.pace.values, showValues: !0, variant: "solid" }),
461
+ /* @__PURE__ */ t(ce, { title: "Direct booking funnel", subtitle: "Website, last 30 days", stages: e.funnel, variant: "solid" })
462
+ ] }),
463
+ /* @__PURE__ */ a("div", { className: "lobby-grid lobby-grid--1-1", children: [
464
+ /* @__PURE__ */ t(L, { title: "Guest segments", segments: e.segments, total: "Room nights", suffix: "%", variant: "solid" }),
465
+ /* @__PURE__ */ t(ie, { title: "ADR by channel", items: [{ label: "Direct", value: 182 }, { label: "Corporate", value: 171 }, { label: "Booking.com", value: 164 }, { label: "Expedia", value: 158 }, { label: "Airbnb", value: 149 }], highlight: "Direct", prefix: "€", variant: "solid" })
466
+ ] }),
467
+ /* @__PURE__ */ t(de, { title: "Month over month", currentLabel: "October", previousLabel: "September", rows: [
468
+ { label: "Occupancy (%)", current: 84, previous: 79, trend: [70, 74, 79, 84] },
469
+ { label: "ADR (€)", current: 168, previous: 162, trend: [150, 158, 162, 168] },
470
+ { label: "RevPAR (€)", current: 141, previous: 128, trend: [105, 117, 128, 141] },
471
+ { label: "Cancellation rate (%)", current: 3.1, previous: 4.2, invert: !0, trend: [5.1, 4.8, 4.2, 3.1] }
472
+ ], variant: "solid" })
473
+ ] }) });
474
+ }
475
+ function _e({ data: e = m, routes: r = u, theme: n = "light" }) {
476
+ return /* @__PURE__ */ t(c, { children: /* @__PURE__ */ a(b, { title: "Settings", current: "settings", data: e, routes: r, theme: n, children: [
477
+ /* @__PURE__ */ t(h, { title: "Settings", description: "Manage your profile, property, team and billing.", breadcrumb: [{ label: e.workspace.name, href: r.dashboard }, { label: "Settings" }], actions: [], periods: [], tabs: [
478
+ { label: "Profile", href: "#profile" },
479
+ { label: "Property", href: "#property" },
480
+ { label: "Notifications", href: "#notifications" },
481
+ { label: "Team", href: "#team", count: e.team.length },
482
+ { label: "Billing", href: "#billing" }
483
+ ], currentTab: "#profile" }),
484
+ /* @__PURE__ */ a("div", { className: "settings", "data-rk-882bc7": "", children: [
485
+ /* @__PURE__ */ t("div", { id: "profile", "data-rk-882bc7": "", children: /* @__PURE__ */ a(w, { id: "set-profile", title: "Your profile", description: "How you appear to your team and in guest messages.", children: [
486
+ /* @__PURE__ */ a("div", { className: "settings__row", "data-rk-882bc7": "", children: [
487
+ /* @__PURE__ */ t(k, { label: "Full name", id: "set-name", name: "name", required: !0, autocomplete: "name", placeholder: " " }),
488
+ /* @__PURE__ */ t(k, { label: "Email", id: "set-email", name: "email", type: "email", required: !0, autocomplete: "email" })
489
+ ] }),
490
+ /* @__PURE__ */ a("div", { className: "settings__row", "data-rk-882bc7": "", children: [
491
+ /* @__PURE__ */ t(k, { label: "Job title", id: "set-role", name: "role", autocomplete: "organization-title" }),
492
+ /* @__PURE__ */ t(S, { label: "Language", id: "set-lang", name: "lang", options: [{ label: "English", value: "en" }, { label: "Español", value: "es" }, { label: "Русский", value: "ru" }] })
493
+ ] })
494
+ ] }) }),
495
+ /* @__PURE__ */ t("div", { id: "property", "data-rk-882bc7": "", children: /* @__PURE__ */ a(w, { id: "set-property", title: "Property", description: "Details used on invoices, confirmations and your booking engine.", children: [
496
+ /* @__PURE__ */ a("div", { className: "settings__row", "data-rk-882bc7": "", children: [
497
+ /* @__PURE__ */ t(k, { label: "Property name", id: "set-prop", name: "property", required: !0 }),
498
+ /* @__PURE__ */ t(S, { label: "Currency", id: "set-cur", name: "currency", options: [{ label: "Euro (€)", value: "EUR" }, { label: "US dollar ($)", value: "USD" }, { label: "Pound (£)", value: "GBP" }] })
499
+ ] }),
500
+ /* @__PURE__ */ a("div", { className: "settings__row", "data-rk-882bc7": "", children: [
501
+ /* @__PURE__ */ t(S, { label: "Check-in time", id: "set-in", name: "checkin", options: [{ label: "14:00", value: "14" }, { label: "15:00", value: "15" }, { label: "16:00", value: "16" }] }),
502
+ /* @__PURE__ */ t(S, { label: "Check-out time", id: "set-out", name: "checkout", options: [{ label: "11:00", value: "11" }, { label: "12:00", value: "12" }] })
503
+ ] })
504
+ ] }) }),
505
+ /* @__PURE__ */ t("div", { id: "notifications", "data-rk-882bc7": "", children: /* @__PURE__ */ a(w, { id: "set-notes", title: "Notifications", description: "Choose what reaches your inbox and phone.", children: [
506
+ /* @__PURE__ */ t(v, { name: "n-bookings", label: "New bookings & cancellations", description: "Instant email for every change from any channel.", checked: !0 }),
507
+ /* @__PURE__ */ t(v, { name: "n-house", label: "Housekeeping alerts", description: "Push notification when a room is out of order.", checked: !0 }),
508
+ /* @__PURE__ */ t(v, { name: "n-reviews", label: "New guest reviews", description: "Daily digest at 9:00.", checked: !1 }),
509
+ /* @__PURE__ */ t(v, { name: "n-report", label: "Weekly performance report", description: "Occupancy, ADR and RevPAR every Monday.", checked: !0 })
510
+ ] }) }),
511
+ /* @__PURE__ */ a("div", { id: "team", className: "settings__block", "data-rk-882bc7": "", children: [
512
+ /* @__PURE__ */ a("div", { className: "settings__intro", "data-rk-882bc7": "", children: [
513
+ /* @__PURE__ */ t("h2", { "data-rk-882bc7": "", children: "Team" }),
514
+ /* @__PURE__ */ t("p", { "data-rk-882bc7": "", children: "Invite colleagues and choose what each role can see and do." })
515
+ ] }),
516
+ /* @__PURE__ */ t(z, { members: e.team, seats: 10 })
517
+ ] }),
518
+ /* @__PURE__ */ a("div", { id: "billing", className: "settings__block", "data-rk-882bc7": "", children: [
519
+ /* @__PURE__ */ a("div", { className: "settings__intro", "data-rk-882bc7": "", children: [
520
+ /* @__PURE__ */ t("h2", { "data-rk-882bc7": "", children: "Plan & billing" }),
521
+ /* @__PURE__ */ t("p", { "data-rk-882bc7": "", children: "Your subscription renews automatically. Change or cancel any time." })
522
+ ] }),
523
+ /* @__PURE__ */ t(J, { variant: "accent", upgrade: { label: "Upgrade to Business", href: r.landing + "#pricing" } })
524
+ ] })
525
+ ] })
526
+ ] }) });
527
+ }
528
+ export {
529
+ b as AppLayout,
530
+ Me as DashboardPage,
531
+ Ie as GuestsPage,
532
+ Te as LandingPage,
533
+ He as ReportsPage,
534
+ Ee as ReservationsPage,
535
+ Be as RoomsPage,
536
+ _e as SettingsPage,
537
+ Le as SignInPage,
538
+ m as lobbyData,
539
+ u as saasRoutes
540
+ };
package/dist/three.js ADDED
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { jsx as a } from "react/jsx-runtime";
3
+ import { useRef as c, useEffect as s } from "react";
4
+ function f({ className: n = "" }) {
5
+ const r = c(null);
6
+ return s(() => {
7
+ let e, t = !1;
8
+ return Promise.all([import("three"), import("./chunks/galaxy-scene-C854qLoX.js")]).then(([i, { mountGalaxy: l }]) => {
9
+ !t && r.current && (e = l(r.current, i));
10
+ }), () => {
11
+ t = !0, e == null || e();
12
+ };
13
+ }, []), /* @__PURE__ */ a("div", { className: `galaxy-3d-container ${n}`.trim(), "aria-hidden": "true", children: /* @__PURE__ */ a("canvas", { id: "galaxy-3d-canvas", ref: r }) });
14
+ }
15
+ export {
16
+ f as Galaxy3D
17
+ };