xertica-ui 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +1 -1
- package/bin/cli.ts +2 -1
- package/components/assistant/markdown-message/markdown-message.mdx +1 -1
- package/components/brand/language-selector/language-selector.mdx +1 -1
- package/components/brand/theme-toggle/theme-toggle.mdx +1 -1
- package/components/brand/xertica-logo/xertica-logo.mdx +1 -1
- package/components/brand/xertica-provider/xertica-provider.mdx +1 -1
- package/components/brand/xertica-xlogo/xertica-xlogo.mdx +1 -1
- package/components/index.ts +6 -0
- package/components/layout/header/header.mdx +1 -1
- package/components/layout/sidebar/sidebar.mdx +2 -1
- package/components/media/floating-media-wrapper.mdx +2 -2
- package/components/pages/forgot-password-page/ForgotPasswordPage.tsx +2 -4
- package/components/pages/home-content/HomeContent.tsx +1 -1
- package/components/pages/home-content/home-content.mdx +1 -1
- package/components/pages/home-page/HomePage.stories.tsx +39 -0
- package/components/pages/home-page/HomePage.tsx +2 -3
- package/components/pages/home-page/home-page.mdx +56 -0
- package/components/pages/login-page/LoginPage.tsx +2 -5
- package/components/pages/reset-password-page/reset-password-page.mdx +6 -2
- package/components/pages/template-page/TemplatePage.stories.tsx +39 -0
- package/components/pages/template-page/TemplatePage.tsx +3 -1
- package/components/pages/template-page/template-page.mdx +54 -0
- package/components/pages/verify-email-page/VerifyEmailPage.tsx +2 -4
- package/components/ui/accordion/accordion.stories.tsx +27 -1
- package/components/ui/alert-dialog/alert-dialog.stories.tsx +30 -0
- package/components/ui/button/button.stories.tsx +23 -0
- package/components/ui/checkbox/checkbox.stories.tsx +20 -1
- package/components/ui/dialog/dialog.stories.tsx +30 -0
- package/components/ui/google-maps-loader/google-maps-loader.mdx +1 -1
- package/components/ui/input/input.stories.tsx +24 -0
- package/components/ui/switch/switch.stories.tsx +20 -1
- package/components/ui/tabs/tabs.stories.tsx +26 -1
- package/components.json +1507 -530
- package/dist/cli.js +3 -2
- package/dist/components/index.d.ts +6 -0
- package/dist/index.cjs.js +1233 -484
- package/dist/index.es.js +778 -28
- package/dist/ui.cjs.js +178 -178
- package/dist/ui.es.js +1 -1
- package/dist/use-mobile-CaENcqm-.js +4508 -0
- package/dist/use-mobile-DMOvImGQ.cjs +4542 -0
- package/dist/xertica-ui.css +1 -1
- package/docs/decision-tree.md +287 -0
- package/guidelines/Guidelines.md +250 -657
- package/llms-compact.txt +327 -0
- package/llms.txt +160 -71
- package/package.json +193 -192
- package/templates/CLAUDE.md +160 -0
- package/templates/guidelines/Guidelines.md +245 -99
- package/templates/package.json +3 -3
package/dist/index.cjs.js
CHANGED
|
@@ -8,18 +8,18 @@ const header = require("./header-Dux00SI4.cjs");
|
|
|
8
8
|
const React = require("react");
|
|
9
9
|
const tooltip = require("./tooltip-Ded96neP.cjs");
|
|
10
10
|
const input = require("./input-DWANSKGb.cjs");
|
|
11
|
-
const
|
|
11
|
+
const useMobile = require("./use-mobile-DMOvImGQ.cjs");
|
|
12
12
|
const select = require("./select-Bkbr0f-Z.cjs");
|
|
13
13
|
const richTextEditor = require("./rich-text-editor-D6H84OcX.cjs");
|
|
14
14
|
const lucideReact = require("lucide-react");
|
|
15
15
|
const slider = require("./slider-N7hFFj6X.cjs");
|
|
16
16
|
const sonner$1 = require("sonner");
|
|
17
17
|
const LayoutContext = require("./LayoutContext-BvK-ggDa.cjs");
|
|
18
|
+
const LanguageSelector = require("./LanguageSelector-D6uacAIM.cjs");
|
|
18
19
|
const breadcrumb = require("./breadcrumb-m9Hb2_XN.cjs");
|
|
19
20
|
const dropdownMenu = require("./dropdown-menu-BDB5CmQs.cjs");
|
|
20
21
|
const sonner = require("./sonner-DeUIj0Zg.cjs");
|
|
21
22
|
const googleMapsLoader = require("./google-maps-loader-eS3uQ5TA.cjs");
|
|
22
|
-
const LanguageSelector = require("./LanguageSelector-D6uacAIM.cjs");
|
|
23
23
|
const XerticaOrbe = require("./XerticaOrbe-KL1RBHzw.cjs");
|
|
24
24
|
const AudioPlayer = require("./AudioPlayer-BZ7bibzU.cjs");
|
|
25
25
|
function createLucideIconSvg(iconName) {
|
|
@@ -207,7 +207,7 @@ function FilterableMapExample({ apiKey }) {
|
|
|
207
207
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.MapPin, { className: "w-5 h-5 text-primary" }),
|
|
208
208
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { children: "Filtro por Categorias" })
|
|
209
209
|
] }),
|
|
210
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
210
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Badge, { variant: "secondary", children: [
|
|
211
211
|
filteredLocations.length,
|
|
212
212
|
" de ",
|
|
213
213
|
sampleLocations.length,
|
|
@@ -217,7 +217,7 @@ function FilterableMapExample({ apiKey }) {
|
|
|
217
217
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "Use os filtros compactos no canto superior esquerdo do mapa para visualizar marcadores por categoria" }),
|
|
218
218
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
219
219
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
220
|
-
|
|
220
|
+
useMobile.Map,
|
|
221
221
|
{
|
|
222
222
|
center: { lat: -23.5505, lng: -46.6333 },
|
|
223
223
|
zoom: 14,
|
|
@@ -259,17 +259,17 @@ function FilterableMapExample({ apiKey }) {
|
|
|
259
259
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
|
|
260
260
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2 py-0.5", children: [
|
|
261
261
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
262
|
-
|
|
262
|
+
useMobile.Checkbox,
|
|
263
263
|
{
|
|
264
264
|
id: "filter-all",
|
|
265
265
|
checked: activeFilters.size === Object.keys(markerGroups).length,
|
|
266
266
|
onCheckedChange: toggleAll
|
|
267
267
|
}
|
|
268
268
|
),
|
|
269
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
269
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Label, { htmlFor: "filter-all", className: "flex items-center gap-1.5 cursor-pointer text-sm", children: [
|
|
270
270
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.MapPin, { className: "w-3.5 h-3.5" }),
|
|
271
271
|
"Todos",
|
|
272
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
272
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "secondary", className: "text-xs h-4 px-1", children: sampleLocations.length })
|
|
273
273
|
] })
|
|
274
274
|
] }),
|
|
275
275
|
Object.entries(markerGroups).map(([id, group]) => {
|
|
@@ -279,7 +279,7 @@ function FilterableMapExample({ apiKey }) {
|
|
|
279
279
|
const count = getGroupCount(groupId);
|
|
280
280
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2 py-0.5", children: [
|
|
281
281
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
282
|
-
|
|
282
|
+
useMobile.Checkbox,
|
|
283
283
|
{
|
|
284
284
|
id: `filter-${id}`,
|
|
285
285
|
checked: isActive,
|
|
@@ -287,7 +287,7 @@ function FilterableMapExample({ apiKey }) {
|
|
|
287
287
|
}
|
|
288
288
|
),
|
|
289
289
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
290
|
-
|
|
290
|
+
useMobile.Label,
|
|
291
291
|
{
|
|
292
292
|
htmlFor: `filter-${id}`,
|
|
293
293
|
className: "flex items-center gap-1.5 cursor-pointer text-sm",
|
|
@@ -300,7 +300,7 @@ function FilterableMapExample({ apiKey }) {
|
|
|
300
300
|
}
|
|
301
301
|
),
|
|
302
302
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: isActive ? "text-foreground" : "text-muted-foreground", children: group.name }),
|
|
303
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
303
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "outline", className: "text-xs h-4 px-1", children: count })
|
|
304
304
|
]
|
|
305
305
|
}
|
|
306
306
|
)
|
|
@@ -342,7 +342,7 @@ function FilterableMapExample({ apiKey }) {
|
|
|
342
342
|
),
|
|
343
343
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "w-4 h-4", style: { color: group.color } }),
|
|
344
344
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", style: { color: "var(--foreground)" }, children: group.name }),
|
|
345
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
345
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "secondary", className: "text-xs h-5", children: count })
|
|
346
346
|
]
|
|
347
347
|
},
|
|
348
348
|
id
|
|
@@ -630,19 +630,19 @@ function DrawingMapExample({ apiKey }) {
|
|
|
630
630
|
]
|
|
631
631
|
}
|
|
632
632
|
);
|
|
633
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
634
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
633
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { className: "h-full border-0 shadow-none md:border md:shadow-sm", children: [
|
|
634
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardHeader, { className: "border-b bg-muted/20 pb-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
635
635
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
636
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
637
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
636
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Ferramentas de Desenho" }),
|
|
637
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { className: "mt-1", children: "Crie geometrias personalizadas no mapa" })
|
|
638
638
|
] }),
|
|
639
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
639
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Badge, { variant: "outline", className: "h-6", children: [
|
|
640
640
|
shapes.length,
|
|
641
641
|
" ",
|
|
642
642
|
shapes.length === 1 ? "elemento" : "elementos"
|
|
643
643
|
] })
|
|
644
644
|
] }) }),
|
|
645
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
645
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardContent, { className: "p-0 flex flex-col md:flex-row h-[600px] bg-background", children: [
|
|
646
646
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full md:w-64 border-b md:border-b-0 md:border-r bg-muted/10 flex flex-col", children: [
|
|
647
647
|
/* @__PURE__ */ jsxRuntime.jsx(input.ScrollArea, { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 space-y-6", children: [
|
|
648
648
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
@@ -695,7 +695,7 @@ function DrawingMapExample({ apiKey }) {
|
|
|
695
695
|
)
|
|
696
696
|
] })
|
|
697
697
|
] }),
|
|
698
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
698
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
699
699
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
700
700
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider px-2", children: "Ações" }),
|
|
701
701
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-2", children: [
|
|
@@ -782,7 +782,7 @@ function DrawingMapExample({ apiKey }) {
|
|
|
782
782
|
] }),
|
|
783
783
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 relative bg-muted/5 min-h-[400px]", children: [
|
|
784
784
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
785
|
-
|
|
785
|
+
useMobile.Map,
|
|
786
786
|
{
|
|
787
787
|
className: "h-full w-full rounded-none md:rounded-br-lg",
|
|
788
788
|
center: { lat: -23.5505, lng: -46.6333 },
|
|
@@ -835,19 +835,19 @@ function MapShowcase() {
|
|
|
835
835
|
};
|
|
836
836
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-8", children: [
|
|
837
837
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
838
|
-
|
|
838
|
+
useMobile.PageHeader,
|
|
839
839
|
{
|
|
840
840
|
title: "Mapas",
|
|
841
841
|
subtitle: "Biblioteca de componentes de mapa para visualização de dados geoespaciais. Utiliza a API do Google Maps com estilização personalizada do Xertica UI.",
|
|
842
|
-
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
842
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { children: "Design System" })
|
|
843
843
|
}
|
|
844
844
|
),
|
|
845
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
846
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
847
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
848
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
845
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
846
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
847
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Configuração da API Key" }),
|
|
848
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Insira sua Google Maps API Key para renderizar os mapas abaixo." })
|
|
849
849
|
] }),
|
|
850
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
850
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-md items-center space-x-2", children: [
|
|
851
851
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
852
852
|
input.Input,
|
|
853
853
|
{
|
|
@@ -862,24 +862,24 @@ function MapShowcase() {
|
|
|
862
862
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { onClick: () => setApiKey(inputApiKey), children: "Salvar" })
|
|
863
863
|
] }) })
|
|
864
864
|
] }),
|
|
865
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
866
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
867
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
868
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
869
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
870
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
865
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Tabs, { value: activeTab, onValueChange: handleTabChange, className: "w-full", children: [
|
|
866
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.TabsList, { className: "grid w-full grid-cols-4 mb-8", children: [
|
|
867
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsTrigger, { value: "simple", children: "Mapas Simples" }),
|
|
868
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsTrigger, { value: "markers", children: "Marcadores" }),
|
|
869
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsTrigger, { value: "controls", children: "Controles" }),
|
|
870
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.TabsTrigger, { value: "drawing", className: "flex items-center gap-2", children: [
|
|
871
871
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "w-3 h-3" }),
|
|
872
872
|
" Desenho"
|
|
873
873
|
] })
|
|
874
874
|
] }),
|
|
875
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
876
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
877
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
878
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
879
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
875
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsContent, { value: "simple", className: "space-y-8", children: !isTransitioning && activeTab === "simple" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
876
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
877
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
878
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Mapa Padrão" }),
|
|
879
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Configuração básica do mapa centralizado em uma coordenada específica." })
|
|
880
880
|
] }),
|
|
881
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
882
|
-
|
|
881
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
882
|
+
useMobile.Map,
|
|
883
883
|
{
|
|
884
884
|
center: { lat: -23.5505, lng: -46.6333 },
|
|
885
885
|
zoom: 13,
|
|
@@ -888,58 +888,58 @@ function MapShowcase() {
|
|
|
888
888
|
}
|
|
889
889
|
) })
|
|
890
890
|
] }),
|
|
891
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
892
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
893
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
894
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
891
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
892
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
893
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Camadas (Layers)" }),
|
|
894
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Sobreposição de informações como tráfego, transporte público e ciclovias." })
|
|
895
895
|
] }),
|
|
896
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
896
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardContent, { className: "space-y-4", children: [
|
|
897
897
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-6 p-4 border rounded-lg bg-muted/50", children: [
|
|
898
898
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
899
899
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
900
|
-
|
|
900
|
+
useMobile.Switch,
|
|
901
901
|
{
|
|
902
902
|
id: "traffic",
|
|
903
903
|
checked: showTraffic,
|
|
904
904
|
onCheckedChange: setShowTraffic
|
|
905
905
|
}
|
|
906
906
|
),
|
|
907
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
907
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Label, { htmlFor: "traffic", className: "flex items-center gap-2", children: [
|
|
908
908
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Layers, { className: "w-4 h-4" }),
|
|
909
909
|
" Trânsito"
|
|
910
910
|
] })
|
|
911
911
|
] }),
|
|
912
912
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
913
913
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
914
|
-
|
|
914
|
+
useMobile.Switch,
|
|
915
915
|
{
|
|
916
916
|
id: "transit",
|
|
917
917
|
checked: showTransit,
|
|
918
918
|
onCheckedChange: setShowTransit
|
|
919
919
|
}
|
|
920
920
|
),
|
|
921
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
921
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Label, { htmlFor: "transit", className: "flex items-center gap-2", children: [
|
|
922
922
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Layers, { className: "w-4 h-4" }),
|
|
923
923
|
" Transporte"
|
|
924
924
|
] })
|
|
925
925
|
] }),
|
|
926
926
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
927
927
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
928
|
-
|
|
928
|
+
useMobile.Switch,
|
|
929
929
|
{
|
|
930
930
|
id: "bicycling",
|
|
931
931
|
checked: showBicycling,
|
|
932
932
|
onCheckedChange: setShowBicycling
|
|
933
933
|
}
|
|
934
934
|
),
|
|
935
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
935
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Label, { htmlFor: "bicycling", className: "flex items-center gap-2", children: [
|
|
936
936
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Layers, { className: "w-4 h-4" }),
|
|
937
937
|
" Ciclovias"
|
|
938
938
|
] })
|
|
939
939
|
] })
|
|
940
940
|
] }),
|
|
941
941
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
942
|
-
|
|
942
|
+
useMobile.Map,
|
|
943
943
|
{
|
|
944
944
|
center: { lat: -23.5505, lng: -46.6333 },
|
|
945
945
|
zoom: 12,
|
|
@@ -955,10 +955,10 @@ function MapShowcase() {
|
|
|
955
955
|
] })
|
|
956
956
|
] }),
|
|
957
957
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid md:grid-cols-3 gap-4", children: [
|
|
958
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
959
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
960
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
961
|
-
|
|
958
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
959
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardHeader, { className: "p-4 pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { className: "text-sm", children: "São Paulo" }) }),
|
|
960
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { className: "p-4 pt-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
961
|
+
useMobile.Map,
|
|
962
962
|
{
|
|
963
963
|
center: { lat: -23.5505, lng: -46.6333 },
|
|
964
964
|
zoom: 11,
|
|
@@ -968,10 +968,10 @@ function MapShowcase() {
|
|
|
968
968
|
}
|
|
969
969
|
) })
|
|
970
970
|
] }),
|
|
971
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
972
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
973
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
974
|
-
|
|
971
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
972
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardHeader, { className: "p-4 pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { className: "text-sm", children: "Rio de Janeiro" }) }),
|
|
973
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { className: "p-4 pt-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
974
|
+
useMobile.Map,
|
|
975
975
|
{
|
|
976
976
|
center: { lat: -22.9068, lng: -43.1729 },
|
|
977
977
|
zoom: 11,
|
|
@@ -981,10 +981,10 @@ function MapShowcase() {
|
|
|
981
981
|
}
|
|
982
982
|
) })
|
|
983
983
|
] }),
|
|
984
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
985
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
986
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
987
|
-
|
|
984
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
985
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardHeader, { className: "p-4 pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { className: "text-sm", children: "New York" }) }),
|
|
986
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { className: "p-4 pt-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
987
|
+
useMobile.Map,
|
|
988
988
|
{
|
|
989
989
|
center: { lat: 40.7128, lng: -74.006 },
|
|
990
990
|
zoom: 11,
|
|
@@ -996,14 +996,14 @@ function MapShowcase() {
|
|
|
996
996
|
] })
|
|
997
997
|
] })
|
|
998
998
|
] }) }),
|
|
999
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1000
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1001
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1002
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1003
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
999
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsContent, { value: "markers", className: "space-y-8", children: !isTransitioning && activeTab === "markers" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1000
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1001
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1002
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Marcadores e Pins" }),
|
|
1003
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Exemplos de marcadores personalizados com diferentes cores e informações." })
|
|
1004
1004
|
] }),
|
|
1005
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1006
|
-
|
|
1005
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1006
|
+
useMobile.Map,
|
|
1007
1007
|
{
|
|
1008
1008
|
center: { lat: -23.5505, lng: -46.6333 },
|
|
1009
1009
|
zoom: 13,
|
|
@@ -1034,13 +1034,13 @@ function MapShowcase() {
|
|
|
1034
1034
|
}
|
|
1035
1035
|
) })
|
|
1036
1036
|
] }),
|
|
1037
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1038
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1039
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1040
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1037
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1038
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1039
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Marcador com Ações" }),
|
|
1040
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Marcador interativo que exibe conteúdo rico (texto, imagem, botões) ao ser clicado." })
|
|
1041
1041
|
] }),
|
|
1042
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1043
|
-
|
|
1042
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1043
|
+
useMobile.Map,
|
|
1044
1044
|
{
|
|
1045
1045
|
center: { lat: -23.5505, lng: -46.6333 },
|
|
1046
1046
|
zoom: 13,
|
|
@@ -1053,7 +1053,7 @@ function MapShowcase() {
|
|
|
1053
1053
|
richContent: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 max-w-[260px]", children: [
|
|
1054
1054
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
|
|
1055
1055
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-semibold text-base", children: "Xertica HQ" }),
|
|
1056
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1056
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "outline", className: "text-[10px] h-5", children: "Open" })
|
|
1057
1057
|
] }),
|
|
1058
1058
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full h-32 bg-muted rounded-md mb-3 overflow-hidden relative", children: [
|
|
1059
1059
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-[image:var(--gradient-diagonal)] opacity-80" }),
|
|
@@ -1070,13 +1070,13 @@ function MapShowcase() {
|
|
|
1070
1070
|
}
|
|
1071
1071
|
) })
|
|
1072
1072
|
] }),
|
|
1073
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1074
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1075
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1076
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1073
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1074
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1075
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Áreas e Zonas" }),
|
|
1076
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Delimitação de áreas geográficas usando círculos e polígonos." })
|
|
1077
1077
|
] }),
|
|
1078
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1079
|
-
|
|
1078
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1079
|
+
useMobile.Map,
|
|
1080
1080
|
{
|
|
1081
1081
|
center: { lat: -23.5505, lng: -46.6333 },
|
|
1082
1082
|
zoom: 12,
|
|
@@ -1112,61 +1112,61 @@ function MapShowcase() {
|
|
|
1112
1112
|
) })
|
|
1113
1113
|
] })
|
|
1114
1114
|
] }) }),
|
|
1115
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1116
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1117
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1118
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1119
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1115
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsContent, { value: "controls", className: "space-y-8", children: !isTransitioning && activeTab === "controls" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1116
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1117
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1118
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Controles do Mapa" }),
|
|
1119
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Personalize a interface do mapa ativando ou desativando controles nativos." })
|
|
1120
1120
|
] }),
|
|
1121
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1121
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardContent, { className: "space-y-4", children: [
|
|
1122
1122
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-4 p-4 border rounded-lg bg-muted/50", children: [
|
|
1123
1123
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1124
1124
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1125
|
-
|
|
1125
|
+
useMobile.Checkbox,
|
|
1126
1126
|
{
|
|
1127
1127
|
id: "zoom",
|
|
1128
1128
|
checked: showZoomControl,
|
|
1129
1129
|
onCheckedChange: (c) => setShowZoomControl(!!c)
|
|
1130
1130
|
}
|
|
1131
1131
|
),
|
|
1132
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1132
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "zoom", children: "Zoom Control" })
|
|
1133
1133
|
] }),
|
|
1134
1134
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1135
1135
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1136
|
-
|
|
1136
|
+
useMobile.Checkbox,
|
|
1137
1137
|
{
|
|
1138
1138
|
id: "maptype",
|
|
1139
1139
|
checked: showMapTypeControl,
|
|
1140
1140
|
onCheckedChange: (c) => setShowMapTypeControl(!!c)
|
|
1141
1141
|
}
|
|
1142
1142
|
),
|
|
1143
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1143
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "maptype", children: "Map Type" })
|
|
1144
1144
|
] }),
|
|
1145
1145
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1146
1146
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1147
|
-
|
|
1147
|
+
useMobile.Checkbox,
|
|
1148
1148
|
{
|
|
1149
1149
|
id: "streetview",
|
|
1150
1150
|
checked: showStreetViewControl,
|
|
1151
1151
|
onCheckedChange: (c) => setShowStreetViewControl(!!c)
|
|
1152
1152
|
}
|
|
1153
1153
|
),
|
|
1154
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1154
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "streetview", children: "Street View" })
|
|
1155
1155
|
] }),
|
|
1156
1156
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1157
1157
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1158
|
-
|
|
1158
|
+
useMobile.Checkbox,
|
|
1159
1159
|
{
|
|
1160
1160
|
id: "fullscreen",
|
|
1161
1161
|
checked: showFullscreenControl,
|
|
1162
1162
|
onCheckedChange: (c) => setShowFullscreenControl(!!c)
|
|
1163
1163
|
}
|
|
1164
1164
|
),
|
|
1165
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1165
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "fullscreen", children: "Fullscreen" })
|
|
1166
1166
|
] })
|
|
1167
1167
|
] }),
|
|
1168
1168
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1169
|
-
|
|
1169
|
+
useMobile.Map,
|
|
1170
1170
|
{
|
|
1171
1171
|
center: { lat: -23.5505, lng: -46.6333 },
|
|
1172
1172
|
zoom: 13,
|
|
@@ -1180,15 +1180,15 @@ function MapShowcase() {
|
|
|
1180
1180
|
)
|
|
1181
1181
|
] })
|
|
1182
1182
|
] }),
|
|
1183
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1184
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1185
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1186
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1183
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1184
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1185
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Filtros Interativos" }),
|
|
1186
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Exemplo avançado de mapa com controles customizados para filtragem de marcadores." })
|
|
1187
1187
|
] }),
|
|
1188
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1188
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx(FilterableMapExample, { apiKey }) })
|
|
1189
1189
|
] })
|
|
1190
1190
|
] }) }),
|
|
1191
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1191
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsContent, { value: "drawing", className: "space-y-8", children: !isTransitioning && activeTab === "drawing" && /* @__PURE__ */ jsxRuntime.jsx(DrawingMapExample, { apiKey }) })
|
|
1192
1192
|
] }),
|
|
1193
1193
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid md:grid-cols-3 gap-6 pt-8 border-t", children: [
|
|
1194
1194
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
@@ -1251,7 +1251,7 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1251
1251
|
),
|
|
1252
1252
|
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex-1 overflow-hidden bg-muted", children: /* @__PURE__ */ jsxRuntime.jsx(input.ScrollArea, { className: "h-full", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 sm:p-4 md:p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-6xl mx-auto space-y-8", children: [
|
|
1253
1253
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1254
|
-
|
|
1254
|
+
useMobile.PageHeader,
|
|
1255
1255
|
{
|
|
1256
1256
|
title: "Página de Template",
|
|
1257
1257
|
subtitle: "Template completo com componentes do Design System"
|
|
@@ -1259,12 +1259,12 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1259
1259
|
),
|
|
1260
1260
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
1261
1261
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Header with Breadcrumbs" }),
|
|
1262
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1263
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1264
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1265
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1262
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1263
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1264
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Main Header" }),
|
|
1265
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Example of Header with 4-level breadcrumbs" })
|
|
1266
1266
|
] }),
|
|
1267
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1267
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardContent, { className: "p-0 border-t bg-background overflow-hidden rounded-b-[var(--radius-lg)]", children: [
|
|
1268
1268
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1269
1269
|
header.Header,
|
|
1270
1270
|
{
|
|
@@ -1290,95 +1290,95 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1290
1290
|
] })
|
|
1291
1291
|
] })
|
|
1292
1292
|
] }),
|
|
1293
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1293
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, { className: "my-8" }),
|
|
1294
1294
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
1295
1295
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Alertas" }),
|
|
1296
1296
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-2", children: [
|
|
1297
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1298
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1299
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1297
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Alert, { variant: "info", children: [
|
|
1298
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertTitle, { children: "Informação" }),
|
|
1299
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertDescription, { children: "Este é um exemplo de alerta informativo usando os componentes do Design System." })
|
|
1300
1300
|
] }),
|
|
1301
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1302
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1303
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1301
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Alert, { variant: "destructive", children: [
|
|
1302
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertTitle, { children: "Erro" }),
|
|
1303
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertDescription, { children: "Ocorreu um erro ao processar sua solicitação." })
|
|
1304
1304
|
] }),
|
|
1305
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1306
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1307
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1305
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Alert, { variant: "success", children: [
|
|
1306
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertTitle, { children: "Sucesso" }),
|
|
1307
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertDescription, { children: "Operação realizada com sucesso!" })
|
|
1308
1308
|
] }),
|
|
1309
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1310
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1311
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1309
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Alert, { variant: "warning", children: [
|
|
1310
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertTitle, { children: "Aviso" }),
|
|
1311
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertDescription, { children: "Atenção: Esta ação não pode ser desfeita." })
|
|
1312
1312
|
] })
|
|
1313
1313
|
] })
|
|
1314
1314
|
] }),
|
|
1315
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1315
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, { className: "my-8" }),
|
|
1316
1316
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
1317
1317
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Cards & Abas" }),
|
|
1318
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1319
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1320
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1321
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1322
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1323
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1318
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Tabs, { defaultValue: "overview", className: "w-full", children: [
|
|
1319
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.TabsList, { className: "grid w-full grid-cols-4", children: [
|
|
1320
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsTrigger, { value: "overview", children: "Visão Geral" }),
|
|
1321
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsTrigger, { value: "forms", children: "Formulários" }),
|
|
1322
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsTrigger, { value: "data", children: "Dados" }),
|
|
1323
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsTrigger, { value: "settings", children: "Configurações" })
|
|
1324
1324
|
] }),
|
|
1325
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1325
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.TabsContent, { value: "overview", className: "space-y-4", children: [
|
|
1326
1326
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-3", children: [
|
|
1327
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1328
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1329
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1330
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1327
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1328
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1329
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Total de Usuários" }),
|
|
1330
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Últimos 30 dias" })
|
|
1331
1331
|
] }),
|
|
1332
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1332
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-foreground", children: [
|
|
1333
1333
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "[font-size:var(--text-stats)] [font-weight:var(--font-weight-bold)]", children: "1,234" }),
|
|
1334
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1334
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "default", className: "ml-2", children: "+12%" })
|
|
1335
1335
|
] }) })
|
|
1336
1336
|
] }),
|
|
1337
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1338
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1339
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1340
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1337
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1338
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1339
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Receita Total" }),
|
|
1340
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Mês atual" })
|
|
1341
1341
|
] }),
|
|
1342
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1342
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-foreground", children: [
|
|
1343
1343
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "[font-size:var(--text-stats)] [font-weight:var(--font-weight-bold)]", children: "$ 45.2k" }),
|
|
1344
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1344
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "secondary", className: "ml-2", children: "+8%" })
|
|
1345
1345
|
] }) })
|
|
1346
1346
|
] }),
|
|
1347
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1348
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1349
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1350
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1347
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1348
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1349
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Taxa de Conversão" }),
|
|
1350
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Semana atual" })
|
|
1351
1351
|
] }),
|
|
1352
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1352
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-foreground", children: [
|
|
1353
1353
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "[font-size:var(--text-stats)] [font-weight:var(--font-weight-bold)]", children: "3.2%" }),
|
|
1354
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1354
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "outline", className: "ml-2", children: "-2%" })
|
|
1355
1355
|
] }) })
|
|
1356
1356
|
] })
|
|
1357
1357
|
] }),
|
|
1358
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1359
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1360
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1361
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1358
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1359
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1360
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Progresso & Sliders" }),
|
|
1361
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Exemplo de componentes de progresso" })
|
|
1362
1362
|
] }),
|
|
1363
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1363
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardContent, { className: "space-y-6", children: [
|
|
1364
1364
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1365
1365
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1366
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1366
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { children: "Progresso do Projeto" }),
|
|
1367
1367
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "[font-size:var(--text-small)] text-muted-foreground", children: [
|
|
1368
1368
|
progress,
|
|
1369
1369
|
"%"
|
|
1370
1370
|
] })
|
|
1371
1371
|
] }),
|
|
1372
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1372
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Progress, { value: progress, className: "w-full" }),
|
|
1373
1373
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1374
1374
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { size: "sm", onClick: () => setProgress(Math.max(0, progress - 10)), children: "-10%" }),
|
|
1375
1375
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { size: "sm", onClick: () => setProgress(Math.min(100, progress + 10)), children: "+10%" })
|
|
1376
1376
|
] })
|
|
1377
1377
|
] }),
|
|
1378
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1378
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
1379
1379
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1380
1380
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1381
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1381
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { children: "Volume" }),
|
|
1382
1382
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "[font-size:var(--text-small)] text-muted-foreground", children: [
|
|
1383
1383
|
sliderValue[0],
|
|
1384
1384
|
"%"
|
|
@@ -1400,38 +1400,38 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1400
1400
|
] })
|
|
1401
1401
|
] })
|
|
1402
1402
|
] }),
|
|
1403
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1404
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1405
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1406
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1403
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsContent, { value: "forms", className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1404
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1405
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Formulário de Cadastro" }),
|
|
1406
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Preencha os campos abaixo para criar uma nova conta" })
|
|
1407
1407
|
] }),
|
|
1408
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1408
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleFormSubmit, className: "space-y-4", children: [
|
|
1409
1409
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-2", children: [
|
|
1410
1410
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1411
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1411
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "firstName", children: "Nome" }),
|
|
1412
1412
|
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "firstName", placeholder: "João" })
|
|
1413
1413
|
] }),
|
|
1414
1414
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1415
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1415
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "lastName", children: "Sobrenome" }),
|
|
1416
1416
|
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "lastName", placeholder: "Silva" })
|
|
1417
1417
|
] })
|
|
1418
1418
|
] }),
|
|
1419
1419
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1420
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1420
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "email", children: "E-mail" }),
|
|
1421
1421
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
1422
1422
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "absolute left-3 top-3 h-4 w-4 text-muted-foreground" }),
|
|
1423
1423
|
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "email", type: "email", placeholder: "john@example.com", className: "pl-10" })
|
|
1424
1424
|
] })
|
|
1425
1425
|
] }),
|
|
1426
1426
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1427
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1427
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "phone", children: "Telefone" }),
|
|
1428
1428
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
1429
1429
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Phone, { className: "absolute left-3 top-3 h-4 w-4 text-muted-foreground" }),
|
|
1430
1430
|
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "phone", type: "tel", placeholder: "(11) 99999-9999", className: "pl-10" })
|
|
1431
1431
|
] })
|
|
1432
1432
|
] }),
|
|
1433
1433
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1434
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1434
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "role", children: "Função" }),
|
|
1435
1435
|
/* @__PURE__ */ jsxRuntime.jsxs(select.Select, { children: [
|
|
1436
1436
|
/* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { id: "role", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, { placeholder: "Selecione uma função" }) }),
|
|
1437
1437
|
/* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
|
|
@@ -1443,7 +1443,7 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1443
1443
|
] })
|
|
1444
1444
|
] }),
|
|
1445
1445
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1446
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1446
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "bio", children: "Biografia" }),
|
|
1447
1447
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1448
1448
|
richTextEditor.Textarea,
|
|
1449
1449
|
{
|
|
@@ -1453,54 +1453,54 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1453
1453
|
}
|
|
1454
1454
|
)
|
|
1455
1455
|
] }),
|
|
1456
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1456
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
1457
1457
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
1458
1458
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { children: "Preferências" }),
|
|
1459
1459
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1460
1460
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1461
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1462
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1461
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Checkbox, { id: "newsletter" }),
|
|
1462
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "newsletter", className: "font-normal", children: "Receber newsletter por e-mail" })
|
|
1463
1463
|
] }),
|
|
1464
1464
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1465
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1466
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1465
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Checkbox, { id: "notifications" }),
|
|
1466
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "notifications", className: "font-normal", children: "Ativar notificações push" })
|
|
1467
1467
|
] }),
|
|
1468
1468
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1469
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1470
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1469
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Checkbox, { id: "updates" }),
|
|
1470
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "updates", className: "font-normal", children: "Receber atualizações sobre novos recursos" })
|
|
1471
1471
|
] })
|
|
1472
1472
|
] }),
|
|
1473
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1473
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
1474
1474
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1475
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1476
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1475
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { children: "Tipo de Conta" }),
|
|
1476
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.RadioGroup, { defaultValue: "personal", "aria-label": "Tipo de Conta", children: [
|
|
1477
1477
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1478
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1479
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1478
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.RadioGroupItem, { value: "personal", id: "personal" }),
|
|
1479
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "personal", className: "font-normal", children: "Pessoal" })
|
|
1480
1480
|
] }),
|
|
1481
1481
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1482
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1483
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1482
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.RadioGroupItem, { value: "business", id: "business" }),
|
|
1483
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "business", className: "font-normal", children: "Empresarial" })
|
|
1484
1484
|
] }),
|
|
1485
1485
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1486
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1487
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1486
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.RadioGroupItem, { value: "enterprise", id: "enterprise" }),
|
|
1487
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "enterprise", className: "font-normal", children: "Corporativo" })
|
|
1488
1488
|
] })
|
|
1489
1489
|
] })
|
|
1490
1490
|
] })
|
|
1491
1491
|
] })
|
|
1492
1492
|
] }) }),
|
|
1493
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1493
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardFooter, { className: "flex justify-between", children: [
|
|
1494
1494
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "outline", children: "Cancelar" }),
|
|
1495
1495
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { onClick: handleFormSubmit, children: "Criar Conta" })
|
|
1496
1496
|
] })
|
|
1497
1497
|
] }) }),
|
|
1498
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1499
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1500
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1501
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1498
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsContent, { value: "data", className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1499
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1500
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Lista de Usuários" }),
|
|
1501
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Gerenciar usuários do sistema" })
|
|
1502
1502
|
] }),
|
|
1503
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1503
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardContent, { children: [
|
|
1504
1504
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
1505
1505
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "absolute left-3 top-3 h-4 w-4 text-muted-foreground" }),
|
|
1506
1506
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1525,34 +1525,34 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1525
1525
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "Ana Silva" }),
|
|
1526
1526
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "ana.silva@example.com" }),
|
|
1527
1527
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "Developer" }),
|
|
1528
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1528
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "default", children: "Active" }) }),
|
|
1529
1529
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "ghost", size: "sm", children: "Edit" }) })
|
|
1530
1530
|
] }),
|
|
1531
1531
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.TableRow, { children: [
|
|
1532
1532
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "Bruno Costa" }),
|
|
1533
1533
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "bruno.costa@example.com" }),
|
|
1534
1534
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "Designer" }),
|
|
1535
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1535
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "default", children: "Active" }) }),
|
|
1536
1536
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "ghost", size: "sm", children: "Edit" }) })
|
|
1537
1537
|
] }),
|
|
1538
1538
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.TableRow, { children: [
|
|
1539
1539
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "Carla Oliveira" }),
|
|
1540
1540
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "carla.oliveira@example.com" }),
|
|
1541
1541
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "Manager" }),
|
|
1542
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1542
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "secondary", children: "Away" }) }),
|
|
1543
1543
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "ghost", size: "sm", children: "Edit" }) })
|
|
1544
1544
|
] }),
|
|
1545
1545
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.TableRow, { children: [
|
|
1546
1546
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "Diego Santos" }),
|
|
1547
1547
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "diego.santos@example.com" }),
|
|
1548
1548
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: "Analyst" }),
|
|
1549
|
-
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1549
|
+
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "outline", children: "Inactive" }) }),
|
|
1550
1550
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.TableCell, { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "ghost", size: "sm", children: "Edit" }) })
|
|
1551
1551
|
] })
|
|
1552
1552
|
] })
|
|
1553
1553
|
] }) })
|
|
1554
1554
|
] }),
|
|
1555
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1555
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardFooter, { className: "flex justify-between items-center", children: [
|
|
1556
1556
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "Showing 4 of 127 users" }),
|
|
1557
1557
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1558
1558
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "outline", size: "sm", children: "Previous" }),
|
|
@@ -1560,38 +1560,38 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1560
1560
|
] })
|
|
1561
1561
|
] })
|
|
1562
1562
|
] }) }),
|
|
1563
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1564
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1565
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1566
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1563
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsContent, { value: "settings", className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1564
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1565
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Configurações do Sistema" }),
|
|
1566
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Gerenciar configurações gerais" })
|
|
1567
1567
|
] }),
|
|
1568
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1568
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardContent, { className: "space-y-6", children: [
|
|
1569
1569
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1570
1570
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
1571
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1571
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "dark-mode", children: "Dark Mode" }),
|
|
1572
1572
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "Enable dark theme in the interface" })
|
|
1573
1573
|
] }),
|
|
1574
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1574
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Switch, { id: "dark-mode", checked: switchEnabled, onCheckedChange: setSwitchEnabled })
|
|
1575
1575
|
] }),
|
|
1576
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1576
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
1577
1577
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1578
1578
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
1579
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1579
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "email-notifications", children: "Email Notifications" }),
|
|
1580
1580
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "Receive important updates by email" })
|
|
1581
1581
|
] }),
|
|
1582
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1582
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Switch, { id: "email-notifications", defaultChecked: true })
|
|
1583
1583
|
] }),
|
|
1584
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1584
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
1585
1585
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1586
1586
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
1587
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1587
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "push-notifications", children: "Push Notifications" }),
|
|
1588
1588
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "Receive instant notifications in the browser" })
|
|
1589
1589
|
] }),
|
|
1590
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1590
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Switch, { id: "push-notifications" })
|
|
1591
1591
|
] }),
|
|
1592
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1592
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
1593
1593
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1594
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1594
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { children: "Language" }),
|
|
1595
1595
|
/* @__PURE__ */ jsxRuntime.jsxs(select.Select, { defaultValue: "pt-br", children: [
|
|
1596
1596
|
/* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { "aria-label": "Idioma do sistema", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, {}) }),
|
|
1597
1597
|
/* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
|
|
@@ -1601,9 +1601,9 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1601
1601
|
] })
|
|
1602
1602
|
] })
|
|
1603
1603
|
] }),
|
|
1604
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1604
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
1605
1605
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1606
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1606
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { children: "Time Zone" }),
|
|
1607
1607
|
/* @__PURE__ */ jsxRuntime.jsxs(select.Select, { defaultValue: "america-sao-paulo", children: [
|
|
1608
1608
|
/* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { "aria-label": "Fuso horário", children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, {}) }),
|
|
1609
1609
|
/* @__PURE__ */ jsxRuntime.jsxs(select.SelectContent, { children: [
|
|
@@ -1614,24 +1614,24 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1614
1614
|
] })
|
|
1615
1615
|
] })
|
|
1616
1616
|
] }),
|
|
1617
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1617
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardFooter, { className: "flex justify-between", children: [
|
|
1618
1618
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "outline", children: "Restaurar Padrões" }),
|
|
1619
1619
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { children: "Salvar Alterações" })
|
|
1620
1620
|
] })
|
|
1621
1621
|
] }) })
|
|
1622
1622
|
] })
|
|
1623
1623
|
] }),
|
|
1624
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1624
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, { className: "my-8" }),
|
|
1625
1625
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
1626
1626
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Botões" }),
|
|
1627
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1628
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1629
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1630
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1627
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1628
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1629
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Variações de Botão" }),
|
|
1630
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Diferentes estilos e tamanhos de botões" })
|
|
1631
1631
|
] }),
|
|
1632
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1632
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardContent, { className: "space-y-6", children: [
|
|
1633
1633
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1634
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1634
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { children: "Variants" }),
|
|
1635
1635
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
|
|
1636
1636
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "default", children: "Default" }),
|
|
1637
1637
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "secondary", children: "Secondary" }),
|
|
@@ -1641,9 +1641,9 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1641
1641
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "destructive", children: "Destructive" })
|
|
1642
1642
|
] })
|
|
1643
1643
|
] }),
|
|
1644
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1644
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
1645
1645
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1646
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1646
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { children: "Sizes" }),
|
|
1647
1647
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [
|
|
1648
1648
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { size: "sm", children: "Small" }),
|
|
1649
1649
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { size: "default", children: "Default" }),
|
|
@@ -1651,9 +1651,9 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1651
1651
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { size: "icon", "aria-label": "Configurações", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings, { className: "h-4 w-4" }) })
|
|
1652
1652
|
] })
|
|
1653
1653
|
] }),
|
|
1654
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1654
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
1655
1655
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1656
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1656
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { children: "With Icons" }),
|
|
1657
1657
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
|
|
1658
1658
|
/* @__PURE__ */ jsxRuntime.jsxs(tooltip.Button, { children: [
|
|
1659
1659
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.User, { className: "mr-2 h-4 w-4" }),
|
|
@@ -1669,9 +1669,9 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1669
1669
|
] })
|
|
1670
1670
|
] })
|
|
1671
1671
|
] }),
|
|
1672
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1672
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, {}),
|
|
1673
1673
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1674
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1674
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { children: "States" }),
|
|
1675
1675
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
|
|
1676
1676
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { disabled: true, children: "Disabled" }),
|
|
1677
1677
|
/* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "outline", disabled: true, children: "Outline Disabled" })
|
|
@@ -1680,35 +1680,35 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1680
1680
|
] })
|
|
1681
1681
|
] })
|
|
1682
1682
|
] }),
|
|
1683
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1683
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, { className: "my-8" }),
|
|
1684
1684
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
1685
1685
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Badges" }),
|
|
1686
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1687
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1688
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1689
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1686
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1687
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1688
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Variações de Badge" }),
|
|
1689
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Estilos diferentes de badge para status e tags" })
|
|
1690
1690
|
] }),
|
|
1691
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1692
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1693
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1694
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1695
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1696
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1697
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1698
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1691
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
|
|
1692
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "default", children: "Padrão" }),
|
|
1693
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "secondary", children: "Secundário" }),
|
|
1694
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "outline", children: "Contorno" }),
|
|
1695
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "destructive", children: "Destrutivo" }),
|
|
1696
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { className: "bg-success text-success-foreground", children: "Sucesso" }),
|
|
1697
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { className: "bg-warning text-warning-foreground", children: "Aviso" }),
|
|
1698
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { className: "bg-info text-info-foreground", children: "Info" })
|
|
1699
1699
|
] }) })
|
|
1700
1700
|
] })
|
|
1701
1701
|
] }),
|
|
1702
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1702
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, { className: "my-8" }),
|
|
1703
1703
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
1704
1704
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Diálogos" }),
|
|
1705
1705
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 md:grid-cols-2", children: [
|
|
1706
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1707
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1708
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1709
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1706
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1707
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1708
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Diálogo" }),
|
|
1709
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Um modal interativo básico" })
|
|
1710
1710
|
] }),
|
|
1711
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1711
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { className: "flex justify-center py-6", children: /* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.Dialog, { children: [
|
|
1712
1712
|
/* @__PURE__ */ jsxRuntime.jsx(richTextEditor.DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "outline", children: "Editar Perfil" }) }),
|
|
1713
1713
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.DialogContent, { className: "sm:max-w-[425px]", children: [
|
|
1714
1714
|
/* @__PURE__ */ jsxRuntime.jsxs(richTextEditor.DialogHeader, { children: [
|
|
@@ -1717,11 +1717,11 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1717
1717
|
] }),
|
|
1718
1718
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 py-4", children: [
|
|
1719
1719
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-4 items-center gap-4", children: [
|
|
1720
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1720
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "name", className: "text-right", children: "Nome" }),
|
|
1721
1721
|
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "name", defaultValue: "John Doe", className: "col-span-3" })
|
|
1722
1722
|
] }),
|
|
1723
1723
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-4 items-center gap-4", children: [
|
|
1724
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1724
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "username", className: "text-right", children: "Usuário" }),
|
|
1725
1725
|
/* @__PURE__ */ jsxRuntime.jsx(input.Input, { id: "username", defaultValue: "@johndoe", className: "col-span-3" })
|
|
1726
1726
|
] })
|
|
1727
1727
|
] }),
|
|
@@ -1729,48 +1729,48 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1729
1729
|
] })
|
|
1730
1730
|
] }) })
|
|
1731
1731
|
] }),
|
|
1732
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1733
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1734
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1735
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1732
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1733
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1734
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Alerta de Diálogo" }),
|
|
1735
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Um alerta para decisões importantes" })
|
|
1736
1736
|
] }),
|
|
1737
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1738
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1739
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1740
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1741
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1742
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1737
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { className: "flex justify-center py-6", children: /* @__PURE__ */ jsxRuntime.jsxs(useMobile.AlertDialog, { children: [
|
|
1738
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertDialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(tooltip.Button, { variant: "destructive", children: "Excluir Conta" }) }),
|
|
1739
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.AlertDialogContent, { className: "sm:max-w-[425px]", children: [
|
|
1740
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.AlertDialogHeader, { children: [
|
|
1741
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertDialogTitle, { children: "Você tem certeza absoluta?" }),
|
|
1742
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertDialogDescription, { children: "Esta ação não pode ser desfeita. Isso excluirá permanentemente sua conta e removerá seus dados de nossos servidores." })
|
|
1743
1743
|
] }),
|
|
1744
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1745
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1746
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1744
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.AlertDialogFooter, { children: [
|
|
1745
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertDialogCancel, { children: "Cancelar" }),
|
|
1746
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertDialogAction, { className: "bg-destructive text-destructive-foreground hover:bg-destructive/90", children: "Continuar" })
|
|
1747
1747
|
] })
|
|
1748
1748
|
] })
|
|
1749
1749
|
] }) })
|
|
1750
1750
|
] })
|
|
1751
1751
|
] })
|
|
1752
1752
|
] }),
|
|
1753
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1753
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, { className: "my-8" }),
|
|
1754
1754
|
/* @__PURE__ */ jsxRuntime.jsx("section", { children: /* @__PURE__ */ jsxRuntime.jsx(MapShowcase, {}) }),
|
|
1755
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1755
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, { className: "my-8" }),
|
|
1756
1756
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
1757
1757
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Variações de Cabeçalho" }),
|
|
1758
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1759
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1760
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1761
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1758
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1759
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1760
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Configurações do Cabeçalho Principal" }),
|
|
1761
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "O Header é focado em navegação (breadcrumbs) e ações contextuais rápidas." })
|
|
1762
1762
|
] }),
|
|
1763
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1763
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardContent, { className: "space-y-6", children: [
|
|
1764
1764
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 border rounded-[var(--radius-lg)] bg-muted/30", children: [
|
|
1765
1765
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold mb-4", children: "Elementos Visíveis" }),
|
|
1766
1766
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-6", children: [
|
|
1767
1767
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1768
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1769
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1768
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Switch, { id: "header-actions", checked: showHeaderActions, onCheckedChange: setShowHeaderActions }),
|
|
1769
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "header-actions", className: "cursor-pointer", children: "Botões de Ação" })
|
|
1770
1770
|
] }),
|
|
1771
1771
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1772
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1773
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1772
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Switch, { id: "header-bread", checked: showHeaderBreadcrumbs, onCheckedChange: setShowHeaderBreadcrumbs }),
|
|
1773
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "header-bread", className: "cursor-pointer", children: "Breadcrumbs" })
|
|
1774
1774
|
] })
|
|
1775
1775
|
] })
|
|
1776
1776
|
] }),
|
|
@@ -1796,33 +1796,33 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1796
1796
|
] })
|
|
1797
1797
|
] })
|
|
1798
1798
|
] }),
|
|
1799
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1799
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, { className: "my-8" }),
|
|
1800
1800
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
|
|
1801
1801
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4", children: "Variações da Sidebar" }),
|
|
1802
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1803
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1804
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1805
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1802
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { children: [
|
|
1803
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1804
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Sidebar Modo Assistente vs Padrão" }),
|
|
1805
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "A Sidebar suporta flexibilidade através da propriedade variant." })
|
|
1806
1806
|
] }),
|
|
1807
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1808
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1809
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1810
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1807
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(useMobile.Tabs, { defaultValue: "assistant", className: "w-full", children: [
|
|
1808
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.TabsList, { className: "mb-4", children: [
|
|
1809
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsTrigger, { value: "assistant", children: "Modo Assistente" }),
|
|
1810
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsTrigger, { value: "default", children: "Modo Padrão" })
|
|
1811
1811
|
] }),
|
|
1812
1812
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6 p-4 border rounded-[var(--radius-lg)] bg-muted/30", children: [
|
|
1813
1813
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold mb-4", children: "Configurações do Rodapé" }),
|
|
1814
1814
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-6 mt-2", children: [
|
|
1815
1815
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1816
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1817
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1816
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Switch, { id: "show-user", checked: showSidebarUser, onCheckedChange: setShowSidebarUser }),
|
|
1817
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "show-user", className: "cursor-pointer", children: "Perfil do Usuário" })
|
|
1818
1818
|
] }),
|
|
1819
1819
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1820
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1821
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1820
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Switch, { id: "show-settings", checked: showSidebarSettings, onCheckedChange: setShowSidebarSettings }),
|
|
1821
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "show-settings", className: "cursor-pointer", children: "Configurações" })
|
|
1822
1822
|
] }),
|
|
1823
1823
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
1824
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1825
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1824
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Switch, { id: "show-logout", checked: showSidebarLogout, onCheckedChange: setShowSidebarLogout }),
|
|
1825
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "show-logout", className: "cursor-pointer", children: "Botão de Sair" })
|
|
1826
1826
|
] })
|
|
1827
1827
|
] }),
|
|
1828
1828
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6 pt-6 border-t", children: [
|
|
@@ -1851,7 +1851,7 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1851
1851
|
] })
|
|
1852
1852
|
] })
|
|
1853
1853
|
] }),
|
|
1854
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1854
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsContent, { value: "assistant", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative h-[600px] border rounded-[var(--radius-lg)] bg-muted/20 overflow-hidden", style: { transform: "translateZ(0)" }, children: [
|
|
1855
1855
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1856
1856
|
header.Sidebar,
|
|
1857
1857
|
{
|
|
@@ -1873,9 +1873,9 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1873
1873
|
content: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-2 space-y-2", children: [
|
|
1874
1874
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-semibold uppercase text-muted-foreground px-2", children: "Filtrar por Status" }),
|
|
1875
1875
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-2 p-1", children: [
|
|
1876
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1877
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1878
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1876
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { className: "bg-sidebar-foreground/20 text-sidebar-foreground border-none cursor-pointer hover:bg-sidebar-foreground/30", children: "Ativo" }),
|
|
1877
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "outline", className: "text-sidebar-foreground/70 border-sidebar-foreground/20 cursor-pointer hover:bg-sidebar-foreground/10", children: "Arquivado" }),
|
|
1878
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "outline", className: "text-sidebar-foreground/70 border-sidebar-foreground/20 cursor-pointer hover:bg-sidebar-foreground/10", children: "Pendente" })
|
|
1879
1879
|
] })
|
|
1880
1880
|
] })
|
|
1881
1881
|
}
|
|
@@ -1927,7 +1927,7 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1927
1927
|
label: "Restauração BR-163",
|
|
1928
1928
|
icon: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-2 h-2 rounded-full bg-yellow-500" }),
|
|
1929
1929
|
description: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5 min-w-[160px]", children: [
|
|
1930
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1930
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Progress, { value: 67, className: "h-1.5 bg-sidebar-foreground/10" }),
|
|
1931
1931
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between items-center text-[10px] text-sidebar-foreground/60", children: [
|
|
1932
1932
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Cuiabá, MT" }),
|
|
1933
1933
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "67%" })
|
|
@@ -1946,7 +1946,7 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1946
1946
|
),
|
|
1947
1947
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-y-0 right-0 p-8 flex items-center justify-center transition-all duration-300", style: { left: `${sidebarWidth}px` }, children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-center", children: "Conteúdo do Modo Assistente" }) })
|
|
1948
1948
|
] }) }),
|
|
1949
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1949
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.TabsContent, { value: "default", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative h-[600px] border rounded-[var(--radius-lg)] bg-muted/20 overflow-hidden", style: { transform: "translateZ(0)" }, children: [
|
|
1950
1950
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1951
1951
|
header.Sidebar,
|
|
1952
1952
|
{
|
|
@@ -1982,21 +1982,21 @@ function TemplateContent({ user, onLogout, onSettings }) {
|
|
|
1982
1982
|
] }) })
|
|
1983
1983
|
] })
|
|
1984
1984
|
] }),
|
|
1985
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1986
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1987
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1988
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1989
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1985
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Separator, { className: "my-8" }),
|
|
1986
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { className: "mt-8", children: [
|
|
1987
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardHeader, { children: [
|
|
1988
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { children: "Template Pronto para CLI" }),
|
|
1989
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardDescription, { children: "Como usar este template" })
|
|
1990
1990
|
] }),
|
|
1991
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1991
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.CardContent, { className: "space-y-4", children: [
|
|
1992
1992
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground", children: [
|
|
1993
1993
|
"Este template está pronto para ser usado como base para novos projetos. Todos os componentes usam as variáveis CSS definidas em ",
|
|
1994
1994
|
/* @__PURE__ */ jsxRuntime.jsx("code", { className: "bg-muted px-2 py-1 rounded-[var(--radius-sm)] [font-size:var(--text-small)]", children: "/styles/xertica/tokens.css" }),
|
|
1995
1995
|
"and follow the Xertica UI CLI-first architecture."
|
|
1996
1996
|
] }),
|
|
1997
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1998
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1999
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1997
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useMobile.Alert, { variant: "info", children: [
|
|
1998
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertTitle, { children: "Dica" }),
|
|
1999
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.AlertDescription, { children: "Copie este arquivo como ponto de partida para suas páginas. Todos os componentes são reutilizáveis e customizáveis através de variáveis CSS." })
|
|
2000
2000
|
] })
|
|
2001
2001
|
] })
|
|
2002
2002
|
] })
|
|
@@ -2017,6 +2017,9 @@ const routes = [
|
|
|
2017
2017
|
icon: lucideReact.FileText
|
|
2018
2018
|
}
|
|
2019
2019
|
];
|
|
2020
|
+
const getRouteByPath = (path) => {
|
|
2021
|
+
return routes.find((route) => route.path === path);
|
|
2022
|
+
};
|
|
2020
2023
|
function TemplatePage({ user, onLogout }) {
|
|
2021
2024
|
const { sidebarExpanded, sidebarWidth, assistenteExpanded, toggleSidebar, toggleAssistente } = LayoutContext.useLayout();
|
|
2022
2025
|
const location = reactRouterDom.useLocation();
|
|
@@ -2053,11 +2056,751 @@ function TemplatePage({ user, onLogout }) {
|
|
|
2053
2056
|
{
|
|
2054
2057
|
isExpanded: assistenteExpanded,
|
|
2055
2058
|
onToggle: toggleAssistente,
|
|
2056
|
-
onEvaluation: (
|
|
2059
|
+
onEvaluation: () => {
|
|
2060
|
+
}
|
|
2061
|
+
}
|
|
2062
|
+
)
|
|
2063
|
+
] });
|
|
2064
|
+
}
|
|
2065
|
+
const SIDEBAR_COLLAPSED_WIDTH = 80;
|
|
2066
|
+
function HomeContent({ user, onLogout, onSettings }) {
|
|
2067
|
+
const { sidebarExpanded, sidebarWidth, assistenteExpanded } = LayoutContext.useLayout();
|
|
2068
|
+
const location = reactRouterDom.useLocation();
|
|
2069
|
+
const navigate = reactRouterDom.useNavigate();
|
|
2070
|
+
const labelTranslations = {
|
|
2071
|
+
"home": "Início",
|
|
2072
|
+
"template": "Template"
|
|
2073
|
+
};
|
|
2074
|
+
const currentRoute = getRouteByPath(location.pathname);
|
|
2075
|
+
(currentRoute == null ? void 0 : currentRoute.label) ? labelTranslations[currentRoute.label.toLowerCase()] || currentRoute.label : "Início";
|
|
2076
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2077
|
+
"div",
|
|
2078
|
+
{
|
|
2079
|
+
style: {
|
|
2080
|
+
paddingLeft: sidebarExpanded ? `${sidebarWidth}px` : SIDEBAR_COLLAPSED_WIDTH
|
|
2081
|
+
},
|
|
2082
|
+
className: "flex-1 flex flex-col overflow-hidden transition-all duration-300",
|
|
2083
|
+
children: [
|
|
2084
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2085
|
+
header.Header,
|
|
2086
|
+
{
|
|
2087
|
+
showThemeToggle: true,
|
|
2088
|
+
showLanguageSelector: true,
|
|
2089
|
+
breadcrumbs: [
|
|
2090
|
+
{ label: "Design System", href: "/home" },
|
|
2091
|
+
{ label: "Início" }
|
|
2092
|
+
],
|
|
2093
|
+
renderLink: (href, props) => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Link, { to: href, ...props })
|
|
2094
|
+
}
|
|
2095
|
+
),
|
|
2096
|
+
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex-1 overflow-hidden bg-muted", children: /* @__PURE__ */ jsxRuntime.jsx(input.ScrollArea, { className: "h-full", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 sm:p-4 md:p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-6xl mx-auto space-y-8", children: [
|
|
2097
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2098
|
+
useMobile.PageHeader,
|
|
2099
|
+
{
|
|
2100
|
+
title: "Bem-vindo ao Design System!",
|
|
2101
|
+
subtitle: "Sua plataforma inteligente para automação e análise de dados"
|
|
2102
|
+
}
|
|
2103
|
+
),
|
|
2104
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: /* @__PURE__ */ jsxRuntime.jsxs(useMobile.Card, { className: "hover:shadow-xl transition-shadow duration-200 flex flex-col h-full", children: [
|
|
2105
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
2106
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 bg-[var(--chart-2)]/20 rounded-[var(--radius)]", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "w-6 h-6 text-[var(--chart-2)]" }) }),
|
|
2107
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2108
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardTitle, { className: "text-sm", children: "Template CLI" }),
|
|
2109
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Badge, { variant: "default", className: "text-xs", children: "Novo" })
|
|
2110
|
+
] })
|
|
2111
|
+
] }) }),
|
|
2112
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardContent, { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "Página de template pronta para uso CLI com todos os componentes configurados." }) }),
|
|
2113
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.CardFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2114
|
+
tooltip.Button,
|
|
2115
|
+
{
|
|
2116
|
+
variant: "outline",
|
|
2117
|
+
className: "w-full",
|
|
2118
|
+
onClick: () => navigate("/template"),
|
|
2119
|
+
children: "Visualizar"
|
|
2120
|
+
}
|
|
2121
|
+
) })
|
|
2122
|
+
] }) })
|
|
2123
|
+
] }) }) }) })
|
|
2124
|
+
]
|
|
2125
|
+
}
|
|
2126
|
+
);
|
|
2127
|
+
}
|
|
2128
|
+
const richSuggestions = [
|
|
2129
|
+
{ id: "chart-1", text: "Ver análise de desempenho" },
|
|
2130
|
+
{ id: "table-1", text: "Gerar relatório do projeto" },
|
|
2131
|
+
{ id: "doc-1", text: "Criar documento de requisitos" },
|
|
2132
|
+
{ id: "pod-1", text: "Gerar podcast de resumo diário" }
|
|
2133
|
+
];
|
|
2134
|
+
const feedbackOptions = [
|
|
2135
|
+
"Não era o que eu estava procurando",
|
|
2136
|
+
"Informações incorretas",
|
|
2137
|
+
"Resposta incompleta"
|
|
2138
|
+
];
|
|
2139
|
+
function HomePage({ user, onLogout }) {
|
|
2140
|
+
const { sidebarExpanded, sidebarWidth, assistenteExpanded, toggleSidebar, toggleAssistente, toggleAssistenteWithTab } = LayoutContext.useLayout();
|
|
2141
|
+
const location = reactRouterDom.useLocation();
|
|
2142
|
+
const navigate = reactRouterDom.useNavigate();
|
|
2143
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-screen flex bg-muted overflow-hidden relative", children: [
|
|
2144
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2145
|
+
header.Sidebar,
|
|
2146
|
+
{
|
|
2147
|
+
expanded: sidebarExpanded,
|
|
2148
|
+
width: sidebarWidth,
|
|
2149
|
+
onToggle: toggleSidebar,
|
|
2150
|
+
user: {
|
|
2151
|
+
...user,
|
|
2152
|
+
name: "Ariel Santos",
|
|
2153
|
+
avatar: "https://github.com/shadcn.png"
|
|
2154
|
+
},
|
|
2155
|
+
onLogout,
|
|
2156
|
+
onSettingsClick: () => navigate("/settings"),
|
|
2157
|
+
location,
|
|
2158
|
+
navigate,
|
|
2159
|
+
routes
|
|
2160
|
+
}
|
|
2161
|
+
),
|
|
2162
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2163
|
+
HomeContent,
|
|
2164
|
+
{
|
|
2165
|
+
user,
|
|
2166
|
+
onLogout,
|
|
2167
|
+
onSettings: () => navigate("/settings")
|
|
2168
|
+
}
|
|
2169
|
+
),
|
|
2170
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2171
|
+
CodeBlock.XerticaAssistant,
|
|
2172
|
+
{
|
|
2173
|
+
isExpanded: assistenteExpanded,
|
|
2174
|
+
onToggle: toggleAssistente,
|
|
2175
|
+
defaultTab: "chat",
|
|
2176
|
+
demoMode: true,
|
|
2177
|
+
responseGenerator: CodeBlock.gerarResposta,
|
|
2178
|
+
richSuggestions,
|
|
2179
|
+
feedbackOptions,
|
|
2180
|
+
onEvaluation: () => {
|
|
2181
|
+
}
|
|
2057
2182
|
}
|
|
2058
2183
|
)
|
|
2059
2184
|
] });
|
|
2060
2185
|
}
|
|
2186
|
+
function LoginPage({ onLogin }) {
|
|
2187
|
+
const navigate = reactRouterDom.useNavigate();
|
|
2188
|
+
const [email, setEmail] = React.useState("");
|
|
2189
|
+
const [password, setPassword] = React.useState("");
|
|
2190
|
+
const [isLoading, setIsLoading] = React.useState(false);
|
|
2191
|
+
const [error, setError] = React.useState("");
|
|
2192
|
+
const handleSubmit = async (e) => {
|
|
2193
|
+
e.preventDefault();
|
|
2194
|
+
setError("");
|
|
2195
|
+
setIsLoading(true);
|
|
2196
|
+
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
2197
|
+
const success = onLogin(email, password);
|
|
2198
|
+
if (!success) {
|
|
2199
|
+
setError("Por favor, preencha todos os campos");
|
|
2200
|
+
}
|
|
2201
|
+
setIsLoading(false);
|
|
2202
|
+
};
|
|
2203
|
+
const handleSocialLogin = (_provider) => {
|
|
2204
|
+
onLogin("social@user.com", "social-auth");
|
|
2205
|
+
};
|
|
2206
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-h-screen flex", children: [
|
|
2207
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden lg:flex lg:flex-1 relative overflow-hidden", children: [
|
|
2208
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2209
|
+
useMobile.ImageWithFallback,
|
|
2210
|
+
{
|
|
2211
|
+
src: "https://images.unsplash.com/photo-1551434678-e076c223a692?w=1200&h=800&fit=crop&auto=format",
|
|
2212
|
+
alt: "Equipe trabalhando com tecnologia",
|
|
2213
|
+
className: "absolute inset-0 w-full h-full object-cover"
|
|
2214
|
+
}
|
|
2215
|
+
),
|
|
2216
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-[image:var(--gradient-diagonal)] opacity-80" })
|
|
2217
|
+
] }),
|
|
2218
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex items-center justify-center px-4 sm:px-6 lg:px-8 lg:flex-none lg:w-1/2 relative bg-muted", children: [
|
|
2219
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-4 right-4 z-20", children: /* @__PURE__ */ jsxRuntime.jsx(LanguageSelector.LanguageSelector, { variant: "minimal", showIcon: false }) }),
|
|
2220
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 lg:hidden bg-[image:var(--gradient-diagonal)] opacity-10 dark:opacity-5" }),
|
|
2221
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full max-w-sm space-y-6 relative z-10", children: [
|
|
2222
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
2223
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2224
|
+
LanguageSelector.XerticaLogo,
|
|
2225
|
+
{
|
|
2226
|
+
className: "h-12 w-auto text-primary dark:text-foreground",
|
|
2227
|
+
variant: "theme"
|
|
2228
|
+
}
|
|
2229
|
+
) }),
|
|
2230
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: "Acesse sua conta" })
|
|
2231
|
+
] }),
|
|
2232
|
+
/* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-6", onSubmit: handleSubmit, children: [
|
|
2233
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2234
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "email", children: "E-mail" }),
|
|
2235
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2236
|
+
input.Input,
|
|
2237
|
+
{
|
|
2238
|
+
id: "email",
|
|
2239
|
+
name: "email",
|
|
2240
|
+
type: "email",
|
|
2241
|
+
required: true,
|
|
2242
|
+
className: "w-full",
|
|
2243
|
+
placeholder: "seu@email.com",
|
|
2244
|
+
value: email,
|
|
2245
|
+
onChange: (e) => setEmail(e.target.value)
|
|
2246
|
+
}
|
|
2247
|
+
)
|
|
2248
|
+
] }),
|
|
2249
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2250
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "password", children: "Senha" }),
|
|
2251
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2252
|
+
input.Input,
|
|
2253
|
+
{
|
|
2254
|
+
id: "password",
|
|
2255
|
+
name: "password",
|
|
2256
|
+
type: "password",
|
|
2257
|
+
required: true,
|
|
2258
|
+
className: "w-full",
|
|
2259
|
+
placeholder: "••••••••",
|
|
2260
|
+
value: password,
|
|
2261
|
+
onChange: (e) => setPassword(e.target.value)
|
|
2262
|
+
}
|
|
2263
|
+
)
|
|
2264
|
+
] }),
|
|
2265
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-destructive text-sm text-center", children: error }),
|
|
2266
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2267
|
+
tooltip.Button,
|
|
2268
|
+
{
|
|
2269
|
+
type: "submit",
|
|
2270
|
+
className: "w-full",
|
|
2271
|
+
disabled: isLoading,
|
|
2272
|
+
children: isLoading ? "Entrando..." : "Entrar"
|
|
2273
|
+
}
|
|
2274
|
+
),
|
|
2275
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2276
|
+
"button",
|
|
2277
|
+
{
|
|
2278
|
+
type: "button",
|
|
2279
|
+
onClick: () => navigate("/forgot-password"),
|
|
2280
|
+
className: "text-sm text-primary hover:opacity-80 transition-colors",
|
|
2281
|
+
children: "Esqueceu sua senha?"
|
|
2282
|
+
}
|
|
2283
|
+
) })
|
|
2284
|
+
] }),
|
|
2285
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
2286
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full border-t border-border" }) }),
|
|
2287
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children: "ou continue com" }) })
|
|
2288
|
+
] }),
|
|
2289
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2290
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2291
|
+
tooltip.Button,
|
|
2292
|
+
{
|
|
2293
|
+
type: "button",
|
|
2294
|
+
variant: "outline",
|
|
2295
|
+
className: "w-full justify-center",
|
|
2296
|
+
onClick: () => handleSocialLogin(),
|
|
2297
|
+
children: [
|
|
2298
|
+
/* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "w-5 h-5 mr-2", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
2299
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#EA4335", d: "M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z" }),
|
|
2300
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#4285F4", d: "M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z" }),
|
|
2301
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#FBBC05", d: "M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z" }),
|
|
2302
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#34A853", d: "M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z" }),
|
|
2303
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "none", d: "M0 0h48v48H0z" })
|
|
2304
|
+
] }),
|
|
2305
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Entrar com Google" })
|
|
2306
|
+
]
|
|
2307
|
+
}
|
|
2308
|
+
),
|
|
2309
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2310
|
+
tooltip.Button,
|
|
2311
|
+
{
|
|
2312
|
+
type: "button",
|
|
2313
|
+
variant: "outline",
|
|
2314
|
+
className: "w-full justify-center",
|
|
2315
|
+
onClick: () => handleSocialLogin(),
|
|
2316
|
+
children: [
|
|
2317
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { className: "w-5 h-5 mr-2 text-[var(--chart-4)]" }),
|
|
2318
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Entrar com MT Login" })
|
|
2319
|
+
]
|
|
2320
|
+
}
|
|
2321
|
+
),
|
|
2322
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2323
|
+
tooltip.Button,
|
|
2324
|
+
{
|
|
2325
|
+
type: "button",
|
|
2326
|
+
variant: "outline",
|
|
2327
|
+
className: "w-full justify-center font-normal",
|
|
2328
|
+
onClick: () => handleSocialLogin(),
|
|
2329
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
2330
|
+
"Entrar com ",
|
|
2331
|
+
/* @__PURE__ */ jsxRuntime.jsx("strong", { className: "font-semibold", children: "gov.br" })
|
|
2332
|
+
] })
|
|
2333
|
+
}
|
|
2334
|
+
)
|
|
2335
|
+
] })
|
|
2336
|
+
] })
|
|
2337
|
+
] })
|
|
2338
|
+
] });
|
|
2339
|
+
}
|
|
2340
|
+
function ForgotPasswordPage() {
|
|
2341
|
+
const navigate = reactRouterDom.useNavigate();
|
|
2342
|
+
const [email, setEmail] = React.useState("");
|
|
2343
|
+
const [isLoading, setIsLoading] = React.useState(false);
|
|
2344
|
+
const handleSubmit = async (e) => {
|
|
2345
|
+
e.preventDefault();
|
|
2346
|
+
setIsLoading(true);
|
|
2347
|
+
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
2348
|
+
navigate("/verify-email", { state: { email } });
|
|
2349
|
+
setIsLoading(false);
|
|
2350
|
+
};
|
|
2351
|
+
const handleSocialLogin = (_provider) => {
|
|
2352
|
+
};
|
|
2353
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-h-screen flex", children: [
|
|
2354
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden lg:flex lg:flex-1 relative overflow-hidden", children: [
|
|
2355
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2356
|
+
useMobile.ImageWithFallback,
|
|
2357
|
+
{
|
|
2358
|
+
src: "https://images.unsplash.com/photo-1557804506-669a67965ba0?w=1200&h=800&fit=crop&auto=format",
|
|
2359
|
+
alt: "Segurança e tecnologia",
|
|
2360
|
+
className: "absolute inset-0 w-full h-full object-cover"
|
|
2361
|
+
}
|
|
2362
|
+
),
|
|
2363
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-[image:var(--gradient-diagonal)] opacity-80" })
|
|
2364
|
+
] }),
|
|
2365
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex items-center justify-center px-4 sm:px-6 lg:px-8 lg:flex-none lg:w-1/2 relative bg-muted", children: [
|
|
2366
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-4 right-4 z-20", children: /* @__PURE__ */ jsxRuntime.jsx(LanguageSelector.LanguageSelector, { variant: "minimal", showIcon: false }) }),
|
|
2367
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 lg:hidden bg-[image:var(--gradient-diagonal)] opacity-10 dark:opacity-5" }),
|
|
2368
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full max-w-sm space-y-6 relative z-10", children: [
|
|
2369
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
2370
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2371
|
+
LanguageSelector.XerticaLogo,
|
|
2372
|
+
{
|
|
2373
|
+
className: "h-12 w-auto text-primary dark:text-foreground",
|
|
2374
|
+
variant: "theme"
|
|
2375
|
+
}
|
|
2376
|
+
) }),
|
|
2377
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: "Recuperar senha" }),
|
|
2378
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: "Digite seu e-mail e enviaremos as instruções para redefinir sua senha" })
|
|
2379
|
+
] }),
|
|
2380
|
+
/* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-6", onSubmit: handleSubmit, children: [
|
|
2381
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "form-group space-y-2", children: [
|
|
2382
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "email", className: "form-label", children: "E-mail" }),
|
|
2383
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2384
|
+
input.Input,
|
|
2385
|
+
{
|
|
2386
|
+
id: "email",
|
|
2387
|
+
name: "email",
|
|
2388
|
+
type: "email",
|
|
2389
|
+
required: true,
|
|
2390
|
+
className: "w-full",
|
|
2391
|
+
placeholder: "seu@email.com",
|
|
2392
|
+
value: email,
|
|
2393
|
+
onChange: (e) => setEmail(e.target.value)
|
|
2394
|
+
}
|
|
2395
|
+
)
|
|
2396
|
+
] }),
|
|
2397
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2398
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2399
|
+
tooltip.Button,
|
|
2400
|
+
{
|
|
2401
|
+
type: "submit",
|
|
2402
|
+
className: "w-full",
|
|
2403
|
+
disabled: isLoading,
|
|
2404
|
+
children: isLoading ? "Enviando..." : "Enviar instruções"
|
|
2405
|
+
}
|
|
2406
|
+
),
|
|
2407
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2408
|
+
tooltip.Button,
|
|
2409
|
+
{
|
|
2410
|
+
type: "button",
|
|
2411
|
+
onClick: () => navigate("/login"),
|
|
2412
|
+
variant: "outline",
|
|
2413
|
+
className: "w-full text-muted-foreground hover:text-foreground",
|
|
2414
|
+
children: [
|
|
2415
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "w-4 h-4 mr-2" }),
|
|
2416
|
+
"Voltar para o login"
|
|
2417
|
+
]
|
|
2418
|
+
}
|
|
2419
|
+
)
|
|
2420
|
+
] })
|
|
2421
|
+
] }),
|
|
2422
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
2423
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full border-t border-border" }) }),
|
|
2424
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children: "ou continue com" }) })
|
|
2425
|
+
] }),
|
|
2426
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2427
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2428
|
+
tooltip.Button,
|
|
2429
|
+
{
|
|
2430
|
+
type: "button",
|
|
2431
|
+
variant: "outline",
|
|
2432
|
+
className: "w-full justify-center",
|
|
2433
|
+
onClick: () => handleSocialLogin(),
|
|
2434
|
+
children: [
|
|
2435
|
+
/* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "w-5 h-5 mr-2", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
2436
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#EA4335", d: "M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z" }),
|
|
2437
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#4285F4", d: "M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z" }),
|
|
2438
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#FBBC05", d: "M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z" }),
|
|
2439
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#34A853", d: "M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z" }),
|
|
2440
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "none", d: "M0 0h48v48H0z" })
|
|
2441
|
+
] }),
|
|
2442
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Entrar com Google" })
|
|
2443
|
+
]
|
|
2444
|
+
}
|
|
2445
|
+
),
|
|
2446
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2447
|
+
tooltip.Button,
|
|
2448
|
+
{
|
|
2449
|
+
type: "button",
|
|
2450
|
+
variant: "outline",
|
|
2451
|
+
className: "w-full justify-center",
|
|
2452
|
+
onClick: () => handleSocialLogin(),
|
|
2453
|
+
children: [
|
|
2454
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { className: "w-5 h-5 mr-2 text-[var(--chart-4)]" }),
|
|
2455
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Entrar com MT Login" })
|
|
2456
|
+
]
|
|
2457
|
+
}
|
|
2458
|
+
),
|
|
2459
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2460
|
+
tooltip.Button,
|
|
2461
|
+
{
|
|
2462
|
+
type: "button",
|
|
2463
|
+
variant: "outline",
|
|
2464
|
+
className: "w-full justify-center font-normal",
|
|
2465
|
+
onClick: () => handleSocialLogin(),
|
|
2466
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
2467
|
+
"Entrar com ",
|
|
2468
|
+
/* @__PURE__ */ jsxRuntime.jsx("strong", { className: "font-semibold", children: "gov.br" })
|
|
2469
|
+
] })
|
|
2470
|
+
}
|
|
2471
|
+
)
|
|
2472
|
+
] })
|
|
2473
|
+
] })
|
|
2474
|
+
] })
|
|
2475
|
+
] });
|
|
2476
|
+
}
|
|
2477
|
+
function VerifyEmailPage() {
|
|
2478
|
+
var _a;
|
|
2479
|
+
const navigate = reactRouterDom.useNavigate();
|
|
2480
|
+
const location = reactRouterDom.useLocation();
|
|
2481
|
+
const email = ((_a = location.state) == null ? void 0 : _a.email) || "your@email.com";
|
|
2482
|
+
const [isResending, setIsResending] = React.useState(false);
|
|
2483
|
+
const [resendSuccess, setResendSuccess] = React.useState(false);
|
|
2484
|
+
const handleResend = async () => {
|
|
2485
|
+
setIsResending(true);
|
|
2486
|
+
setResendSuccess(false);
|
|
2487
|
+
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
2488
|
+
setIsResending(false);
|
|
2489
|
+
setResendSuccess(true);
|
|
2490
|
+
setTimeout(() => setResendSuccess(false), 3e3);
|
|
2491
|
+
};
|
|
2492
|
+
const handleSocialLogin = (_provider) => {
|
|
2493
|
+
};
|
|
2494
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-h-screen flex", children: [
|
|
2495
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden lg:flex lg:flex-1 relative overflow-hidden", children: [
|
|
2496
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2497
|
+
useMobile.ImageWithFallback,
|
|
2498
|
+
{
|
|
2499
|
+
src: "https://images.unsplash.com/photo-1563986768609-322da13575f3?w=1200&h=800&fit=crop&auto=format",
|
|
2500
|
+
alt: "E-mail e comunicação",
|
|
2501
|
+
className: "absolute inset-0 w-full h-full object-cover"
|
|
2502
|
+
}
|
|
2503
|
+
),
|
|
2504
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-[image:var(--gradient-diagonal)] opacity-80" })
|
|
2505
|
+
] }),
|
|
2506
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex items-center justify-center px-4 sm:px-6 lg:px-8 lg:flex-none lg:w-1/2 relative bg-muted", children: [
|
|
2507
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-4 right-4 z-20", children: /* @__PURE__ */ jsxRuntime.jsx(LanguageSelector.LanguageSelector, { variant: "minimal", showIcon: false }) }),
|
|
2508
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 lg:hidden bg-[image:var(--gradient-diagonal)] opacity-10 dark:opacity-5" }),
|
|
2509
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full max-w-sm space-y-6 relative z-10", children: [
|
|
2510
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
2511
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2512
|
+
LanguageSelector.XerticaLogo,
|
|
2513
|
+
{
|
|
2514
|
+
className: "h-12 w-auto text-primary dark:text-foreground",
|
|
2515
|
+
variant: "theme"
|
|
2516
|
+
}
|
|
2517
|
+
) }),
|
|
2518
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center mb-4", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 bg-primary/10 rounded-[var(--radius)]", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "w-12 h-12 text-primary" }) }) }),
|
|
2519
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: "Verifique seu e-mail" }),
|
|
2520
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: "Enviamos as instruções para redefinir sua senha para:" }),
|
|
2521
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-primary", children: email })
|
|
2522
|
+
] }),
|
|
2523
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-accent rounded-[var(--radius)] p-4 space-y-3", children: [
|
|
2524
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: "Siga as instruções no e-mail para redefinir sua senha. O link expira em 24 horas." }),
|
|
2525
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 text-muted-foreground", children: [
|
|
2526
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "w-4 h-4 mt-0.5 flex-shrink-0 text-[var(--chart-2)]" }),
|
|
2527
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: "Verifique sua pasta de spam se não encontrar o e-mail" })
|
|
2528
|
+
] })
|
|
2529
|
+
] }),
|
|
2530
|
+
resendSuccess && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-[var(--chart-2)]/10 border border-[var(--chart-2)]/20 rounded-[var(--radius)] p-3 flex items-center gap-2", children: [
|
|
2531
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "w-5 h-5 text-[var(--chart-2)] flex-shrink-0" }),
|
|
2532
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-[var(--chart-2)]", children: "E-mail reenviado com sucesso!" })
|
|
2533
|
+
] }),
|
|
2534
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2535
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center text-muted-foreground", children: "Não recebeu o e-mail?" }),
|
|
2536
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2537
|
+
tooltip.Button,
|
|
2538
|
+
{
|
|
2539
|
+
variant: "outline",
|
|
2540
|
+
className: "w-full",
|
|
2541
|
+
onClick: handleResend,
|
|
2542
|
+
disabled: isResending,
|
|
2543
|
+
children: isResending ? "Reenviando..." : "Reenviar e-mail"
|
|
2544
|
+
}
|
|
2545
|
+
),
|
|
2546
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2547
|
+
tooltip.Button,
|
|
2548
|
+
{
|
|
2549
|
+
type: "button",
|
|
2550
|
+
onClick: () => navigate("/login"),
|
|
2551
|
+
variant: "outline",
|
|
2552
|
+
className: "w-full text-muted-foreground hover:text-foreground",
|
|
2553
|
+
children: [
|
|
2554
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "w-4 h-4 mr-2" }),
|
|
2555
|
+
"Voltar para o login"
|
|
2556
|
+
]
|
|
2557
|
+
}
|
|
2558
|
+
)
|
|
2559
|
+
] }),
|
|
2560
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
2561
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full border-t border-border" }) }),
|
|
2562
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted px-2 text-muted-foreground", children: "ou continue com" }) })
|
|
2563
|
+
] }),
|
|
2564
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
2565
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2566
|
+
tooltip.Button,
|
|
2567
|
+
{
|
|
2568
|
+
type: "button",
|
|
2569
|
+
variant: "outline",
|
|
2570
|
+
className: "w-full justify-center",
|
|
2571
|
+
onClick: () => handleSocialLogin(),
|
|
2572
|
+
children: [
|
|
2573
|
+
/* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "w-5 h-5 mr-2", viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
2574
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#EA4335", d: "M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z" }),
|
|
2575
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#4285F4", d: "M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z" }),
|
|
2576
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#FBBC05", d: "M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z" }),
|
|
2577
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#34A853", d: "M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z" }),
|
|
2578
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "none", d: "M0 0h48v48H0z" })
|
|
2579
|
+
] }),
|
|
2580
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Entrar com Google" })
|
|
2581
|
+
]
|
|
2582
|
+
}
|
|
2583
|
+
),
|
|
2584
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2585
|
+
tooltip.Button,
|
|
2586
|
+
{
|
|
2587
|
+
type: "button",
|
|
2588
|
+
variant: "outline",
|
|
2589
|
+
className: "w-full justify-center",
|
|
2590
|
+
onClick: () => handleSocialLogin(),
|
|
2591
|
+
children: [
|
|
2592
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { className: "w-5 h-5 mr-2 text-[var(--chart-4)]" }),
|
|
2593
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Entrar com MT Login" })
|
|
2594
|
+
]
|
|
2595
|
+
}
|
|
2596
|
+
),
|
|
2597
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2598
|
+
tooltip.Button,
|
|
2599
|
+
{
|
|
2600
|
+
type: "button",
|
|
2601
|
+
variant: "outline",
|
|
2602
|
+
className: "w-full justify-center font-normal",
|
|
2603
|
+
onClick: () => handleSocialLogin(),
|
|
2604
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
2605
|
+
"Entrar com ",
|
|
2606
|
+
/* @__PURE__ */ jsxRuntime.jsx("strong", { className: "font-semibold", children: "gov.br" })
|
|
2607
|
+
] })
|
|
2608
|
+
}
|
|
2609
|
+
)
|
|
2610
|
+
] })
|
|
2611
|
+
] })
|
|
2612
|
+
] })
|
|
2613
|
+
] });
|
|
2614
|
+
}
|
|
2615
|
+
function ResetPasswordPage() {
|
|
2616
|
+
const navigate = reactRouterDom.useNavigate();
|
|
2617
|
+
const [password, setPassword] = React.useState("");
|
|
2618
|
+
const [confirmPassword, setConfirmPassword] = React.useState("");
|
|
2619
|
+
const [isLoading, setIsLoading] = React.useState(false);
|
|
2620
|
+
const [error, setError] = React.useState("");
|
|
2621
|
+
const [passwordStrength, setPasswordStrength] = React.useState(null);
|
|
2622
|
+
const checkPasswordStrength = (pwd) => {
|
|
2623
|
+
if (pwd.length === 0) {
|
|
2624
|
+
setPasswordStrength(null);
|
|
2625
|
+
return;
|
|
2626
|
+
}
|
|
2627
|
+
if (pwd.length < 6) {
|
|
2628
|
+
setPasswordStrength("weak");
|
|
2629
|
+
} else if (pwd.length < 10) {
|
|
2630
|
+
setPasswordStrength("medium");
|
|
2631
|
+
} else {
|
|
2632
|
+
setPasswordStrength("strong");
|
|
2633
|
+
}
|
|
2634
|
+
};
|
|
2635
|
+
const handlePasswordChange = (value) => {
|
|
2636
|
+
setPassword(value);
|
|
2637
|
+
checkPasswordStrength(value);
|
|
2638
|
+
setError("");
|
|
2639
|
+
};
|
|
2640
|
+
const handleSubmit = async (e) => {
|
|
2641
|
+
e.preventDefault();
|
|
2642
|
+
setError("");
|
|
2643
|
+
if (password.length < 6) {
|
|
2644
|
+
setError("A senha deve ter pelo menos 6 caracteres");
|
|
2645
|
+
return;
|
|
2646
|
+
}
|
|
2647
|
+
if (password !== confirmPassword) {
|
|
2648
|
+
setError("As senhas não coincidem");
|
|
2649
|
+
return;
|
|
2650
|
+
}
|
|
2651
|
+
setIsLoading(true);
|
|
2652
|
+
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
2653
|
+
navigate("/login", { state: { resetSuccess: true } });
|
|
2654
|
+
setIsLoading(false);
|
|
2655
|
+
};
|
|
2656
|
+
const getStrengthColor = () => {
|
|
2657
|
+
switch (passwordStrength) {
|
|
2658
|
+
case "weak":
|
|
2659
|
+
return "text-destructive";
|
|
2660
|
+
case "medium":
|
|
2661
|
+
return "text-[var(--chart-3)]";
|
|
2662
|
+
case "strong":
|
|
2663
|
+
return "text-[var(--chart-2)]";
|
|
2664
|
+
default:
|
|
2665
|
+
return "text-muted-foreground";
|
|
2666
|
+
}
|
|
2667
|
+
};
|
|
2668
|
+
const getStrengthText = () => {
|
|
2669
|
+
switch (passwordStrength) {
|
|
2670
|
+
case "weak":
|
|
2671
|
+
return "Senha fraca";
|
|
2672
|
+
case "medium":
|
|
2673
|
+
return "Senha média";
|
|
2674
|
+
case "strong":
|
|
2675
|
+
return "Senha forte";
|
|
2676
|
+
default:
|
|
2677
|
+
return "";
|
|
2678
|
+
}
|
|
2679
|
+
};
|
|
2680
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-h-screen flex", children: [
|
|
2681
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden lg:flex lg:flex-1 relative overflow-hidden", children: [
|
|
2682
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2683
|
+
useMobile.ImageWithFallback,
|
|
2684
|
+
{
|
|
2685
|
+
src: "https://images.unsplash.com/photo-1555949963-aa79dcee981c?w=1200&h=800&fit=crop&auto=format",
|
|
2686
|
+
alt: "Segurança e proteção",
|
|
2687
|
+
className: "absolute inset-0 w-full h-full object-cover"
|
|
2688
|
+
}
|
|
2689
|
+
),
|
|
2690
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-[image:var(--gradient-diagonal)] opacity-80" })
|
|
2691
|
+
] }),
|
|
2692
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex items-center justify-center px-4 sm:px-6 lg:px-8 lg:flex-none lg:w-1/2 relative bg-muted", children: [
|
|
2693
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-4 right-4 z-20", children: /* @__PURE__ */ jsxRuntime.jsx(LanguageSelector.LanguageSelector, { variant: "minimal", showIcon: false }) }),
|
|
2694
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 lg:hidden bg-[image:var(--gradient-diagonal)] opacity-10 dark:opacity-5" }),
|
|
2695
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full max-w-sm space-y-6 relative z-10", children: [
|
|
2696
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2697
|
+
"button",
|
|
2698
|
+
{
|
|
2699
|
+
onClick: () => navigate("/login"),
|
|
2700
|
+
className: "flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors",
|
|
2701
|
+
children: [
|
|
2702
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "w-4 h-4" }),
|
|
2703
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-small", children: "Voltar para o login" })
|
|
2704
|
+
]
|
|
2705
|
+
}
|
|
2706
|
+
),
|
|
2707
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
2708
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2709
|
+
LanguageSelector.XerticaLogo,
|
|
2710
|
+
{
|
|
2711
|
+
className: "h-12 w-auto text-primary dark:text-foreground",
|
|
2712
|
+
variant: "theme"
|
|
2713
|
+
}
|
|
2714
|
+
) }),
|
|
2715
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm text-muted-foreground", children: "Redefinir senha" }),
|
|
2716
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: "Crie uma nova senha segura para sua conta" })
|
|
2717
|
+
] }),
|
|
2718
|
+
/* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-6", onSubmit: handleSubmit, children: [
|
|
2719
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2720
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "password", children: "Nova senha" }),
|
|
2721
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2722
|
+
input.Input,
|
|
2723
|
+
{
|
|
2724
|
+
id: "password",
|
|
2725
|
+
name: "password",
|
|
2726
|
+
type: "password",
|
|
2727
|
+
required: true,
|
|
2728
|
+
className: "w-full",
|
|
2729
|
+
placeholder: "••••••••",
|
|
2730
|
+
value: password,
|
|
2731
|
+
onChange: (e) => handlePasswordChange(e.target.value)
|
|
2732
|
+
}
|
|
2733
|
+
),
|
|
2734
|
+
passwordStrength && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2735
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 h-1 bg-muted rounded-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2736
|
+
"div",
|
|
2737
|
+
{
|
|
2738
|
+
className: `h-full transition-all duration-300 ${passwordStrength === "weak" ? "w-1/3 bg-destructive" : passwordStrength === "medium" ? "w-2/3 bg-[var(--chart-3)]" : "w-full bg-[var(--chart-2)]"}`
|
|
2739
|
+
}
|
|
2740
|
+
) }),
|
|
2741
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-small ${getStrengthColor()}`, children: getStrengthText() })
|
|
2742
|
+
] })
|
|
2743
|
+
] }),
|
|
2744
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
2745
|
+
/* @__PURE__ */ jsxRuntime.jsx(useMobile.Label, { htmlFor: "confirmPassword", children: "Confirmar senha" }),
|
|
2746
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2747
|
+
input.Input,
|
|
2748
|
+
{
|
|
2749
|
+
id: "confirmPassword",
|
|
2750
|
+
name: "confirmPassword",
|
|
2751
|
+
type: "password",
|
|
2752
|
+
required: true,
|
|
2753
|
+
className: "w-full",
|
|
2754
|
+
placeholder: "••••••••",
|
|
2755
|
+
value: confirmPassword,
|
|
2756
|
+
onChange: (e) => {
|
|
2757
|
+
setConfirmPassword(e.target.value);
|
|
2758
|
+
setError("");
|
|
2759
|
+
}
|
|
2760
|
+
}
|
|
2761
|
+
)
|
|
2762
|
+
] }),
|
|
2763
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-accent rounded-[var(--radius)] p-4 space-y-2", children: [
|
|
2764
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: "Requisitos de senha:" }),
|
|
2765
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
2766
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2767
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2768
|
+
lucideReact.CheckCircle2,
|
|
2769
|
+
{
|
|
2770
|
+
className: `w-4 h-4 ${password.length >= 6 ? "text-[var(--chart-2)]" : "text-muted-foreground"}`
|
|
2771
|
+
}
|
|
2772
|
+
),
|
|
2773
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: "Mínimo de 6 caracteres" })
|
|
2774
|
+
] }),
|
|
2775
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2776
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2777
|
+
lucideReact.CheckCircle2,
|
|
2778
|
+
{
|
|
2779
|
+
className: `w-4 h-4 ${password === confirmPassword && password.length > 0 ? "text-[var(--chart-2)]" : "text-muted-foreground"}`
|
|
2780
|
+
}
|
|
2781
|
+
),
|
|
2782
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: "As senhas coincidem" })
|
|
2783
|
+
] })
|
|
2784
|
+
] })
|
|
2785
|
+
] }),
|
|
2786
|
+
error && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-destructive bg-destructive/10 rounded-[var(--radius)] p-3", children: [
|
|
2787
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "w-4 h-4 flex-shrink-0" }),
|
|
2788
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: error })
|
|
2789
|
+
] }),
|
|
2790
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2791
|
+
tooltip.Button,
|
|
2792
|
+
{
|
|
2793
|
+
type: "submit",
|
|
2794
|
+
className: "w-full",
|
|
2795
|
+
disabled: isLoading,
|
|
2796
|
+
children: isLoading ? "Redefinindo..." : "Redefinir senha"
|
|
2797
|
+
}
|
|
2798
|
+
)
|
|
2799
|
+
] })
|
|
2800
|
+
] })
|
|
2801
|
+
] })
|
|
2802
|
+
] });
|
|
2803
|
+
}
|
|
2061
2804
|
exports.CodeBlock = CodeBlock.CodeBlock;
|
|
2062
2805
|
exports.FormattedDocument = CodeBlock.FormattedDocument;
|
|
2063
2806
|
exports.MarkdownMessage = CodeBlock.MarkdownMessage;
|
|
@@ -2081,183 +2824,183 @@ exports.PopoverContent = input.PopoverContent;
|
|
|
2081
2824
|
exports.PopoverTrigger = input.PopoverTrigger;
|
|
2082
2825
|
exports.ScrollArea = input.ScrollArea;
|
|
2083
2826
|
exports.ScrollBar = input.ScrollBar;
|
|
2084
|
-
exports.Accordion =
|
|
2085
|
-
exports.AccordionContent =
|
|
2086
|
-
exports.AccordionItem =
|
|
2087
|
-
exports.AccordionTrigger =
|
|
2088
|
-
exports.Alert =
|
|
2089
|
-
exports.AlertDescription =
|
|
2090
|
-
exports.AlertDialog =
|
|
2091
|
-
exports.AlertDialogAction =
|
|
2092
|
-
exports.AlertDialogCancel =
|
|
2093
|
-
exports.AlertDialogContent =
|
|
2094
|
-
exports.AlertDialogDescription =
|
|
2095
|
-
exports.AlertDialogFooter =
|
|
2096
|
-
exports.AlertDialogHeader =
|
|
2097
|
-
exports.AlertDialogOverlay =
|
|
2098
|
-
exports.AlertDialogPortal =
|
|
2099
|
-
exports.AlertDialogTitle =
|
|
2100
|
-
exports.AlertDialogTrigger =
|
|
2101
|
-
exports.AlertTitle =
|
|
2102
|
-
exports.AspectRatio =
|
|
2103
|
-
exports.AssistantChart =
|
|
2104
|
-
exports.Badge =
|
|
2105
|
-
exports.Calendar =
|
|
2106
|
-
exports.Card =
|
|
2107
|
-
exports.CardAction =
|
|
2108
|
-
exports.CardContent =
|
|
2109
|
-
exports.CardDescription =
|
|
2110
|
-
exports.CardFooter =
|
|
2111
|
-
exports.CardHeader =
|
|
2112
|
-
exports.CardTitle =
|
|
2113
|
-
exports.Carousel =
|
|
2114
|
-
exports.CarouselContent =
|
|
2115
|
-
exports.CarouselItem =
|
|
2116
|
-
exports.CarouselNext =
|
|
2117
|
-
exports.CarouselPrevious =
|
|
2118
|
-
exports.Checkbox =
|
|
2119
|
-
exports.Collapsible =
|
|
2120
|
-
exports.CollapsibleContent =
|
|
2121
|
-
exports.CollapsibleTrigger =
|
|
2122
|
-
exports.Command =
|
|
2123
|
-
exports.CommandDialog =
|
|
2124
|
-
exports.CommandEmpty =
|
|
2125
|
-
exports.CommandGroup =
|
|
2126
|
-
exports.CommandInput =
|
|
2127
|
-
exports.CommandItem =
|
|
2128
|
-
exports.CommandList =
|
|
2129
|
-
exports.CommandSeparator =
|
|
2130
|
-
exports.CommandShortcut =
|
|
2131
|
-
exports.ContextMenu =
|
|
2132
|
-
exports.ContextMenuCheckboxItem =
|
|
2133
|
-
exports.ContextMenuContent =
|
|
2134
|
-
exports.ContextMenuGroup =
|
|
2135
|
-
exports.ContextMenuItem =
|
|
2136
|
-
exports.ContextMenuLabel =
|
|
2137
|
-
exports.ContextMenuPortal =
|
|
2138
|
-
exports.ContextMenuRadioGroup =
|
|
2139
|
-
exports.ContextMenuRadioItem =
|
|
2140
|
-
exports.ContextMenuSeparator =
|
|
2141
|
-
exports.ContextMenuShortcut =
|
|
2142
|
-
exports.ContextMenuSub =
|
|
2143
|
-
exports.ContextMenuSubContent =
|
|
2144
|
-
exports.ContextMenuSubTrigger =
|
|
2145
|
-
exports.ContextMenuTrigger =
|
|
2146
|
-
exports.Drawer =
|
|
2147
|
-
exports.DrawerContent =
|
|
2148
|
-
exports.DrawerDescription =
|
|
2149
|
-
exports.DrawerFooter =
|
|
2150
|
-
exports.DrawerHandle =
|
|
2151
|
-
exports.DrawerHeader =
|
|
2152
|
-
exports.DrawerOverlay =
|
|
2153
|
-
exports.DrawerPortal =
|
|
2154
|
-
exports.DrawerTitle =
|
|
2155
|
-
exports.DrawerTrigger =
|
|
2156
|
-
exports.Empty =
|
|
2157
|
-
exports.EmptyAction =
|
|
2158
|
-
exports.EmptyDescription =
|
|
2159
|
-
exports.EmptyIcon =
|
|
2160
|
-
exports.EmptyImage =
|
|
2161
|
-
exports.EmptyTitle =
|
|
2162
|
-
exports.FileUpload =
|
|
2163
|
-
exports.Form =
|
|
2164
|
-
exports.FormControl =
|
|
2165
|
-
exports.FormDescription =
|
|
2166
|
-
exports.FormField =
|
|
2167
|
-
exports.FormItem =
|
|
2168
|
-
exports.FormLabel =
|
|
2169
|
-
exports.FormMessage =
|
|
2170
|
-
exports.HoverCard =
|
|
2171
|
-
exports.HoverCardContent =
|
|
2172
|
-
exports.HoverCardTrigger =
|
|
2173
|
-
exports.ImageWithFallback =
|
|
2174
|
-
exports.InputOTP =
|
|
2175
|
-
exports.InputOTPGroup =
|
|
2176
|
-
exports.InputOTPSeparator =
|
|
2177
|
-
exports.InputOTPSlot =
|
|
2178
|
-
exports.Label =
|
|
2179
|
-
exports.Map =
|
|
2180
|
-
exports.Menubar =
|
|
2181
|
-
exports.MenubarCheckboxItem =
|
|
2182
|
-
exports.MenubarContent =
|
|
2183
|
-
exports.MenubarGroup =
|
|
2184
|
-
exports.MenubarItem =
|
|
2185
|
-
exports.MenubarLabel =
|
|
2186
|
-
exports.MenubarMenu =
|
|
2187
|
-
exports.MenubarPortal =
|
|
2188
|
-
exports.MenubarRadioGroup =
|
|
2189
|
-
exports.MenubarRadioItem =
|
|
2190
|
-
exports.MenubarSeparator =
|
|
2191
|
-
exports.MenubarShortcut =
|
|
2192
|
-
exports.MenubarSub =
|
|
2193
|
-
exports.MenubarSubContent =
|
|
2194
|
-
exports.MenubarSubTrigger =
|
|
2195
|
-
exports.MenubarTrigger =
|
|
2196
|
-
exports.NavigationMenu =
|
|
2197
|
-
exports.NavigationMenuContent =
|
|
2198
|
-
exports.NavigationMenuIndicator =
|
|
2199
|
-
exports.NavigationMenuItem =
|
|
2200
|
-
exports.NavigationMenuLink =
|
|
2201
|
-
exports.NavigationMenuList =
|
|
2202
|
-
exports.NavigationMenuTrigger =
|
|
2203
|
-
exports.NavigationMenuViewport =
|
|
2204
|
-
exports.NotificationBadge =
|
|
2205
|
-
exports.PageHeader =
|
|
2206
|
-
exports.PageHeaderDescription =
|
|
2207
|
-
exports.PageHeaderHeading =
|
|
2208
|
-
exports.Pagination =
|
|
2209
|
-
exports.PaginationContent =
|
|
2210
|
-
exports.PaginationEllipsis =
|
|
2211
|
-
exports.PaginationItem =
|
|
2212
|
-
exports.PaginationLink =
|
|
2213
|
-
exports.PaginationNext =
|
|
2214
|
-
exports.PaginationPrevious =
|
|
2215
|
-
exports.Progress =
|
|
2216
|
-
exports.RadioGroup =
|
|
2217
|
-
exports.RadioGroupItem =
|
|
2218
|
-
exports.Rating =
|
|
2219
|
-
exports.ResizableHandle =
|
|
2220
|
-
exports.ResizablePanel =
|
|
2221
|
-
exports.ResizablePanelGroup =
|
|
2222
|
-
exports.RouteMap =
|
|
2223
|
-
exports.Search =
|
|
2224
|
-
exports.Separator =
|
|
2225
|
-
exports.Sheet =
|
|
2226
|
-
exports.SheetContent =
|
|
2227
|
-
exports.SheetDescription =
|
|
2228
|
-
exports.SheetFooter =
|
|
2229
|
-
exports.SheetHeader =
|
|
2230
|
-
exports.SheetPortal =
|
|
2231
|
-
exports.SheetTitle =
|
|
2232
|
-
exports.SheetTrigger =
|
|
2233
|
-
exports.SimpleMap =
|
|
2234
|
-
exports.Skeleton =
|
|
2235
|
-
exports.StatsCard =
|
|
2236
|
-
exports.Step =
|
|
2237
|
-
exports.Stepper =
|
|
2238
|
-
exports.Switch =
|
|
2239
|
-
exports.Tabs =
|
|
2240
|
-
exports.TabsContent =
|
|
2241
|
-
exports.TabsList =
|
|
2242
|
-
exports.TabsTrigger =
|
|
2243
|
-
exports.Timeline =
|
|
2244
|
-
exports.TimelineContent =
|
|
2245
|
-
exports.TimelineDescription =
|
|
2246
|
-
exports.TimelineDot =
|
|
2247
|
-
exports.TimelineHeading =
|
|
2248
|
-
exports.TimelineItem =
|
|
2249
|
-
exports.TimelineTime =
|
|
2250
|
-
exports.Toggle =
|
|
2251
|
-
exports.ToggleGroup =
|
|
2252
|
-
exports.ToggleGroupItem =
|
|
2253
|
-
exports.TreeView =
|
|
2254
|
-
exports.badgeVariants =
|
|
2255
|
-
exports.navigationMenuTriggerStyle =
|
|
2256
|
-
exports.toggleVariants =
|
|
2257
|
-
exports.useFormField =
|
|
2258
|
-
exports.useIsMobile =
|
|
2259
|
-
exports.useMobile =
|
|
2260
|
-
exports.useStepper =
|
|
2827
|
+
exports.Accordion = useMobile.Accordion;
|
|
2828
|
+
exports.AccordionContent = useMobile.AccordionContent;
|
|
2829
|
+
exports.AccordionItem = useMobile.AccordionItem;
|
|
2830
|
+
exports.AccordionTrigger = useMobile.AccordionTrigger;
|
|
2831
|
+
exports.Alert = useMobile.Alert;
|
|
2832
|
+
exports.AlertDescription = useMobile.AlertDescription;
|
|
2833
|
+
exports.AlertDialog = useMobile.AlertDialog;
|
|
2834
|
+
exports.AlertDialogAction = useMobile.AlertDialogAction;
|
|
2835
|
+
exports.AlertDialogCancel = useMobile.AlertDialogCancel;
|
|
2836
|
+
exports.AlertDialogContent = useMobile.AlertDialogContent;
|
|
2837
|
+
exports.AlertDialogDescription = useMobile.AlertDialogDescription;
|
|
2838
|
+
exports.AlertDialogFooter = useMobile.AlertDialogFooter;
|
|
2839
|
+
exports.AlertDialogHeader = useMobile.AlertDialogHeader;
|
|
2840
|
+
exports.AlertDialogOverlay = useMobile.AlertDialogOverlay;
|
|
2841
|
+
exports.AlertDialogPortal = useMobile.AlertDialogPortal;
|
|
2842
|
+
exports.AlertDialogTitle = useMobile.AlertDialogTitle;
|
|
2843
|
+
exports.AlertDialogTrigger = useMobile.AlertDialogTrigger;
|
|
2844
|
+
exports.AlertTitle = useMobile.AlertTitle;
|
|
2845
|
+
exports.AspectRatio = useMobile.AspectRatio;
|
|
2846
|
+
exports.AssistantChart = useMobile.AssistantChart;
|
|
2847
|
+
exports.Badge = useMobile.Badge;
|
|
2848
|
+
exports.Calendar = useMobile.Calendar;
|
|
2849
|
+
exports.Card = useMobile.Card;
|
|
2850
|
+
exports.CardAction = useMobile.CardAction;
|
|
2851
|
+
exports.CardContent = useMobile.CardContent;
|
|
2852
|
+
exports.CardDescription = useMobile.CardDescription;
|
|
2853
|
+
exports.CardFooter = useMobile.CardFooter;
|
|
2854
|
+
exports.CardHeader = useMobile.CardHeader;
|
|
2855
|
+
exports.CardTitle = useMobile.CardTitle;
|
|
2856
|
+
exports.Carousel = useMobile.Carousel;
|
|
2857
|
+
exports.CarouselContent = useMobile.CarouselContent;
|
|
2858
|
+
exports.CarouselItem = useMobile.CarouselItem;
|
|
2859
|
+
exports.CarouselNext = useMobile.CarouselNext;
|
|
2860
|
+
exports.CarouselPrevious = useMobile.CarouselPrevious;
|
|
2861
|
+
exports.Checkbox = useMobile.Checkbox;
|
|
2862
|
+
exports.Collapsible = useMobile.Collapsible;
|
|
2863
|
+
exports.CollapsibleContent = useMobile.CollapsibleContent;
|
|
2864
|
+
exports.CollapsibleTrigger = useMobile.CollapsibleTrigger;
|
|
2865
|
+
exports.Command = useMobile.Command;
|
|
2866
|
+
exports.CommandDialog = useMobile.CommandDialog;
|
|
2867
|
+
exports.CommandEmpty = useMobile.CommandEmpty;
|
|
2868
|
+
exports.CommandGroup = useMobile.CommandGroup;
|
|
2869
|
+
exports.CommandInput = useMobile.CommandInput;
|
|
2870
|
+
exports.CommandItem = useMobile.CommandItem;
|
|
2871
|
+
exports.CommandList = useMobile.CommandList;
|
|
2872
|
+
exports.CommandSeparator = useMobile.CommandSeparator;
|
|
2873
|
+
exports.CommandShortcut = useMobile.CommandShortcut;
|
|
2874
|
+
exports.ContextMenu = useMobile.ContextMenu;
|
|
2875
|
+
exports.ContextMenuCheckboxItem = useMobile.ContextMenuCheckboxItem;
|
|
2876
|
+
exports.ContextMenuContent = useMobile.ContextMenuContent;
|
|
2877
|
+
exports.ContextMenuGroup = useMobile.ContextMenuGroup;
|
|
2878
|
+
exports.ContextMenuItem = useMobile.ContextMenuItem;
|
|
2879
|
+
exports.ContextMenuLabel = useMobile.ContextMenuLabel;
|
|
2880
|
+
exports.ContextMenuPortal = useMobile.ContextMenuPortal;
|
|
2881
|
+
exports.ContextMenuRadioGroup = useMobile.ContextMenuRadioGroup;
|
|
2882
|
+
exports.ContextMenuRadioItem = useMobile.ContextMenuRadioItem;
|
|
2883
|
+
exports.ContextMenuSeparator = useMobile.ContextMenuSeparator;
|
|
2884
|
+
exports.ContextMenuShortcut = useMobile.ContextMenuShortcut;
|
|
2885
|
+
exports.ContextMenuSub = useMobile.ContextMenuSub;
|
|
2886
|
+
exports.ContextMenuSubContent = useMobile.ContextMenuSubContent;
|
|
2887
|
+
exports.ContextMenuSubTrigger = useMobile.ContextMenuSubTrigger;
|
|
2888
|
+
exports.ContextMenuTrigger = useMobile.ContextMenuTrigger;
|
|
2889
|
+
exports.Drawer = useMobile.Drawer;
|
|
2890
|
+
exports.DrawerContent = useMobile.DrawerContent;
|
|
2891
|
+
exports.DrawerDescription = useMobile.DrawerDescription;
|
|
2892
|
+
exports.DrawerFooter = useMobile.DrawerFooter;
|
|
2893
|
+
exports.DrawerHandle = useMobile.DrawerHandle;
|
|
2894
|
+
exports.DrawerHeader = useMobile.DrawerHeader;
|
|
2895
|
+
exports.DrawerOverlay = useMobile.DrawerOverlay;
|
|
2896
|
+
exports.DrawerPortal = useMobile.DrawerPortal;
|
|
2897
|
+
exports.DrawerTitle = useMobile.DrawerTitle;
|
|
2898
|
+
exports.DrawerTrigger = useMobile.DrawerTrigger;
|
|
2899
|
+
exports.Empty = useMobile.Empty;
|
|
2900
|
+
exports.EmptyAction = useMobile.EmptyAction;
|
|
2901
|
+
exports.EmptyDescription = useMobile.EmptyDescription;
|
|
2902
|
+
exports.EmptyIcon = useMobile.EmptyIcon;
|
|
2903
|
+
exports.EmptyImage = useMobile.EmptyImage;
|
|
2904
|
+
exports.EmptyTitle = useMobile.EmptyTitle;
|
|
2905
|
+
exports.FileUpload = useMobile.FileUpload;
|
|
2906
|
+
exports.Form = useMobile.Form;
|
|
2907
|
+
exports.FormControl = useMobile.FormControl;
|
|
2908
|
+
exports.FormDescription = useMobile.FormDescription;
|
|
2909
|
+
exports.FormField = useMobile.FormField;
|
|
2910
|
+
exports.FormItem = useMobile.FormItem;
|
|
2911
|
+
exports.FormLabel = useMobile.FormLabel;
|
|
2912
|
+
exports.FormMessage = useMobile.FormMessage;
|
|
2913
|
+
exports.HoverCard = useMobile.HoverCard;
|
|
2914
|
+
exports.HoverCardContent = useMobile.HoverCardContent;
|
|
2915
|
+
exports.HoverCardTrigger = useMobile.HoverCardTrigger;
|
|
2916
|
+
exports.ImageWithFallback = useMobile.ImageWithFallback;
|
|
2917
|
+
exports.InputOTP = useMobile.InputOTP;
|
|
2918
|
+
exports.InputOTPGroup = useMobile.InputOTPGroup;
|
|
2919
|
+
exports.InputOTPSeparator = useMobile.InputOTPSeparator;
|
|
2920
|
+
exports.InputOTPSlot = useMobile.InputOTPSlot;
|
|
2921
|
+
exports.Label = useMobile.Label;
|
|
2922
|
+
exports.Map = useMobile.Map;
|
|
2923
|
+
exports.Menubar = useMobile.Menubar;
|
|
2924
|
+
exports.MenubarCheckboxItem = useMobile.MenubarCheckboxItem;
|
|
2925
|
+
exports.MenubarContent = useMobile.MenubarContent;
|
|
2926
|
+
exports.MenubarGroup = useMobile.MenubarGroup;
|
|
2927
|
+
exports.MenubarItem = useMobile.MenubarItem;
|
|
2928
|
+
exports.MenubarLabel = useMobile.MenubarLabel;
|
|
2929
|
+
exports.MenubarMenu = useMobile.MenubarMenu;
|
|
2930
|
+
exports.MenubarPortal = useMobile.MenubarPortal;
|
|
2931
|
+
exports.MenubarRadioGroup = useMobile.MenubarRadioGroup;
|
|
2932
|
+
exports.MenubarRadioItem = useMobile.MenubarRadioItem;
|
|
2933
|
+
exports.MenubarSeparator = useMobile.MenubarSeparator;
|
|
2934
|
+
exports.MenubarShortcut = useMobile.MenubarShortcut;
|
|
2935
|
+
exports.MenubarSub = useMobile.MenubarSub;
|
|
2936
|
+
exports.MenubarSubContent = useMobile.MenubarSubContent;
|
|
2937
|
+
exports.MenubarSubTrigger = useMobile.MenubarSubTrigger;
|
|
2938
|
+
exports.MenubarTrigger = useMobile.MenubarTrigger;
|
|
2939
|
+
exports.NavigationMenu = useMobile.NavigationMenu;
|
|
2940
|
+
exports.NavigationMenuContent = useMobile.NavigationMenuContent;
|
|
2941
|
+
exports.NavigationMenuIndicator = useMobile.NavigationMenuIndicator;
|
|
2942
|
+
exports.NavigationMenuItem = useMobile.NavigationMenuItem;
|
|
2943
|
+
exports.NavigationMenuLink = useMobile.NavigationMenuLink;
|
|
2944
|
+
exports.NavigationMenuList = useMobile.NavigationMenuList;
|
|
2945
|
+
exports.NavigationMenuTrigger = useMobile.NavigationMenuTrigger;
|
|
2946
|
+
exports.NavigationMenuViewport = useMobile.NavigationMenuViewport;
|
|
2947
|
+
exports.NotificationBadge = useMobile.NotificationBadge;
|
|
2948
|
+
exports.PageHeader = useMobile.PageHeader;
|
|
2949
|
+
exports.PageHeaderDescription = useMobile.PageHeaderDescription;
|
|
2950
|
+
exports.PageHeaderHeading = useMobile.PageHeaderHeading;
|
|
2951
|
+
exports.Pagination = useMobile.Pagination;
|
|
2952
|
+
exports.PaginationContent = useMobile.PaginationContent;
|
|
2953
|
+
exports.PaginationEllipsis = useMobile.PaginationEllipsis;
|
|
2954
|
+
exports.PaginationItem = useMobile.PaginationItem;
|
|
2955
|
+
exports.PaginationLink = useMobile.PaginationLink;
|
|
2956
|
+
exports.PaginationNext = useMobile.PaginationNext;
|
|
2957
|
+
exports.PaginationPrevious = useMobile.PaginationPrevious;
|
|
2958
|
+
exports.Progress = useMobile.Progress;
|
|
2959
|
+
exports.RadioGroup = useMobile.RadioGroup;
|
|
2960
|
+
exports.RadioGroupItem = useMobile.RadioGroupItem;
|
|
2961
|
+
exports.Rating = useMobile.Rating;
|
|
2962
|
+
exports.ResizableHandle = useMobile.ResizableHandle;
|
|
2963
|
+
exports.ResizablePanel = useMobile.ResizablePanel;
|
|
2964
|
+
exports.ResizablePanelGroup = useMobile.ResizablePanelGroup;
|
|
2965
|
+
exports.RouteMap = useMobile.RouteMap;
|
|
2966
|
+
exports.Search = useMobile.Search;
|
|
2967
|
+
exports.Separator = useMobile.Separator;
|
|
2968
|
+
exports.Sheet = useMobile.Sheet;
|
|
2969
|
+
exports.SheetContent = useMobile.SheetContent;
|
|
2970
|
+
exports.SheetDescription = useMobile.SheetDescription;
|
|
2971
|
+
exports.SheetFooter = useMobile.SheetFooter;
|
|
2972
|
+
exports.SheetHeader = useMobile.SheetHeader;
|
|
2973
|
+
exports.SheetPortal = useMobile.SheetPortal;
|
|
2974
|
+
exports.SheetTitle = useMobile.SheetTitle;
|
|
2975
|
+
exports.SheetTrigger = useMobile.SheetTrigger;
|
|
2976
|
+
exports.SimpleMap = useMobile.SimpleMap;
|
|
2977
|
+
exports.Skeleton = useMobile.Skeleton;
|
|
2978
|
+
exports.StatsCard = useMobile.StatsCard;
|
|
2979
|
+
exports.Step = useMobile.Step;
|
|
2980
|
+
exports.Stepper = useMobile.Stepper;
|
|
2981
|
+
exports.Switch = useMobile.Switch;
|
|
2982
|
+
exports.Tabs = useMobile.Tabs;
|
|
2983
|
+
exports.TabsContent = useMobile.TabsContent;
|
|
2984
|
+
exports.TabsList = useMobile.TabsList;
|
|
2985
|
+
exports.TabsTrigger = useMobile.TabsTrigger;
|
|
2986
|
+
exports.Timeline = useMobile.Timeline;
|
|
2987
|
+
exports.TimelineContent = useMobile.TimelineContent;
|
|
2988
|
+
exports.TimelineDescription = useMobile.TimelineDescription;
|
|
2989
|
+
exports.TimelineDot = useMobile.TimelineDot;
|
|
2990
|
+
exports.TimelineHeading = useMobile.TimelineHeading;
|
|
2991
|
+
exports.TimelineItem = useMobile.TimelineItem;
|
|
2992
|
+
exports.TimelineTime = useMobile.TimelineTime;
|
|
2993
|
+
exports.Toggle = useMobile.Toggle;
|
|
2994
|
+
exports.ToggleGroup = useMobile.ToggleGroup;
|
|
2995
|
+
exports.ToggleGroupItem = useMobile.ToggleGroupItem;
|
|
2996
|
+
exports.TreeView = useMobile.TreeView;
|
|
2997
|
+
exports.badgeVariants = useMobile.badgeVariants;
|
|
2998
|
+
exports.navigationMenuTriggerStyle = useMobile.navigationMenuTriggerStyle;
|
|
2999
|
+
exports.toggleVariants = useMobile.toggleVariants;
|
|
3000
|
+
exports.useFormField = useMobile.useFormField;
|
|
3001
|
+
exports.useIsMobile = useMobile.useIsMobile;
|
|
3002
|
+
exports.useMobile = useMobile.useMobile;
|
|
3003
|
+
exports.useStepper = useMobile.useStepper;
|
|
2261
3004
|
exports.Select = select.Select;
|
|
2262
3005
|
exports.SelectContent = select.SelectContent;
|
|
2263
3006
|
exports.SelectGroup = select.SelectGroup;
|
|
@@ -2298,6 +3041,10 @@ exports.Textarea = richTextEditor.Textarea;
|
|
|
2298
3041
|
exports.Slider = slider.Slider;
|
|
2299
3042
|
exports.LayoutProvider = LayoutContext.LayoutProvider;
|
|
2300
3043
|
exports.useLayout = LayoutContext.useLayout;
|
|
3044
|
+
exports.LanguageSelector = LanguageSelector.LanguageSelector;
|
|
3045
|
+
exports.ThemeToggle = LanguageSelector.ThemeToggle;
|
|
3046
|
+
exports.XerticaLogo = LanguageSelector.XerticaLogo;
|
|
3047
|
+
exports.XerticaXLogo = LanguageSelector.XerticaXLogo;
|
|
2301
3048
|
exports.Avatar = breadcrumb.Avatar;
|
|
2302
3049
|
exports.AvatarFallback = breadcrumb.AvatarFallback;
|
|
2303
3050
|
exports.AvatarImage = breadcrumb.AvatarImage;
|
|
@@ -2327,12 +3074,14 @@ exports.Toaster = sonner.Toaster;
|
|
|
2327
3074
|
exports.GoogleMapsLoaderProvider = googleMapsLoader.GoogleMapsLoaderProvider;
|
|
2328
3075
|
exports.reloadGoogleMaps = googleMapsLoader.reloadGoogleMaps;
|
|
2329
3076
|
exports.useGoogleMapsLoader = googleMapsLoader.useGoogleMapsLoader;
|
|
2330
|
-
exports.LanguageSelector = LanguageSelector.LanguageSelector;
|
|
2331
|
-
exports.ThemeToggle = LanguageSelector.ThemeToggle;
|
|
2332
|
-
exports.XerticaLogo = LanguageSelector.XerticaLogo;
|
|
2333
|
-
exports.XerticaXLogo = LanguageSelector.XerticaXLogo;
|
|
2334
3077
|
exports.XerticaOrbe = XerticaOrbe.XerticaOrbe;
|
|
2335
3078
|
exports.AudioPlayer = AudioPlayer.AudioPlayer;
|
|
2336
3079
|
exports.FloatingMediaWrapper = AudioPlayer.FloatingMediaWrapper;
|
|
2337
3080
|
exports.VideoPlayer = AudioPlayer.VideoPlayer;
|
|
3081
|
+
exports.ForgotPasswordPage = ForgotPasswordPage;
|
|
3082
|
+
exports.HomeContent = HomeContent;
|
|
3083
|
+
exports.HomePage = HomePage;
|
|
3084
|
+
exports.LoginPage = LoginPage;
|
|
3085
|
+
exports.ResetPasswordPage = ResetPasswordPage;
|
|
2338
3086
|
exports.TemplatePage = TemplatePage;
|
|
3087
|
+
exports.VerifyEmailPage = VerifyEmailPage;
|