xertica-ui 2.3.0 → 2.4.1

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 (105) hide show
  1. package/CHANGELOG.md +22 -2
  2. package/README.md +33 -22
  3. package/bin/cli.ts +136 -47
  4. package/bin/language-config.ts +5 -8
  5. package/components/assistant/modern-chat-input/ModernChatInput.tsx +17 -7
  6. package/components/assistant/xertica-assistant/parts/AssistantConversationList.tsx +1 -3
  7. package/components/assistant/xertica-assistant/parts/AssistantFeedbackDialog.tsx +13 -3
  8. package/components/assistant/xertica-assistant/parts/AssistantMessageBubble.tsx +10 -6
  9. package/components/assistant/xertica-assistant/xertica-assistant.tsx +1 -3
  10. package/components/blocks/card-patterns/FeatureCardSkeleton.tsx +1 -6
  11. package/components/blocks/card-patterns/ProfileCard.tsx +1 -3
  12. package/components/blocks/card-patterns/ProjectCardSkeleton.tsx +1 -6
  13. package/components/brand/language-selector/language-selector.stories.tsx +1 -4
  14. package/components/brand/theme-toggle/ThemeToggle.tsx +5 -1
  15. package/components/brand/xertica-provider/XerticaProvider.tsx +1 -4
  16. package/components/index.ts +1 -5
  17. package/components/layout/sidebar/sidebar.tsx +9 -3
  18. package/components/media/audio-player/AudioPlayer.tsx +4 -2
  19. package/components/pages/forgot-password-page/ForgotPasswordPage.tsx +188 -188
  20. package/components/pages/home-content/HomeContent.tsx +55 -55
  21. package/components/pages/home-page/HomePage.tsx +5 -1
  22. package/components/pages/login-page/LoginPage.tsx +4 -2
  23. package/components/pages/reset-password-page/ResetPasswordPage.tsx +7 -3
  24. package/components/pages/template-content/TemplateContent.tsx +268 -149
  25. package/components/pages/verify-email-page/VerifyEmailPage.tsx +9 -9
  26. package/components/shared/error-boundary.stories.tsx +114 -132
  27. package/components/shared/error-boundary.tsx +150 -154
  28. package/components/shared/error-fallbacks.tsx +222 -226
  29. package/components/ui/stats-card/stats-card-skeleton.tsx +1 -3
  30. package/components/ui/stats-card/stats-card.stories.tsx +18 -0
  31. package/components/ui/stats-card/stats-card.tsx +18 -2
  32. package/components.json +512 -892
  33. package/contexts/AuthContext.tsx +121 -118
  34. package/contexts/LanguageContext.tsx +1 -2
  35. package/dist/AssistantChart-BKVtGUKF.js +3383 -0
  36. package/dist/AssistantChart-WeycT5Pd.cjs +3551 -0
  37. package/dist/VerifyEmailPage-Bp1XXl3H.cjs +3305 -0
  38. package/dist/VerifyEmailPage-DGhuIqkb.js +3296 -0
  39. package/dist/XerticaProvider-BErr83Bg.js +42 -0
  40. package/dist/XerticaProvider-CwOkHxiT.cjs +44 -0
  41. package/dist/XerticaXLogo-BX3ueACh.js +255 -0
  42. package/dist/XerticaXLogo-qBPhwK3g.cjs +260 -0
  43. package/dist/assistant.cjs.js +1 -1
  44. package/dist/assistant.es.js +1 -1
  45. package/dist/brand.cjs.js +2 -2
  46. package/dist/brand.es.js +2 -2
  47. package/dist/cli.js +90 -37
  48. package/dist/components/brand/theme-toggle/ThemeToggle.d.ts +1 -1
  49. package/dist/components/index.d.ts +1 -1
  50. package/dist/components/ui/stats-card/stats-card.d.ts +10 -0
  51. package/dist/index.cjs.js +6 -6
  52. package/dist/index.es.js +6 -6
  53. package/dist/layout.cjs.js +1 -1
  54. package/dist/layout.es.js +1 -1
  55. package/dist/pages.cjs.js +1 -1
  56. package/dist/pages.es.js +1 -1
  57. package/dist/sidebar-B4ZWaMrE.js +792 -0
  58. package/dist/sidebar-BS1p2V7t.cjs +795 -0
  59. package/dist/ui.cjs.js +1 -1
  60. package/dist/ui.es.js +1 -1
  61. package/dist/xertica-assistant-B1NaSFFj.js +2173 -0
  62. package/dist/xertica-assistant-CIaUlbIt.cjs +2180 -0
  63. package/dist/xertica-ui.css +1 -1
  64. package/docs/architecture-improvements.md +5 -5
  65. package/docs/architecture.md +16 -10
  66. package/docs/components/card-patterns.md +19 -17
  67. package/docs/components/error-boundary.md +201 -191
  68. package/docs/components/hooks.md +15 -13
  69. package/docs/components/language-selector.md +20 -16
  70. package/docs/components/pages.md +323 -309
  71. package/docs/components/stats-card.md +20 -2
  72. package/docs/doc-audit.md +12 -11
  73. package/docs/getting-started.md +41 -28
  74. package/docs/guidelines.md +14 -12
  75. package/docs/i18n.md +61 -57
  76. package/docs/installation.md +268 -267
  77. package/docs/llms.md +17 -17
  78. package/docs/state-management.md +17 -17
  79. package/guidelines/Guidelines.md +17 -14
  80. package/llms-compact.txt +1 -1
  81. package/llms-full.txt +11553 -7133
  82. package/llms.txt +1 -1
  83. package/package.json +1 -1
  84. package/styles/xertica/base.css +90 -84
  85. package/templates/CLAUDE.md +16 -1
  86. package/templates/guidelines/Guidelines.md +42 -18
  87. package/templates/package.json +3 -3
  88. package/templates/src/app/components/AuthGuard.tsx +131 -82
  89. package/templates/src/features/auth/ui/AuthPageShell.tsx +32 -32
  90. package/templates/src/features/auth/ui/ForgotPasswordContent.tsx +1 -3
  91. package/templates/src/features/auth/ui/ResetPasswordContent.tsx +6 -2
  92. package/templates/src/features/auth/ui/VerifyEmailContent.tsx +2 -6
  93. package/templates/src/features/home/data/mock.ts +41 -35
  94. package/templates/src/features/home/ui/HomeContent.tsx +62 -64
  95. package/templates/src/features/template/ui/CrudTemplate.tsx +1 -4
  96. package/templates/src/features/template/ui/LoginTemplate.tsx +1 -1
  97. package/templates/src/features/template/ui/TemplateContent.tsx +28 -20
  98. package/templates/src/locales/en/pages/templates.json +17 -17
  99. package/templates/src/locales/es/pages/templates.json +17 -17
  100. package/templates/src/locales/pt-BR/pages/templates.json +17 -17
  101. package/templates/src/pages/AssistantPage.tsx +26 -20
  102. package/templates/src/pages/HomePage.tsx +5 -1
  103. package/templates/src/shared/error-boundary.tsx +150 -154
  104. package/templates/src/shared/error-fallbacks.tsx +222 -226
  105. package/templates/vite.config.ts +12 -9
package/dist/cli.js CHANGED
@@ -691,9 +691,11 @@ export function registerLanguageResource(
691
691
  export default i18n;
692
692
  `;
693
693
  }
694
- function generateAppTsx(selectedCodes) {
694
+ function generateAppTsx(selectedCodes, disableDarkMode = false) {
695
695
  const selectedLangs = SUPPORTED_LANGUAGES.filter((l) => selectedCodes.includes(l.code));
696
696
  const isMonolingual = selectedLangs.length === 1;
697
+ const disableDarkModeProp = disableDarkMode ? `
698
+ disableDarkMode={true}` : "";
697
699
  const isAllDefaults = selectedLangs.length === SUPPORTED_LANGUAGES.length && selectedLangs.every((l) => DEFAULT_SELECTION.includes(l.code));
698
700
  const languagesArrayLiteral = selectedLangs.map(
699
701
  (l) => ` { code: '${l.code}', label: '${l.label}', shortLabel: '${l.shortLabel}' },`
@@ -737,7 +739,7 @@ export default function App() {
737
739
  <QueryClientProvider client={queryClient}>
738
740
  <XerticaProvider
739
741
  apiKey={geminiApiKey}
740
- googleMapsApiKey={googleMapsApiKey}${availableLanguagesProp}
742
+ googleMapsApiKey={googleMapsApiKey}${availableLanguagesProp}${disableDarkModeProp}
741
743
  >
742
744
  <Router>
743
745
  {/* AuthProvider must be inside Router (needs useNavigate) */}
@@ -773,7 +775,10 @@ async function readXerticaConfig(targetDir) {
773
775
  }
774
776
  async function writeXerticaConfig(targetDir, config) {
775
777
  const configPath = path2.join(targetDir, XERTICA_CONFIG_FILE);
776
- const existing = await readXerticaConfig(targetDir) ?? { version: 1, hasAssistant: false };
778
+ const existing = await readXerticaConfig(targetDir) ?? {
779
+ version: 1,
780
+ hasAssistant: false
781
+ };
777
782
  await fs2.writeJson(configPath, { ...existing, ...config, version: 1 }, { spaces: 2 });
778
783
  }
779
784
  var __filename = fileURLToPath(import.meta.url);
@@ -1019,6 +1024,12 @@ program.command("init").description("Initialize a new Xertica UI project").argum
1019
1024
  message: "Include AI Assistant? (XerticaAssistant chat page + sidebar variant)",
1020
1025
  initial: true
1021
1026
  },
1027
+ {
1028
+ type: "confirm",
1029
+ name: "enableDarkMode",
1030
+ message: "Enable dark mode support?",
1031
+ initial: true
1032
+ },
1022
1033
  {
1023
1034
  type: "confirm",
1024
1035
  name: "install",
@@ -1065,10 +1076,11 @@ program.command("init").description("Initialize a new Xertica UI project").argum
1065
1076
  path2.join(templatesDir, "src", "main.tsx"),
1066
1077
  path2.join(targetDir, "src", "main.tsx")
1067
1078
  );
1079
+ const disableDarkMode = response.enableDarkMode === false;
1068
1080
  await fs2.ensureDir(path2.join(targetDir, "src", "app"));
1069
1081
  await fs2.writeFile(
1070
1082
  path2.join(targetDir, "src", "app", "App.tsx"),
1071
- generateAppTsx(selectedLanguages)
1083
+ generateAppTsx(selectedLanguages, disableDarkMode)
1072
1084
  );
1073
1085
  await fs2.ensureDir(path2.join(targetDir, "src", "app", "components"));
1074
1086
  await fs2.copy(
@@ -1085,7 +1097,7 @@ program.command("init").description("Initialize a new Xertica UI project").argum
1085
1097
  );
1086
1098
  await syncLocaleFiles(templatesDir, targetDir, selectedLanguages, { pruneOthers: true });
1087
1099
  await writeLanguagesConfig(targetDir, selectedLanguages);
1088
- await writeXerticaConfig(targetDir, { hasAssistant });
1100
+ await writeXerticaConfig(targetDir, { hasAssistant, disableDarkMode });
1089
1101
  await fs2.ensureDir(path2.join(targetDir, "src", "app", "context"));
1090
1102
  await fs2.copy(
1091
1103
  path2.join(templatesDir, "src", "app", "context", "AuthContext.tsx"),
@@ -1148,7 +1160,13 @@ program.command("init").description("Initialize a new Xertica UI project").argum
1148
1160
  }
1149
1161
  }
1150
1162
  const firstProtectedPath = hasHome ? "/home" : hasTemplate ? "/template" : "/login";
1151
- const authGuardContent = generateAuthGuard({ hasLogin, hasHome, hasTemplate, hasAssistant, firstProtectedPath });
1163
+ const authGuardContent = generateAuthGuard({
1164
+ hasLogin,
1165
+ hasHome,
1166
+ hasTemplate,
1167
+ hasAssistant,
1168
+ firstProtectedPath
1169
+ });
1152
1170
  await fs2.writeFile(
1153
1171
  path2.join(targetDir, "src", "app", "components", "AuthGuard.tsx"),
1154
1172
  authGuardContent
@@ -1183,9 +1201,7 @@ program.command("init").description("Initialize a new Xertica UI project").argum
1183
1201
  ` Languages: ${langLabels}${selectedLanguages.length === 1 ? " (monolingual \u2014 LanguageSelector hidden)" : ""}`
1184
1202
  )
1185
1203
  );
1186
- console.log(
1187
- chalk.gray(" To add/remove languages later: npx xertica-ui update \u2192 Languages")
1188
- );
1204
+ console.log(chalk.gray(" To add/remove languages later: npx xertica-ui update \u2192 Languages"));
1189
1205
  console.log(
1190
1206
  chalk.gray(` AI Assistant: ${hasAssistant ? "included (/assistente)" : "not included"}`)
1191
1207
  );
@@ -1221,6 +1237,11 @@ program.command("update").alias("update-theme").description("Update theme or pro
1221
1237
  description: currentConfig?.hasAssistant ? "Remove the AI Assistant from your project" : "Add the AI Assistant to your project",
1222
1238
  value: "assistant"
1223
1239
  },
1240
+ {
1241
+ title: "Dark Mode",
1242
+ description: currentConfig?.disableDarkMode ? "Enable dark mode support in your project" : "Disable dark mode support in your project",
1243
+ value: "darkmode"
1244
+ },
1224
1245
  {
1225
1246
  title: "Project files",
1226
1247
  description: "Update app shell, shared, features and pages to a specific version",
@@ -1303,10 +1324,8 @@ Current languages: ${SUPPORTED_LANGUAGES.filter((l) => currentCodes.includes(l.c
1303
1324
  return;
1304
1325
  }
1305
1326
  const summary = [];
1306
- if (toAdd.length > 0)
1307
- summary.push(chalk.green(` + ${toAdd.join(", ")}`));
1308
- if (toRemove.length > 0)
1309
- summary.push(chalk.red(` - ${toRemove.join(", ")}`));
1327
+ if (toAdd.length > 0) summary.push(chalk.green(` + ${toAdd.join(", ")}`));
1328
+ if (toRemove.length > 0) summary.push(chalk.red(` - ${toRemove.join(", ")}`));
1310
1329
  console.log(`
1311
1330
  ${summary.join("\n")}
1312
1331
  `);
@@ -1331,19 +1350,13 @@ ${summary.join("\n")}
1331
1350
  "templates"
1332
1351
  );
1333
1352
  const templatesSourceDir = await fs2.pathExists(installedTemplatesDir) ? installedTemplatesDir : path2.resolve(__dirname, "../templates");
1334
- const { copied, removed } = await syncLocaleFiles(
1335
- templatesSourceDir,
1336
- targetDir,
1337
- newCodes,
1338
- { pruneOthers: true }
1339
- );
1340
- await fs2.writeFile(
1341
- path2.join(targetDir, "src", "i18n.ts"),
1342
- generateI18nFile(newCodes)
1343
- );
1353
+ const { copied, removed } = await syncLocaleFiles(templatesSourceDir, targetDir, newCodes, {
1354
+ pruneOthers: true
1355
+ });
1356
+ await fs2.writeFile(path2.join(targetDir, "src", "i18n.ts"), generateI18nFile(newCodes));
1344
1357
  await fs2.writeFile(
1345
1358
  path2.join(targetDir, "src", "app", "App.tsx"),
1346
- generateAppTsx(newCodes)
1359
+ generateAppTsx(newCodes, currentConfig?.disableDarkMode ?? false)
1347
1360
  );
1348
1361
  await writeLanguagesConfig(targetDir, newCodes);
1349
1362
  spinner2.succeed("Languages updated successfully!");
@@ -1351,9 +1364,7 @@ ${summary.join("\n")}
1351
1364
  if (removed.length > 0) console.log(chalk.red(` Removed: ${removed.join(", ")}`));
1352
1365
  if (newCodes.length === 1) {
1353
1366
  console.log(
1354
- chalk.gray(
1355
- ` Project is now monolingual \u2014 the LanguageSelector will auto-hide.`
1356
- )
1367
+ chalk.gray(` Project is now monolingual \u2014 the LanguageSelector will auto-hide.`)
1357
1368
  );
1358
1369
  }
1359
1370
  } catch (error) {
@@ -1384,10 +1395,18 @@ AI Assistant is currently: ${currentlyHas ? chalk.green("enabled") : chalk.red("
1384
1395
  name: "action",
1385
1396
  message: currentlyHas ? "Remove the AI Assistant from your project?" : "Add the AI Assistant to your project?",
1386
1397
  choices: currentlyHas ? [
1387
- { title: "Remove assistant", description: "Deletes AssistantPage and assistant feature files", value: "remove" },
1398
+ {
1399
+ title: "Remove assistant",
1400
+ description: "Deletes AssistantPage and assistant feature files",
1401
+ value: "remove"
1402
+ },
1388
1403
  { title: "Cancel", value: "cancel" }
1389
1404
  ] : [
1390
- { title: "Add assistant", description: "Copies AssistantPage and assistant feature files", value: "add" },
1405
+ {
1406
+ title: "Add assistant",
1407
+ description: "Copies AssistantPage and assistant feature files",
1408
+ value: "add"
1409
+ },
1391
1410
  { title: "Cancel", value: "cancel" }
1392
1411
  ]
1393
1412
  });
@@ -1407,9 +1426,16 @@ AI Assistant is currently: ${currentlyHas ? chalk.green("enabled") : chalk.red("
1407
1426
  console.log(chalk.gray("Update cancelled."));
1408
1427
  return;
1409
1428
  }
1410
- const spinner2 = ora(action === "add" ? "Adding assistant..." : "Removing assistant...").start();
1429
+ const spinner2 = ora(
1430
+ action === "add" ? "Adding assistant..." : "Removing assistant..."
1431
+ ).start();
1411
1432
  try {
1412
- const installedTemplatesDir = path2.join(targetDir, "node_modules", "xertica-ui", "templates");
1433
+ const installedTemplatesDir = path2.join(
1434
+ targetDir,
1435
+ "node_modules",
1436
+ "xertica-ui",
1437
+ "templates"
1438
+ );
1413
1439
  const templatesSourceDir = await fs2.pathExists(installedTemplatesDir) ? installedTemplatesDir : path2.resolve(__dirname, "../templates");
1414
1440
  const pagesDir = path2.join(targetDir, "src", "pages");
1415
1441
  const existingPages = await fs2.pathExists(pagesDir) ? await fs2.readdir(pagesDir) : [];
@@ -1473,6 +1499,36 @@ AI Assistant is currently: ${currentlyHas ? chalk.green("enabled") : chalk.red("
1473
1499
  }
1474
1500
  return;
1475
1501
  }
1502
+ if (updateType === "darkmode") {
1503
+ const currentlyDisabled = currentConfig?.disableDarkMode ?? false;
1504
+ const { enableDarkMode } = await prompts({
1505
+ type: "confirm",
1506
+ name: "enableDarkMode",
1507
+ message: currentlyDisabled ? "Enable dark mode support in your project?" : "Disable dark mode support in your project? (This will hide the toggle and force light mode)",
1508
+ initial: !currentlyDisabled
1509
+ });
1510
+ if (enableDarkMode === void 0) return;
1511
+ const newDisableDarkMode = !enableDarkMode;
1512
+ const spinner2 = ora(
1513
+ newDisableDarkMode ? "Disabling dark mode..." : "Enabling dark mode..."
1514
+ ).start();
1515
+ try {
1516
+ await writeXerticaConfig(targetDir, { disableDarkMode: newDisableDarkMode });
1517
+ const persistedCodes = await readLanguagesConfig(targetDir);
1518
+ const selectedCodes = persistedCodes && persistedCodes.length > 0 ? persistedCodes : DEFAULT_SELECTION;
1519
+ await fs2.writeFile(
1520
+ path2.join(targetDir, "src", "app", "App.tsx"),
1521
+ generateAppTsx(selectedCodes, newDisableDarkMode)
1522
+ );
1523
+ spinner2.succeed(
1524
+ newDisableDarkMode ? "Dark mode disabled successfully! (Locked to Light Mode)" : "Dark mode enabled successfully!"
1525
+ );
1526
+ } catch (error) {
1527
+ spinner2.fail("Failed to update dark mode configuration");
1528
+ console.error(error);
1529
+ }
1530
+ return;
1531
+ }
1476
1532
  const { versionType } = await prompts({
1477
1533
  type: "select",
1478
1534
  name: "versionType",
@@ -1572,18 +1628,15 @@ AI Assistant is currently: ${currentlyHas ? chalk.green("enabled") : chalk.red("
1572
1628
  if (selectedCodes.length === 0) selectedCodes = DEFAULT_SELECTION;
1573
1629
  await writeLanguagesConfig(targetDir, selectedCodes);
1574
1630
  }
1631
+ const projectConfig = await readXerticaConfig(targetDir);
1575
1632
  await fs2.writeFile(
1576
1633
  path2.join(targetDir, "src", "app", "App.tsx"),
1577
- generateAppTsx(selectedCodes)
1578
- );
1579
- await fs2.writeFile(
1580
- path2.join(targetDir, "src", "i18n.ts"),
1581
- generateI18nFile(selectedCodes)
1634
+ generateAppTsx(selectedCodes, projectConfig?.disableDarkMode ?? false)
1582
1635
  );
1636
+ await fs2.writeFile(path2.join(targetDir, "src", "i18n.ts"), generateI18nFile(selectedCodes));
1583
1637
  await syncLocaleFiles(updatedTemplatesDir, targetDir, selectedCodes, {
1584
1638
  pruneOthers: true
1585
1639
  });
1586
- const projectConfig = await readXerticaConfig(targetDir);
1587
1640
  const pagesDir = path2.join(targetDir, "src", "pages");
1588
1641
  const existingPages = await fs2.pathExists(pagesDir) ? await fs2.readdir(pagesDir) : [];
1589
1642
  const hasLoginP = existingPages.includes("LoginPage.tsx");
@@ -4,5 +4,5 @@ interface ThemeToggleProps {
4
4
  className?: string;
5
5
  showLabel?: boolean;
6
6
  }
7
- export declare function ThemeToggle({ size, variant, className, showLabel, }: ThemeToggleProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function ThemeToggle({ size, variant, className, showLabel, }: ThemeToggleProps): import("react/jsx-runtime").JSX.Element | null;
8
8
  export {};
@@ -24,7 +24,7 @@ export { Sidebar } from './layout/sidebar';
24
24
  export { ThemeToggle } from './brand/theme-toggle';
25
25
  export { LanguageSelector } from './brand/language-selector';
26
26
  export * from '../contexts/LayoutContext';
27
- export { useLanguage, LanguageProvider, DEFAULT_LANGUAGES, } from '../contexts/LanguageContext';
27
+ export { useLanguage, LanguageProvider, DEFAULT_LANGUAGES } from '../contexts/LanguageContext';
28
28
  export type { Language, LanguageDefinition, LanguageProviderProps, } from '../contexts/LanguageContext';
29
29
  export { default as i18n, registerLanguageResource } from '../i18n';
30
30
  export { Header } from './layout/header';
@@ -8,6 +8,16 @@ interface StatsCardProps extends React.HTMLAttributes<HTMLDivElement> {
8
8
  label?: string;
9
9
  };
10
10
  icon?: React.ReactNode;
11
+ /**
12
+ * Tailwind class for the icon text/foreground color.
13
+ * @default "text-muted-foreground"
14
+ */
15
+ iconColor?: string;
16
+ /**
17
+ * Tailwind class for the icon background color.
18
+ * @default "bg-muted"
19
+ */
20
+ iconBg?: string;
11
21
  }
12
22
  /**
13
23
  * KPI metric card for dashboard overview pages.
package/dist/index.cjs.js CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const xerticaAssistant = require('./xertica-assistant-sOHwTgIP.cjs');
6
- const XerticaProvider = require('./XerticaProvider-Dl_b72_l.cjs');
7
- const VerifyEmailPage = require('./VerifyEmailPage-By3Jf__L.cjs');
5
+ const xerticaAssistant = require('./xertica-assistant-CIaUlbIt.cjs');
6
+ const XerticaProvider = require('./XerticaProvider-CwOkHxiT.cjs');
7
+ const VerifyEmailPage = require('./VerifyEmailPage-Bp1XXl3H.cjs');
8
8
  const button = require('./button-0BlA47It.cjs');
9
9
  const skeleton = require('./skeleton-DjiHerJn.cjs');
10
10
  const alertDialog = require('./alert-dialog-DhwPioBa.cjs');
11
- const AssistantChart = require('./AssistantChart-COGiOV-g.cjs');
11
+ const AssistantChart = require('./AssistantChart-WeycT5Pd.cjs');
12
12
  const breadcrumb = require('./breadcrumb-BKtHF4gk.cjs');
13
13
  const input = require('./input-C_UiS2Py.cjs');
14
14
  const richTextEditor = require('./rich-text-editor-DxO1Hz3a.cjs');
@@ -24,9 +24,9 @@ const useMobile = require('./use-mobile-BdXTRb0Z.cjs');
24
24
  const FeatureCard = require('./FeatureCard-BZ4CYxFf.cjs');
25
25
  const FeatureCardSkeleton = require('./FeatureCardSkeleton-pTa0YNKP.cjs');
26
26
  const CodeBlock = require('./CodeBlock-EOvp9cVu.cjs');
27
- const XerticaXLogo = require('./XerticaXLogo-uQgwns_E.cjs');
27
+ const XerticaXLogo = require('./XerticaXLogo-qBPhwK3g.cjs');
28
28
  const XerticaOrbe = require('./XerticaOrbe-Uk2JML1-.cjs');
29
- const sidebar = require('./sidebar-DyYvgyBj.cjs');
29
+ const sidebar = require('./sidebar-BS1p2V7t.cjs');
30
30
  require('react');
31
31
  const LayoutContext = require('./LayoutContext-BEq_-n98.cjs');
32
32
  const ThemeContext = require('./ThemeContext-CMD3z2Dz.cjs');
package/dist/index.es.js CHANGED
@@ -1,10 +1,10 @@
1
- export { F as FormattedDocument, M as MarkdownMessage, a as ModernChatInput, X as XerticaAssistant, g as generateDemoResponse, g as gerarResposta } from './xertica-assistant-B687qEPU.js';
2
- export { X as XerticaProvider } from './XerticaProvider-DUOJg9iX.js';
3
- export { F as ForgotPasswordPage, H as HomeContent, a as HomePage, L as LoginPage, R as ResetPasswordPage, T as TemplateContent, b as TemplatePage, V as VerifyEmailPage } from './VerifyEmailPage-DgIid028.js';
1
+ export { F as FormattedDocument, M as MarkdownMessage, a as ModernChatInput, X as XerticaAssistant, g as generateDemoResponse, g as gerarResposta } from './xertica-assistant-B1NaSFFj.js';
2
+ export { X as XerticaProvider } from './XerticaProvider-BErr83Bg.js';
3
+ export { F as ForgotPasswordPage, H as HomeContent, a as HomePage, L as LoginPage, R as ResetPasswordPage, T as TemplateContent, b as TemplatePage, V as VerifyEmailPage } from './VerifyEmailPage-DGhuIqkb.js';
4
4
  export { B as Button, b as buttonVariants, c as cn } from './button-DZHzN1Gd.js';
5
5
  export { C as Card, a as CardAction, b as CardContent, c as CardDescription, d as CardFooter, e as CardHeader, f as CardTitle, S as Skeleton } from './skeleton-DtR5tkYe.js';
6
6
  export { A as AlertDialog, a as AlertDialogAction, b as AlertDialogCancel, c as AlertDialogContent, d as AlertDialogDescription, e as AlertDialogFooter, f as AlertDialogHeader, g as AlertDialogOverlay, h as AlertDialogPortal, i as AlertDialogTitle, j as AlertDialogTrigger, C as Checkbox, I as ImageWithFallback, L as Label, M as Map, P as PageHeader, k as PageHeaderDescription, l as PageHeaderHeading, R as RadioGroup, m as RadioGroupItem, S as Separator, n as Switch, T as Tabs, o as TabsContent, p as TabsList, q as TabsTrigger, u as useMapLayers } from './alert-dialog-DqlRW_An.js';
7
- export { A as Accordion, a as AccordionContent, b as AccordionItem, c as AccordionTrigger, d as AspectRatio, e as AssistantChart, C as Calendar, f as CalendarDayButton, g as Carousel, h as CarouselContent, i as CarouselItem, j as CarouselNext, k as CarouselPrevious, l as Collapsible, m as CollapsibleContent, n as CollapsibleTrigger, o as Command, p as CommandDialog, q as CommandEmpty, r as CommandGroup, s as CommandInput, t as CommandItem, u as CommandList, v as CommandSeparator, w as CommandShortcut, x as ContextMenu, y as ContextMenuCheckboxItem, z as ContextMenuContent, B as ContextMenuGroup, D as ContextMenuItem, E as ContextMenuLabel, F as ContextMenuPortal, G as ContextMenuRadioGroup, H as ContextMenuRadioItem, I as ContextMenuSeparator, J as ContextMenuShortcut, K as ContextMenuSub, L as ContextMenuSubContent, M as ContextMenuSubTrigger, N as ContextMenuTrigger, O as Drawer, P as DrawerClose, Q as DrawerContent, R as DrawerDescription, S as DrawerFooter, T as DrawerHandle, U as DrawerHeader, V as DrawerOverlay, W as DrawerPortal, X as DrawerTitle, Y as DrawerTrigger, Z as FileUpload, _ as Form, $ as FormControl, a0 as FormDescription, a1 as FormField, a2 as FormItem, a3 as FormLabel, a4 as FormMessage, a5 as HoverCard, a6 as HoverCardContent, a7 as HoverCardTrigger, a8 as InputOTP, a9 as InputOTPGroup, aa as InputOTPSeparator, ab as InputOTPSlot, ac as Menubar, ad as MenubarCheckboxItem, ae as MenubarContent, af as MenubarGroup, ag as MenubarItem, ah as MenubarLabel, ai as MenubarMenu, aj as MenubarPortal, ak as MenubarRadioGroup, al as MenubarRadioItem, am as MenubarSeparator, an as MenubarShortcut, ao as MenubarSub, ap as MenubarSubContent, aq as MenubarSubTrigger, ar as MenubarTrigger, as as NavigationMenu, at as NavigationMenuContent, au as NavigationMenuIndicator, av as NavigationMenuItem, aw as NavigationMenuLink, ax as NavigationMenuList, ay as NavigationMenuTrigger, az as NavigationMenuViewport, aA as NotificationBadge, aB as Pagination, aC as PaginationContent, aD as PaginationEllipsis, aE as PaginationItem, aF as PaginationLink, aG as PaginationNext, aH as PaginationPrevious, aI as Rating, aJ as ResizableHandle, aK as ResizablePanel, aL as ResizablePanelGroup, aM as RouteMap, aN as Search, aO as Sheet, aP as SheetBody, aQ as SheetClose, aR as SheetContent, aS as SheetDescription, aT as SheetFooter, aU as SheetHeader, aV as SheetPortal, aW as SheetTitle, aX as SheetTrigger, aY as SimpleMap, aZ as StatsCard, a_ as StatsCardSkeleton, a$ as Step, b0 as Stepper, b1 as Timeline, b2 as TimelineContent, b3 as TimelineDescription, b4 as TimelineDot, b5 as TimelineHeading, b6 as TimelineItem, b7 as TimelineTime, b8 as Toggle, b9 as ToggleGroup, ba as ToggleGroupItem, bb as TreeView, bc as navigationMenuTriggerStyle, bd as toggleVariants, be as useFileUpload, bf as useFormField, bg as usePagination, bh as useStepper, bi as useStepperContext, bj as useTreeView } from './AssistantChart-CWX1OWNM.js';
7
+ export { A as Accordion, a as AccordionContent, b as AccordionItem, c as AccordionTrigger, d as AspectRatio, e as AssistantChart, C as Calendar, f as CalendarDayButton, g as Carousel, h as CarouselContent, i as CarouselItem, j as CarouselNext, k as CarouselPrevious, l as Collapsible, m as CollapsibleContent, n as CollapsibleTrigger, o as Command, p as CommandDialog, q as CommandEmpty, r as CommandGroup, s as CommandInput, t as CommandItem, u as CommandList, v as CommandSeparator, w as CommandShortcut, x as ContextMenu, y as ContextMenuCheckboxItem, z as ContextMenuContent, B as ContextMenuGroup, D as ContextMenuItem, E as ContextMenuLabel, F as ContextMenuPortal, G as ContextMenuRadioGroup, H as ContextMenuRadioItem, I as ContextMenuSeparator, J as ContextMenuShortcut, K as ContextMenuSub, L as ContextMenuSubContent, M as ContextMenuSubTrigger, N as ContextMenuTrigger, O as Drawer, P as DrawerClose, Q as DrawerContent, R as DrawerDescription, S as DrawerFooter, T as DrawerHandle, U as DrawerHeader, V as DrawerOverlay, W as DrawerPortal, X as DrawerTitle, Y as DrawerTrigger, Z as FileUpload, _ as Form, $ as FormControl, a0 as FormDescription, a1 as FormField, a2 as FormItem, a3 as FormLabel, a4 as FormMessage, a5 as HoverCard, a6 as HoverCardContent, a7 as HoverCardTrigger, a8 as InputOTP, a9 as InputOTPGroup, aa as InputOTPSeparator, ab as InputOTPSlot, ac as Menubar, ad as MenubarCheckboxItem, ae as MenubarContent, af as MenubarGroup, ag as MenubarItem, ah as MenubarLabel, ai as MenubarMenu, aj as MenubarPortal, ak as MenubarRadioGroup, al as MenubarRadioItem, am as MenubarSeparator, an as MenubarShortcut, ao as MenubarSub, ap as MenubarSubContent, aq as MenubarSubTrigger, ar as MenubarTrigger, as as NavigationMenu, at as NavigationMenuContent, au as NavigationMenuIndicator, av as NavigationMenuItem, aw as NavigationMenuLink, ax as NavigationMenuList, ay as NavigationMenuTrigger, az as NavigationMenuViewport, aA as NotificationBadge, aB as Pagination, aC as PaginationContent, aD as PaginationEllipsis, aE as PaginationItem, aF as PaginationLink, aG as PaginationNext, aH as PaginationPrevious, aI as Rating, aJ as ResizableHandle, aK as ResizablePanel, aL as ResizablePanelGroup, aM as RouteMap, aN as Search, aO as Sheet, aP as SheetBody, aQ as SheetClose, aR as SheetContent, aS as SheetDescription, aT as SheetFooter, aU as SheetHeader, aV as SheetPortal, aW as SheetTitle, aX as SheetTrigger, aY as SimpleMap, aZ as StatsCard, a_ as StatsCardSkeleton, a$ as Step, b0 as Stepper, b1 as Timeline, b2 as TimelineContent, b3 as TimelineDescription, b4 as TimelineDot, b5 as TimelineHeading, b6 as TimelineItem, b7 as TimelineTime, b8 as Toggle, b9 as ToggleGroup, ba as ToggleGroupItem, bb as TreeView, bc as navigationMenuTriggerStyle, bd as toggleVariants, be as useFileUpload, bf as useFormField, bg as usePagination, bh as useStepper, bi as useStepperContext, bj as useTreeView } from './AssistantChart-BKVtGUKF.js';
8
8
  export { B as Breadcrumb, a as BreadcrumbEllipsis, b as BreadcrumbItem, c as BreadcrumbLink, d as BreadcrumbList, e as BreadcrumbPage, f as BreadcrumbSeparator } from './breadcrumb-ifNsA7Zl.js';
9
9
  export { I as Input, P as Popover, a as PopoverAnchor, b as PopoverContent, c as PopoverTrigger, S as ScrollArea, d as ScrollBar } from './input-cc-PTD4R.js';
10
10
  export { A as Alert, a as AlertDescription, b as AlertTitle, C as ChartCard, c as ChartContainer, d as ChartLegend, e as ChartLegendContent, f as ChartStyle, g as ChartTooltip, h as ChartTooltipContent, i as ComboMetricChart, D as DashboardBarChart, j as DashboardLineChart, k as Dialog, l as DialogBody, m as DialogClose, n as DialogContent, o as DialogDescription, p as DialogFooter, q as DialogHeader, r as DialogOverlay, s as DialogPortal, t as DialogTitle, u as DialogTrigger, v as DonutBreakdownChart, E as Empty, w as EmptyAction, x as EmptyDescription, y as EmptyIcon, z as EmptyImage, B as EmptyTitle, G as GaugeChart, H as HorizontalBarChart, I as InteractiveTimeSeriesChart, P as PieMetricChart, R as RadarMetricChart, F as RadialBarMetricChart, J as RichTextEditor, S as SparklineChart, T as Table, K as TableBody, L as TableCaption, M as TableCell, N as TableFooter, O as TableHead, Q as TableHeader, U as TableRow, V as Textarea, W as useChart, X as useRichTextEditor } from './rich-text-editor-DqLICivI.js';
@@ -20,9 +20,9 @@ export { u as useIsMobile, a as useMobile } from './use-mobile-Ce2cBAQe.js';
20
20
  export { A as ActivityCard, a as ActivityCardSkeleton, F as FeatureCard, N as NotificationCard, b as NotificationCardSkeleton, P as ProfileCard, c as ProfileCardSkeleton, d as ProjectCard, e as ProjectCardSkeleton, Q as QuickActionCard, f as QuickActionCardSkeleton } from './FeatureCard-DNycVGwT.js';
21
21
  export { F as FeatureCardSkeleton } from './FeatureCardSkeleton-DZqc96mt.js';
22
22
  export { C as CodeBlock } from './CodeBlock-DYkTfR0f.js';
23
- export { L as LanguageSelector, T as ThemeToggle, X as XerticaLogo, a as XerticaXLogo } from './XerticaXLogo-mqjoBiLI.js';
23
+ export { L as LanguageSelector, T as ThemeToggle, X as XerticaLogo, a as XerticaXLogo } from './XerticaXLogo-BX3ueACh.js';
24
24
  export { X as XerticaOrbe } from './XerticaOrbe-jA5T2iOk.js';
25
- export { H as Header, S as Sidebar } from './sidebar-3XyzjVBw.js';
25
+ export { H as Header, S as Sidebar } from './sidebar-B4ZWaMrE.js';
26
26
  import 'react';
27
27
  export { L as LayoutProvider, u as useLayout, a as useOptionalLayout } from './LayoutContext-DNl1xSoX.js';
28
28
  export { D as DEFAULT_LANGUAGES, L as LanguageProvider, r as registerLanguageResource, u as useLanguage } from './ThemeContext-x_F2zsnv.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const sidebar = require('./sidebar-DyYvgyBj.cjs');
5
+ const sidebar = require('./sidebar-BS1p2V7t.cjs');
6
6
  const React = require('react');
7
7
  const useMobile = require('./use-mobile-BdXTRb0Z.cjs');
8
8
 
package/dist/layout.es.js CHANGED
@@ -1,4 +1,4 @@
1
- export { H as Header, S as Sidebar } from './sidebar-3XyzjVBw.js';
1
+ export { H as Header, S as Sidebar } from './sidebar-B4ZWaMrE.js';
2
2
  import { useState, useRef, useCallback, useEffect } from 'react';
3
3
  import { u as useIsMobile } from './use-mobile-Ce2cBAQe.js';
4
4
 
package/dist/pages.cjs.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const VerifyEmailPage = require('./VerifyEmailPage-By3Jf__L.cjs');
5
+ const VerifyEmailPage = require('./VerifyEmailPage-Bp1XXl3H.cjs');
6
6
 
7
7
 
8
8
 
package/dist/pages.es.js CHANGED
@@ -1 +1 @@
1
- export { F as ForgotPasswordPage, H as HomeContent, a as HomePage, L as LoginPage, R as ResetPasswordPage, T as TemplateContent, b as TemplatePage, V as VerifyEmailPage } from './VerifyEmailPage-DgIid028.js';
1
+ export { F as ForgotPasswordPage, H as HomeContent, a as HomePage, L as LoginPage, R as ResetPasswordPage, T as TemplateContent, b as TemplatePage, V as VerifyEmailPage } from './VerifyEmailPage-DGhuIqkb.js';