@greatapps/common 1.1.237 → 1.1.239

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/components/modals/BuyCreditsModal.mjs +277 -0
  2. package/dist/components/modals/BuyCreditsModal.mjs.map +1 -0
  3. package/dist/components/navigation/subcomponents/CreditsCard.mjs +5 -2
  4. package/dist/components/navigation/subcomponents/CreditsCard.mjs.map +1 -1
  5. package/dist/components/ui/data-display/CardBrandIcons.mjs +484 -0
  6. package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -0
  7. package/dist/components/ui/data-display/CardItem.mjs +67 -0
  8. package/dist/components/ui/data-display/CardItem.mjs.map +1 -0
  9. package/dist/components/ui/data-display/PaymentInfoCard.mjs +161 -0
  10. package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -0
  11. package/dist/components/ui/feedback/Skeleton.mjs +9 -0
  12. package/dist/components/ui/feedback/Skeleton.mjs.map +1 -0
  13. package/dist/index.mjs +57 -29
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/modules/cards/actions/list-cards.action.mjs +10 -0
  16. package/dist/modules/cards/actions/list-cards.action.mjs.map +1 -0
  17. package/dist/modules/cards/hooks/cards.hook.mjs +16 -0
  18. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -0
  19. package/dist/modules/cards/services/cards.service.mjs +29 -0
  20. package/dist/modules/cards/services/cards.service.mjs.map +1 -0
  21. package/dist/modules/cards/types.mjs +27 -0
  22. package/dist/modules/cards/types.mjs.map +1 -0
  23. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs +27 -0
  24. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -0
  25. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs +21 -0
  26. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -0
  27. package/dist/modules/subscriptions/constants/addons.constants.mjs +13 -1
  28. package/dist/modules/subscriptions/constants/addons.constants.mjs.map +1 -1
  29. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs +13 -0
  30. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -0
  31. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs +22 -0
  32. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -0
  33. package/dist/modules/subscriptions/services/subscriptions.service.mjs +36 -0
  34. package/dist/modules/subscriptions/services/subscriptions.service.mjs.map +1 -1
  35. package/dist/modules/subscriptions/types/billing-period.type.mjs +1 -0
  36. package/dist/modules/subscriptions/types/billing-period.type.mjs.map +1 -0
  37. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs +72 -0
  38. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -0
  39. package/dist/modules/subscriptions/utils/build-plan-extras.mjs +34 -0
  40. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -0
  41. package/dist/modules/subscriptions/utils/periodicity.mjs +48 -0
  42. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -0
  43. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs +14 -0
  44. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -0
  45. package/dist/server.mjs +10 -0
  46. package/dist/server.mjs.map +1 -1
  47. package/dist/store/useBuyCreditsModal.mjs +18 -0
  48. package/dist/store/useBuyCreditsModal.mjs.map +1 -0
  49. package/package.json +1 -1
  50. package/src/components/modals/BuyCreditsModal.tsx +304 -0
  51. package/src/components/navigation/subcomponents/CreditsCard.tsx +5 -2
  52. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -0
  53. package/src/components/ui/data-display/CardItem.tsx +75 -0
  54. package/src/components/ui/data-display/PaymentInfoCard.tsx +186 -0
  55. package/src/components/ui/feedback/Skeleton.tsx +5 -0
  56. package/src/index.ts +21 -2
  57. package/src/modules/cards/actions/list-cards.action.ts +8 -0
  58. package/src/modules/cards/hooks/cards.hook.ts +14 -0
  59. package/src/modules/cards/services/cards.service.ts +32 -0
  60. package/src/modules/cards/types.ts +32 -0
  61. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +32 -0
  62. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +26 -0
  63. package/src/modules/subscriptions/constants/addons.constants.ts +18 -0
  64. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -0
  65. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +25 -0
  66. package/src/modules/subscriptions/services/subscriptions.service.ts +52 -1
  67. package/src/modules/subscriptions/types/billing-period.type.ts +1 -0
  68. package/src/modules/subscriptions/types/calculate-subscription.type.ts +75 -0
  69. package/src/modules/subscriptions/utils/build-plan-extras.ts +53 -0
  70. package/src/modules/subscriptions/utils/periodicity.ts +52 -0
  71. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -0
  72. package/src/server.ts +5 -0
  73. package/src/store/useBuyCreditsModal.ts +25 -0
@@ -0,0 +1,67 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { IconDotsVertical, IconTrash } from "@tabler/icons-react";
5
+ import { Popover, PopoverContent, PopoverTrigger } from "../overlay/Popover";
6
+ import { NavBarItem } from "../../layouts/NavBarItem";
7
+ import { CardBrandIcon } from "./CardBrandIcons";
8
+ function CardItem({
9
+ card,
10
+ isSelected,
11
+ onSelect,
12
+ showMenu = false,
13
+ canDelete = true,
14
+ onDelete
15
+ }) {
16
+ const [popoverOpen, setPopoverOpen] = useState(false);
17
+ return /* @__PURE__ */ jsxs(
18
+ "div",
19
+ {
20
+ className: `flex items-center p-4 cursor-pointer transition-colors gap-3 rounded-lg border ${isSelected ? "bg-zinc-50 border-zinc-950" : "bg-white border-zinc-200 hover:bg-zinc-50"}`,
21
+ onClick: onSelect,
22
+ children: [
23
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
24
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-semibold text-zinc-950 truncate", children: card.name }),
25
+ /* @__PURE__ */ jsxs("span", { className: "paragraph-small-medium text-zinc-950", children: [
26
+ "\u2022\u2022\u2022\u2022 ",
27
+ card.number.replaceAll(/\D/g, "").slice(-4)
28
+ ] })
29
+ ] }),
30
+ /* @__PURE__ */ jsx(CardBrandIcon, { brand: card.brand }),
31
+ showMenu && /* @__PURE__ */ jsxs(Popover, { open: popoverOpen, onOpenChange: setPopoverOpen, children: [
32
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
33
+ "button",
34
+ {
35
+ className: "size-10 flex items-center justify-center rounded-lg hover:bg-zinc-100 cursor-pointer",
36
+ onClick: (e) => e.stopPropagation(),
37
+ children: /* @__PURE__ */ jsx(IconDotsVertical, { className: "size-5 text-zinc-500" })
38
+ }
39
+ ) }),
40
+ /* @__PURE__ */ jsx(
41
+ PopoverContent,
42
+ {
43
+ align: "end",
44
+ className: "w-[140px] p-2 bg-white rounded-2xl shadow-md border border-zinc-200",
45
+ onClick: (e) => e.stopPropagation(),
46
+ children: canDelete && /* @__PURE__ */ jsx(
47
+ NavBarItem,
48
+ {
49
+ icon: /* @__PURE__ */ jsx(IconTrash, { size: 20, className: "text-zinc-400" }),
50
+ label: "Excluir",
51
+ onClick: () => {
52
+ setPopoverOpen(false);
53
+ onDelete?.();
54
+ }
55
+ }
56
+ )
57
+ }
58
+ )
59
+ ] })
60
+ ]
61
+ }
62
+ );
63
+ }
64
+ export {
65
+ CardItem
66
+ };
67
+ //# sourceMappingURL=CardItem.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/data-display/CardItem.tsx"],"sourcesContent":["'use client';\n\nimport { useState } from 'react';\nimport { IconDotsVertical, IconTrash } from '@tabler/icons-react';\nimport { Popover, PopoverContent, PopoverTrigger } from '../overlay/Popover';\nimport { NavBarItem } from '../../layouts/NavBarItem';\nimport { CardBrandIcon } from './CardBrandIcons';\nimport type { Card } from '../../../modules/cards/types';\n\ntype CardItemProps = {\n card: Card;\n isSelected?: boolean;\n onSelect?: () => void;\n showMenu?: boolean;\n canDelete?: boolean;\n onDelete?: () => void;\n};\n\nexport function CardItem({\n card,\n isSelected,\n onSelect,\n showMenu = false,\n canDelete = true,\n onDelete,\n}: CardItemProps) {\n const [popoverOpen, setPopoverOpen] = useState(false);\n\n return (\n <div\n className={`flex items-center p-4 cursor-pointer transition-colors gap-3 rounded-lg border ${\n isSelected ? 'bg-zinc-50 border-zinc-950' : 'bg-white border-zinc-200 hover:bg-zinc-50'\n }`}\n onClick={onSelect}\n >\n <div className=\"flex flex-col gap-0.5 flex-1 min-w-0\">\n <span className=\"paragraph-small-semibold text-zinc-950 truncate\">\n {card.name}\n </span>\n <span className=\"paragraph-small-medium text-zinc-950\">\n •••• {card.number.replaceAll(/\\D/g, '').slice(-4)}\n </span>\n </div>\n <CardBrandIcon brand={card.brand} />\n {showMenu && (\n <Popover open={popoverOpen} onOpenChange={setPopoverOpen}>\n <PopoverTrigger asChild>\n <button\n className=\"size-10 flex items-center justify-center rounded-lg hover:bg-zinc-100 cursor-pointer\"\n onClick={(e) => e.stopPropagation()}\n >\n <IconDotsVertical className=\"size-5 text-zinc-500\" />\n </button>\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n className=\"w-[140px] p-2 bg-white rounded-2xl shadow-md border border-zinc-200\"\n onClick={(e) => e.stopPropagation()}\n >\n {canDelete && (\n <NavBarItem\n icon={<IconTrash size={20} className=\"text-zinc-400\" />}\n label=\"Excluir\"\n onClick={() => {\n setPopoverOpen(false);\n onDelete?.();\n }}\n />\n )}\n </PopoverContent>\n </Popover>\n )}\n </div>\n );\n}\n"],"mappings":";AAoCQ,cAGA,YAHA;AAlCR,SAAS,gBAAgB;AACzB,SAAS,kBAAkB,iBAAiB;AAC5C,SAAS,SAAS,gBAAgB,sBAAsB;AACxD,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAYvB,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AAAA,EACZ;AACF,GAAkB;AAChB,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,kFACT,aAAa,+BAA+B,2CAC9C;AAAA,MACA,SAAS;AAAA,MAET;AAAA,6BAAC,SAAI,WAAU,wCACb;AAAA,8BAAC,UAAK,WAAU,mDACb,eAAK,MACR;AAAA,UACA,qBAAC,UAAK,WAAU,wCAAuC;AAAA;AAAA,YAC/C,KAAK,OAAO,WAAW,OAAO,EAAE,EAAE,MAAM,EAAE;AAAA,aAClD;AAAA,WACF;AAAA,QACA,oBAAC,iBAAc,OAAO,KAAK,OAAO;AAAA,QACjC,YACC,qBAAC,WAAQ,MAAM,aAAa,cAAc,gBACxC;AAAA,8BAAC,kBAAe,SAAO,MACrB;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,cAElC,8BAAC,oBAAiB,WAAU,wBAAuB;AAAA;AAAA,UACrD,GACF;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,OAAM;AAAA,cACN,WAAU;AAAA,cACV,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,cAEjC,uBACC;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAM,oBAAC,aAAU,MAAM,IAAI,WAAU,iBAAgB;AAAA,kBACrD,OAAM;AAAA,kBACN,SAAS,MAAM;AACb,mCAAe,KAAK;AACpB,+BAAW;AAAA,kBACb;AAAA;AAAA,cACF;AAAA;AAAA,UAEJ;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;","names":[]}
@@ -0,0 +1,161 @@
1
+ "use client";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { IconChevronDown, IconPlus } from "@tabler/icons-react";
4
+ import { CardBrandIcon } from "./CardBrandIcons";
5
+ import { CardItem } from "./CardItem";
6
+ import useIsMobile from "../../../hooks/useIsMobile";
7
+ import { useCards } from "../../../modules/cards/hooks/cards.hook";
8
+ import { useCallback, useState } from "react";
9
+ import { useModalManager } from "../../../store/useModalManager";
10
+ function PaymentInfoCard({
11
+ email,
12
+ selectedCardId,
13
+ onCardSelect,
14
+ onManageCards,
15
+ onOpenAddCard
16
+ }) {
17
+ const isMobile = useIsMobile();
18
+ const { openModal } = useModalManager();
19
+ const [isExpanded, setIsExpanded] = useState(false);
20
+ const { data: cardsData } = useCards();
21
+ const cards = cardsData?.data ?? [];
22
+ const selectedCard = cards.find((card) => card.id.toString() === selectedCardId.toString());
23
+ const canDeleteCards = cards.length > 1;
24
+ const hasCards = cards.length > 0;
25
+ const hasMoreThan3Cards = cards.length > 3;
26
+ const shouldShowManageButton = isMobile && hasMoreThan3Cards;
27
+ const displayedCards = shouldShowManageButton ? cards.slice(0, 3) : cards;
28
+ const handleOpenAddCardModal = useCallback(() => {
29
+ if (onOpenAddCard) {
30
+ onOpenAddCard();
31
+ return;
32
+ }
33
+ openModal("addCardModal", {
34
+ onCardAdded: (cardId) => onCardSelect(cardId)
35
+ });
36
+ }, [openModal, onOpenAddCard, onCardSelect]);
37
+ const handleDeleteCard = useCallback(
38
+ (card) => {
39
+ if (canDeleteCards) {
40
+ openModal("deleteCardModal", {
41
+ cardId: card.id.toString(),
42
+ cardLastDigits: card.number.replaceAll(/\D/g, "").slice(-4),
43
+ onSuccess: () => {
44
+ if (card.id === selectedCardId && cards.length > 1) {
45
+ const remainingCards = cards.filter((c) => c.id !== card.id);
46
+ if (remainingCards.length > 0) {
47
+ onCardSelect(remainingCards[0].id.toString());
48
+ }
49
+ }
50
+ }
51
+ });
52
+ }
53
+ },
54
+ [canDeleteCards, openModal, selectedCardId, cards, onCardSelect]
55
+ );
56
+ const handleSelectCard = useCallback(
57
+ (cardId) => {
58
+ onCardSelect(cardId);
59
+ setIsExpanded(false);
60
+ },
61
+ [onCardSelect]
62
+ );
63
+ if (!hasCards) {
64
+ return /* @__PURE__ */ jsxs("div", { className: "border border-zinc-200 rounded-lg overflow-hidden", children: [
65
+ email && /* @__PURE__ */ jsxs("div", { className: "flex items-center h-[60px] px-4 border-b border-zinc-200 gap-3", children: [
66
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-medium text-zinc-500 w-[100px]", children: "E-mail" }),
67
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-medium text-zinc-950 flex-1", children: email })
68
+ ] }),
69
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center h-[60px] px-4 gap-3", children: [
70
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-medium text-zinc-500 w-[100px]", children: "Pagamento" }),
71
+ /* @__PURE__ */ jsxs(
72
+ "button",
73
+ {
74
+ type: "button",
75
+ onClick: handleOpenAddCardModal,
76
+ className: "flex items-center h-8 px-2 paragraph-small-semibold text-zinc-950 border border-zinc-200 rounded-md hover:border-zinc-400 transition-colors cursor-pointer w-fit",
77
+ children: [
78
+ /* @__PURE__ */ jsx(IconPlus, { className: "size-[18px]" }),
79
+ /* @__PURE__ */ jsx("span", { className: "px-1.5", children: "Adicionar cart\xE3o" })
80
+ ]
81
+ }
82
+ )
83
+ ] })
84
+ ] });
85
+ }
86
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
87
+ /* @__PURE__ */ jsxs("div", { className: "border border-zinc-200 rounded-lg overflow-hidden", children: [
88
+ email && /* @__PURE__ */ jsxs("div", { className: "flex items-center h-[60px] px-4 border-b border-zinc-200 gap-3", children: [
89
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-medium text-zinc-500 w-[100px]", children: "E-mail" }),
90
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-medium text-zinc-950 flex-1", children: email })
91
+ ] }),
92
+ /* @__PURE__ */ jsx(
93
+ "div",
94
+ {
95
+ className: "flex items-center px-4 py-4 cursor-pointer gap-3",
96
+ onClick: () => setIsExpanded((prev) => !prev),
97
+ children: !isExpanded ? /* @__PURE__ */ jsxs(Fragment, { children: [
98
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-medium text-zinc-500 w-[100px]", children: "Pagamento" }),
99
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
100
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-semibold text-zinc-950 truncate", children: selectedCard?.name }),
101
+ /* @__PURE__ */ jsxs("span", { className: "paragraph-small-medium text-zinc-950", children: [
102
+ "\u2022\u2022\u2022\u2022 ",
103
+ selectedCard?.number?.replaceAll(/\D/g, "")?.slice(-4)
104
+ ] })
105
+ ] }),
106
+ selectedCard && /* @__PURE__ */ jsx(CardBrandIcon, { brand: selectedCard.brand }),
107
+ /* @__PURE__ */ jsx("div", { className: "size-8 flex items-center justify-center rounded-lg", children: /* @__PURE__ */ jsx(IconChevronDown, { className: "size-[18px] text-zinc-500" }) })
108
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
109
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-semibold text-zinc-950 flex-1", children: "Selecione a forma de pagamento" }),
110
+ /* @__PURE__ */ jsx("div", { className: "size-8 flex items-center justify-center rounded-lg", children: /* @__PURE__ */ jsx(IconChevronDown, { className: "size-[18px] text-zinc-500 rotate-180" }) })
111
+ ] })
112
+ }
113
+ ),
114
+ /* @__PURE__ */ jsxs(
115
+ "div",
116
+ {
117
+ className: `flex flex-col gap-2 px-4 overflow-hidden transition-all duration-300 ease-in-out ${isExpanded ? "max-h-[500px] pb-4 opacity-100" : "max-h-0 pb-0 opacity-0"}`,
118
+ children: [
119
+ displayedCards.map((card) => /* @__PURE__ */ jsx(
120
+ CardItem,
121
+ {
122
+ card,
123
+ isSelected: card.id.toString() === selectedCardId.toString(),
124
+ onSelect: () => handleSelectCard(card.id.toString()),
125
+ showMenu: true,
126
+ canDelete: canDeleteCards,
127
+ onDelete: () => handleDeleteCard(card)
128
+ },
129
+ card.id
130
+ )),
131
+ shouldShowManageButton && onManageCards && /* @__PURE__ */ jsx(
132
+ "button",
133
+ {
134
+ type: "button",
135
+ onClick: onManageCards,
136
+ className: "flex items-center justify-center h-10 px-4 paragraph-small-semibold text-cyan-600 border border-cyan-200 rounded-lg hover:bg-cyan-50 transition-colors cursor-pointer mt-2",
137
+ children: "Gerenciar cart\xF5es"
138
+ }
139
+ )
140
+ ]
141
+ }
142
+ )
143
+ ] }),
144
+ /* @__PURE__ */ jsxs(
145
+ "button",
146
+ {
147
+ type: "button",
148
+ onClick: handleOpenAddCardModal,
149
+ className: "flex items-center h-8 px-2 paragraph-small-semibold text-zinc-950 border border-zinc-200 rounded-md hover:border-zinc-400 transition-colors cursor-pointer w-fit",
150
+ children: [
151
+ /* @__PURE__ */ jsx(IconPlus, { className: "size-[18px]" }),
152
+ /* @__PURE__ */ jsx("span", { className: "px-1.5", children: isExpanded ? "Adicionar cart\xE3o" : "Nova forma de pagamento" })
153
+ ]
154
+ }
155
+ )
156
+ ] });
157
+ }
158
+ export {
159
+ PaymentInfoCard
160
+ };
161
+ //# sourceMappingURL=PaymentInfoCard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/data-display/PaymentInfoCard.tsx"],"sourcesContent":["'use client';\n\nimport { IconChevronDown, IconPlus } from '@tabler/icons-react';\nimport { CardBrandIcon } from './CardBrandIcons';\nimport { CardItem } from './CardItem';\nimport useIsMobile from '../../../hooks/useIsMobile';\nimport { useCards } from '../../../modules/cards/hooks/cards.hook';\nimport { useCallback, useState } from 'react';\nimport { useModalManager } from '../../../store/useModalManager';\nimport type { Card } from '../../../modules/cards/types';\n\ntype PaymentInfoCardProps = {\n email?: string;\n selectedCardId: string;\n onCardSelect: (cardId: string) => void;\n onManageCards?: () => void;\n onOpenAddCard?: () => void;\n};\n\nexport function PaymentInfoCard({\n email,\n selectedCardId,\n onCardSelect,\n onManageCards,\n onOpenAddCard,\n}: PaymentInfoCardProps) {\n const isMobile = useIsMobile();\n const { openModal } = useModalManager();\n\n const [isExpanded, setIsExpanded] = useState(false);\n\n const { data: cardsData } = useCards();\n const cards = cardsData?.data ?? [];\n\n const selectedCard = cards.find((card) => card.id.toString() === selectedCardId.toString());\n\n const canDeleteCards = cards.length > 1;\n const hasCards = cards.length > 0;\n\n const hasMoreThan3Cards = cards.length > 3;\n const shouldShowManageButton = isMobile && hasMoreThan3Cards;\n const displayedCards = shouldShowManageButton ? cards.slice(0, 3) : cards;\n\n const handleOpenAddCardModal = useCallback(() => {\n if (onOpenAddCard) {\n onOpenAddCard();\n return;\n }\n openModal('addCardModal', {\n onCardAdded: (cardId: string) => onCardSelect(cardId),\n });\n }, [openModal, onOpenAddCard, onCardSelect]);\n\n const handleDeleteCard = useCallback(\n (card: Card) => {\n if (canDeleteCards) {\n openModal('deleteCardModal', {\n cardId: card.id.toString(),\n cardLastDigits: card.number.replaceAll(/\\D/g, '').slice(-4),\n onSuccess: () => {\n if (card.id === selectedCardId && cards.length > 1) {\n const remainingCards = cards.filter((c) => c.id !== card.id);\n if (remainingCards.length > 0) {\n onCardSelect(remainingCards[0].id.toString());\n }\n }\n },\n });\n }\n },\n [canDeleteCards, openModal, selectedCardId, cards, onCardSelect]\n );\n\n const handleSelectCard = useCallback(\n (cardId: string) => {\n onCardSelect(cardId);\n setIsExpanded(false);\n },\n [onCardSelect]\n );\n\n if (!hasCards) {\n return (\n <div className=\"border border-zinc-200 rounded-lg overflow-hidden\">\n {email && (\n <div className=\"flex items-center h-[60px] px-4 border-b border-zinc-200 gap-3\">\n <span className=\"paragraph-small-medium text-zinc-500 w-[100px]\">E-mail</span>\n <span className=\"paragraph-small-medium text-zinc-950 flex-1\">{email}</span>\n </div>\n )}\n <div className=\"flex items-center h-[60px] px-4 gap-3\">\n <span className=\"paragraph-small-medium text-zinc-500 w-[100px]\">Pagamento</span>\n <button\n type=\"button\"\n onClick={handleOpenAddCardModal}\n className=\"flex items-center h-8 px-2 paragraph-small-semibold text-zinc-950 border border-zinc-200 rounded-md hover:border-zinc-400 transition-colors cursor-pointer w-fit\"\n >\n <IconPlus className=\"size-[18px]\" />\n <span className=\"px-1.5\">Adicionar cartão</span>\n </button>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-3\">\n <div className=\"border border-zinc-200 rounded-lg overflow-hidden\">\n {email && (\n <div className=\"flex items-center h-[60px] px-4 border-b border-zinc-200 gap-3\">\n <span className=\"paragraph-small-medium text-zinc-500 w-[100px]\">E-mail</span>\n <span className=\"paragraph-small-medium text-zinc-950 flex-1\">{email}</span>\n </div>\n )}\n\n <div\n className=\"flex items-center px-4 py-4 cursor-pointer gap-3\"\n onClick={() => setIsExpanded((prev) => !prev)}\n >\n {!isExpanded ? (\n <>\n <span className=\"paragraph-small-medium text-zinc-500 w-[100px]\">Pagamento</span>\n <div className=\"flex flex-col gap-0.5 flex-1 min-w-0\">\n <span className=\"paragraph-small-semibold text-zinc-950 truncate\">{selectedCard?.name}</span>\n <span className=\"paragraph-small-medium text-zinc-950\">\n •••• {selectedCard?.number?.replaceAll(/\\D/g, '')?.slice(-4)}\n </span>\n </div>\n {selectedCard && <CardBrandIcon brand={selectedCard.brand} />}\n <div className=\"size-8 flex items-center justify-center rounded-lg\">\n <IconChevronDown className=\"size-[18px] text-zinc-500\" />\n </div>\n </>\n ) : (\n <>\n <span className=\"paragraph-small-semibold text-zinc-950 flex-1\">\n Selecione a forma de pagamento\n </span>\n <div className=\"size-8 flex items-center justify-center rounded-lg\">\n <IconChevronDown className=\"size-[18px] text-zinc-500 rotate-180\" />\n </div>\n </>\n )}\n </div>\n\n <div\n className={`flex flex-col gap-2 px-4 overflow-hidden transition-all duration-300 ease-in-out ${\n isExpanded ? 'max-h-[500px] pb-4 opacity-100' : 'max-h-0 pb-0 opacity-0'\n }`}\n >\n {displayedCards.map((card) => (\n <CardItem\n key={card.id}\n card={card}\n isSelected={card.id.toString() === selectedCardId.toString()}\n onSelect={() => handleSelectCard(card.id.toString())}\n showMenu\n canDelete={canDeleteCards}\n onDelete={() => handleDeleteCard(card)}\n />\n ))}\n {shouldShowManageButton && onManageCards && (\n <button\n type=\"button\"\n onClick={onManageCards}\n className=\"flex items-center justify-center h-10 px-4 paragraph-small-semibold text-cyan-600 border border-cyan-200 rounded-lg hover:bg-cyan-50 transition-colors cursor-pointer mt-2\"\n >\n Gerenciar cartões\n </button>\n )}\n </div>\n </div>\n\n <button\n type=\"button\"\n onClick={handleOpenAddCardModal}\n className=\"flex items-center h-8 px-2 paragraph-small-semibold text-zinc-950 border border-zinc-200 rounded-md hover:border-zinc-400 transition-colors cursor-pointer w-fit\"\n >\n <IconPlus className=\"size-[18px]\" />\n <span className=\"px-1.5\">\n {isExpanded ? 'Adicionar cartão' : 'Nova forma de pagamento'}\n </span>\n </button>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,9 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { cn } from "../../../infra/utils/clsx";
3
+ function Skeleton({ className, ...props }) {
4
+ return /* @__PURE__ */ jsx("div", { className: cn("skeleton rounded-md", className), ...props });
5
+ }
6
+ export {
7
+ Skeleton
8
+ };
9
+ //# sourceMappingURL=Skeleton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/feedback/Skeleton.tsx"],"sourcesContent":["import { cn } from '../../../infra/utils/clsx';\n\nexport function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn('skeleton rounded-md', className)} {...props} />;\n}\n"],"mappings":"AAGS;AAHT,SAAS,UAAU;AAEZ,SAAS,SAAS,EAAE,WAAW,GAAG,MAAM,GAAyC;AACtF,SAAO,oBAAC,SAAI,WAAW,GAAG,uBAAuB,SAAS,GAAI,GAAG,OAAO;AAC1E;","names":[]}
package/dist/index.mjs CHANGED
@@ -31,13 +31,25 @@ import {
31
31
  import { useActiveSubscription } from "./modules/subscriptions/hooks/find-active-subscription.hook";
32
32
  import { usePlanById } from "./modules/subscriptions/hooks/use-plan-by-id.hook";
33
33
  import { useHasPlanAddon } from "./modules/subscriptions/hooks/use-has-plan-addon.hook";
34
+ import { useCalculateSubscription } from "./modules/subscriptions/hooks/calculate-subscription.hook";
35
+ import { useUpdateSubscriptionPlan } from "./modules/subscriptions/hooks/update-subscription-plan.hook";
36
+ import { useCards, CARDS_QUERY_KEY } from "./modules/cards/hooks/cards.hook";
34
37
  import { useIaCredits } from "./modules/ia-credits/hooks/ia-credits.hook";
35
38
  import {
36
39
  SubscriptionSchema,
37
40
  SubscriptionItemSchema
38
41
  } from "./modules/subscriptions/types";
39
- import { ADDON_IDS } from "./modules/subscriptions/constants/addons.constants";
42
+ import { ADDON_IDS, AI_CREDIT_OPTIONS, AI_CREDIT_VALUES } from "./modules/subscriptions/constants/addons.constants";
40
43
  import { PlanSchema, PlanItemSchema } from "./modules/subscriptions/types/plan.type";
44
+ import { CardSchema } from "./modules/cards/types";
45
+ import { buildPlanExtras } from "./modules/subscriptions/utils/build-plan-extras";
46
+ import { getPriceFromCalculatedData, periodicityToBillingPeriod } from "./modules/subscriptions/utils/periodicity";
47
+ import { useBuyCreditsModal } from "./store/useBuyCreditsModal";
48
+ import { default as default2 } from "./components/modals/BuyCreditsModal";
49
+ import { Skeleton } from "./components/ui/feedback/Skeleton";
50
+ import { PaymentInfoCard } from "./components/ui/data-display/PaymentInfoCard";
51
+ import { CardBrandIcon } from "./components/ui/data-display/CardBrandIcons";
52
+ import { CardItem } from "./components/ui/data-display/CardItem";
41
53
  import { QueryProvider } from "./providers/query.provider";
42
54
  import { createAuthMiddleware } from "./middlewares/create-auth-middleware";
43
55
  import { createMiddlewareChain } from "./middlewares/chain";
@@ -57,7 +69,7 @@ import { AppNavBar } from "./components/layouts/AppNavBar";
57
69
  import { AppMobileNavBar } from "./components/layouts/AppMobileNavBar";
58
70
  import { SideBarNavigation } from "./components/layouts/SideBarNavigation";
59
71
  import { MdSideBarNavigation } from "./components/layouts/MdSideBarNavigation";
60
- import { default as default2 } from "./components/widgets/notifications/NotificationCard";
72
+ import { default as default3 } from "./components/widgets/notifications/NotificationCard";
61
73
  import { NotificationsPopover } from "./components/layouts/NotificationsPopover";
62
74
  import { NotificationPageContent } from "./components/pages/notifications/Notifications";
63
75
  import { UsersSelectorPopover } from "./components/layouts/UsersSelectorPopover";
@@ -66,10 +78,10 @@ import { NavBarItem } from "./components/layouts/NavBarItem";
66
78
  import { AppNavigation } from "./components/navigation/AppNavigation";
67
79
  import { CancelledSubscriptionBanner } from "./components/navigation/CancelledSubscriptionBanner";
68
80
  import { useMobileNavbarSheet } from "./store/useMobileNavbarSheet";
69
- import { default as default3 } from "./hooks/copy-to-clipboard.hook";
81
+ import { default as default4 } from "./hooks/copy-to-clipboard.hook";
70
82
  import { Button, buttonVariants } from "./components/ui/buttons/Button";
71
83
  import { CopyButton } from "./components/ui/buttons/CopyButton";
72
- import { default as default4 } from "./components/ui/buttons/CancelButton";
84
+ import { default as default5 } from "./components/ui/buttons/CancelButton";
73
85
  import {
74
86
  Accordion,
75
87
  AccordionItem,
@@ -114,8 +126,8 @@ import {
114
126
  TabsContent
115
127
  } from "./components/ui/data-display/Tabs";
116
128
  import { UserAvatar } from "./components/ui/data-display/UserAvatar";
117
- import { default as default5 } from "./components/ui/feedback/CircularProgress";
118
- import { default as default6 } from "./components/ui/feedback/DefaultCircularProgress";
129
+ import { default as default6 } from "./components/ui/feedback/CircularProgress";
130
+ import { default as default7 } from "./components/ui/feedback/DefaultCircularProgress";
119
131
  import { Progress } from "./components/ui/feedback/Progress";
120
132
  import { LoadingOverlay } from "./components/ui/feedback/LoadingOverlay";
121
133
  import {
@@ -199,9 +211,9 @@ import { CrispEmbed, openCrispHelpdesk, hideCrisp, showCrisp } from "./component
199
211
  import { useMdSidebarStore } from "./store/useMdSidebarStore";
200
212
  import { useModalManager } from "./store/useModalManager";
201
213
  import { AccountSectionType } from "./enums/AccountSectionType";
202
- import { default as default7 } from "./hooks/usePasswordVisibility";
203
- import { default as default8 } from "./hooks/useCountdownTimer";
204
- import { default as default9 } from "./hooks/useIsMobile";
214
+ import { default as default8 } from "./hooks/usePasswordVisibility";
215
+ import { default as default9 } from "./hooks/useCountdownTimer";
216
+ import { default as default10 } from "./hooks/useIsMobile";
205
217
  import { useDebounce } from "./hooks/useDebounce";
206
218
  import { useDebouncedEffect } from "./hooks/useDebouncedEffect";
207
219
  import { useDebounceState } from "./hooks/useDebounceState";
@@ -220,8 +232,8 @@ import { copyToClipboard, readFromClipboard } from "./utils/browser/clipboard";
220
232
  import { FormField } from "./components/ui/form/FormField";
221
233
  import { SelectField } from "./components/ui/form/SelectField";
222
234
  import { ComboboxField } from "./components/ui/form/ComboboxField";
223
- import { default as default10 } from "./components/ui/form/PhoneInput";
224
- import { default as default11 } from "./components/ui/form/SwitchOptionFieldWithIcon";
235
+ import { default as default11 } from "./components/ui/form/PhoneInput";
236
+ import { default as default12 } from "./components/ui/form/SwitchOptionFieldWithIcon";
225
237
  import { TextAreaField } from "./components/ui/form/TextAreaField";
226
238
  import {
227
239
  useCurrentAccount,
@@ -234,13 +246,13 @@ import {
234
246
  useDeleteAccountUser,
235
247
  useDeleteAccount
236
248
  } from "./modules/accounts/hooks/useAccountManagement";
237
- import { default as default12 } from "./components/account/AccountModals";
249
+ import { default as default13 } from "./components/account/AccountModals";
238
250
  import { useAccountModals } from "./store/useAccountModals";
239
251
  import { ModalManager } from "./components/modals/ModalManager";
240
252
  import { Modals } from "./components/modals/Modals";
241
- import { default as default13 } from "./components/account/TwoFactorAuthModal";
242
- import { default as default14 } from "./components/account/DisableTwoFactorAuthModal";
243
- import { default as default15 } from "./components/account/ConfirmGlobalPreferencesModal";
253
+ import { default as default14 } from "./components/account/TwoFactorAuthModal";
254
+ import { default as default15 } from "./components/account/DisableTwoFactorAuthModal";
255
+ import { default as default16 } from "./components/account/ConfirmGlobalPreferencesModal";
244
256
  import { MyProfileSection } from "./components/account/sections/MyProfileSection";
245
257
  import { PreferencesSection } from "./components/account/sections/PreferencesSection";
246
258
  import { SecuritySection } from "./components/account/sections/SecuritySection";
@@ -257,34 +269,41 @@ import {
257
269
  export {
258
270
  ACCOUNT_QUERY_KEY,
259
271
  ADDON_IDS,
272
+ AI_CREDIT_OPTIONS,
273
+ AI_CREDIT_VALUES,
260
274
  Accordion,
261
275
  AccordionContent,
262
276
  AccordionItem,
263
277
  AccordionTrigger,
264
- default12 as AccountModals,
278
+ default13 as AccountModals,
265
279
  AccountSectionType,
266
280
  AppMobileNavBar,
267
281
  AppNavBar,
268
282
  AppNavigation,
269
283
  Badge,
270
284
  Button,
285
+ default2 as BuyCreditsModal,
286
+ CARDS_QUERY_KEY,
271
287
  CURRENCY_OPTIONS,
272
288
  Calendar,
273
289
  CalendarDayButton,
274
- default4 as CancelButton,
290
+ default5 as CancelButton,
275
291
  CancelledSubscriptionBanner,
276
292
  Card,
277
293
  CardAction,
294
+ CardBrandIcon,
278
295
  CardContent,
279
296
  CardDescription,
280
297
  CardFooter,
281
298
  CardHeader,
299
+ CardItem,
300
+ CardSchema,
282
301
  CardTitle,
283
302
  ChangeEmailModal,
284
303
  ChangePasswordSection,
285
304
  ChangePhoneModal,
286
305
  Checkbox,
287
- default5 as CircularProgress,
306
+ default6 as CircularProgress,
288
307
  ComboboxField,
289
308
  Command,
290
309
  CommandDialog,
@@ -295,12 +314,12 @@ export {
295
314
  CommandList,
296
315
  CommandSeparator,
297
316
  CommandShortcut,
298
- default15 as ConfirmGlobalPreferencesModal,
317
+ default16 as ConfirmGlobalPreferencesModal,
299
318
  CopyButton,
300
319
  CrispEmbed,
301
320
  DatePicker,
302
321
  DateRangePicker,
303
- default6 as DefaultCircularProgress,
322
+ default7 as DefaultCircularProgress,
304
323
  Dialog,
305
324
  DialogClose,
306
325
  DialogContent,
@@ -311,7 +330,7 @@ export {
311
330
  DialogPortal,
312
331
  DialogTitle,
313
332
  DialogTrigger,
314
- default14 as DisableTwoFactorAuthModal,
333
+ default15 as DisableTwoFactorAuthModal,
315
334
  FormField,
316
335
  FrillEmbed,
317
336
  GENDER_OPTIONS,
@@ -338,7 +357,7 @@ export {
338
357
  NOTIFICATION_TYPES,
339
358
  NavBar,
340
359
  NavBarItem,
341
- default2 as NotificationCard,
360
+ default3 as NotificationCard,
342
361
  NotificationPageContent,
343
362
  NotificationsPopover,
344
363
  Pagination,
@@ -348,7 +367,8 @@ export {
348
367
  PaginationLink,
349
368
  PaginationNext,
350
369
  PaginationPrevious,
351
- default10 as PhoneInput,
370
+ PaymentInfoCard,
371
+ default11 as PhoneInput,
352
372
  PlanItemSchema,
353
373
  PlanSchema,
354
374
  Popover,
@@ -386,10 +406,11 @@ export {
386
406
  SheetTitle,
387
407
  SheetTrigger,
388
408
  SideBarNavigation,
409
+ Skeleton,
389
410
  SubscriptionItemSchema,
390
411
  SubscriptionSchema,
391
412
  Switch,
392
- default11 as SwitchOptionFieldWithIcon,
413
+ default12 as SwitchOptionFieldWithIcon,
393
414
  TIME_FORMAT_OPTIONS,
394
415
  Table,
395
416
  TableBody,
@@ -410,12 +431,13 @@ export {
410
431
  TooltipContent,
411
432
  TooltipProvider,
412
433
  TooltipTrigger,
413
- default13 as TwoFactorAuthModal,
434
+ default14 as TwoFactorAuthModal,
414
435
  USER_QUERY_KEY,
415
436
  UserAvatar,
416
437
  UsersSelectorPopover,
417
438
  badgeVariants,
418
439
  buildLocaleOptions,
440
+ buildPlanExtras,
419
441
  buildQueryParams,
420
442
  buttonVariants,
421
443
  cn,
@@ -428,10 +450,12 @@ export {
428
450
  formatFullName,
429
451
  formatPhone,
430
452
  formatTimer,
453
+ getPriceFromCalculatedData,
431
454
  hideCrisp,
432
455
  openCrispHelpdesk,
433
456
  parseResult,
434
457
  parseSchema,
458
+ periodicityToBillingPeriod,
435
459
  readFromClipboard,
436
460
  showCrisp,
437
461
  stopChain,
@@ -439,8 +463,11 @@ export {
439
463
  toastVariants,
440
464
  useAccountModals,
441
465
  useActiveSubscription,
442
- default3 as useCopyToClipboard,
443
- default8 as useCountdownTimer,
466
+ useBuyCreditsModal,
467
+ useCalculateSubscription,
468
+ useCards,
469
+ default4 as useCopyToClipboard,
470
+ default9 as useCountdownTimer,
444
471
  useCurrentAccount,
445
472
  useDebounce,
446
473
  useDebounceState,
@@ -450,13 +477,13 @@ export {
450
477
  useHasPlanAddon,
451
478
  useIaCredits,
452
479
  useInvalidateUser,
453
- default9 as useIsMobile,
480
+ default10 as useIsMobile,
454
481
  useListAvailableUsers,
455
482
  useListProjectUsers,
456
483
  useMdSidebarStore,
457
484
  useMobileNavbarSheet,
458
485
  useModalManager,
459
- default7 as usePasswordVisibility,
486
+ default8 as usePasswordVisibility,
460
487
  usePlanById,
461
488
  useSetUserData,
462
489
  useSubscriptions,
@@ -464,6 +491,7 @@ export {
464
491
  useUpdateAccount,
465
492
  useUpdateAccountUser,
466
493
  useUpdateAccountUserById,
494
+ useUpdateSubscriptionPlan,
467
495
  useUserQuery,
468
496
  useUserValidateSession,
469
497
  withAction
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Types\nexport * from \"./modules/auth/schema\";\nexport * from \"./modules/users/schema\";\nexport * from \"./modules/whitelabel/schema\";\nexport * from \"./modules/whitelabel/styles-schema\";\nexport * from \"./infra/api/types\";\n\n// Contexts\nexport * from \"./providers/query.provider\";\nexport * from \"./providers/auth.provider\";\nexport * from \"./providers/whitelabel.provider\";\n\n// Hooks\nexport {\n useListProjectUsers,\n LIST_PROJECT_USERS_QUERY_KEY,\n LIST_PROJECT_USERS_BASE_KEY,\n} from \"./modules/projects/hooks/list-project-users.hook\";\nexport {\n useListAvailableUsers,\n LIST_AVAILABLE_USERS_QUERY_KEY,\n LIST_AVAILABLE_USERS_BASE_KEY,\n} from \"./modules/projects/hooks/list-available-users.hook\";\nexport type {\n ProjectUser,\n AccountUser,\n AddRemoveProjectUsersParams,\n ListUsersParams,\n UsersPage,\n} from \"./modules/projects/types\";\nexport {\n useUserQuery,\n useUserValidateSession,\n useInvalidateUser,\n useSetUserData,\n useTwoFactorVerify,\n USER_QUERY_KEY,\n} from \"./modules/auth/hooks/useUserQuery\";\nexport {\n useSubscriptions,\n SUBSCRIPTIONS_QUERY_KEY,\n} from \"./modules/subscriptions/hooks/list-subscriptions.hook\";\nexport { useActiveSubscription } from \"./modules/subscriptions/hooks/find-active-subscription.hook\";\nexport { usePlanById } from \"./modules/subscriptions/hooks/use-plan-by-id.hook\";\nexport { useHasPlanAddon } from \"./modules/subscriptions/hooks/use-has-plan-addon.hook\";\nexport { useIaCredits } from \"./modules/ia-credits/hooks/ia-credits.hook\";\nexport type {\n IaCreditsSummary,\n IaCreditOperation,\n} from \"./modules/ia-credits/types\";\nexport type {\n Subscription,\n SubscriptionItem,\n FindSubscriptionsParams,\n} from \"./modules/subscriptions/types\";\nexport {\n SubscriptionSchema,\n SubscriptionItemSchema,\n} from \"./modules/subscriptions/types\";\nexport { ADDON_IDS } from \"./modules/subscriptions/constants/addons.constants\";\nexport type { AddonKindEnum } from \"./modules/subscriptions/constants/addons.constants\";\nexport type { Plan, PlanItem } from \"./modules/subscriptions/types/plan.type\";\nexport { PlanSchema, PlanItemSchema } from \"./modules/subscriptions/types/plan.type\";\n\n// Providers\nexport { QueryProvider } from \"./providers/query.provider\";\n\n// Middleware\nexport { createAuthMiddleware } from \"./middlewares/create-auth-middleware\";\nexport { createMiddlewareChain } from \"./middlewares/chain\";\nexport { continueChain, stopChain } from \"./middlewares/types\";\nexport type {\n MiddlewareFunction,\n MiddlewareConfig,\n MiddlewareResult,\n} from \"./middlewares/types\";\n\n// Utils\nexport { cn } from \"./infra/utils/clsx\";\nexport { buildQueryParams } from \"./infra/utils/params\";\nexport { parseSchema, parseResult } from \"./infra/utils/parser\";\nexport { withAction } from \"./utils/withAction\";\n\n// Layout\nexport {\n MainLayout,\n MainLayoutContent,\n MainLayoutSpacer,\n MainLayoutMain,\n} from \"./components/layouts/MainLayout\";\nexport { NavBar } from \"./components/layouts/NavBar\";\nexport type { NavBarProps } from \"./components/layouts/NavBar\";\nexport { AppNavBar } from \"./components/layouts/AppNavBar\";\nexport type { AppNavBarProps } from \"./components/layouts/AppNavBar\";\nexport { AppMobileNavBar } from \"./components/layouts/AppMobileNavBar\";\nexport type { AppMobileNavBarProps } from \"./components/layouts/AppMobileNavBar\";\nexport { SideBarNavigation } from \"./components/layouts/SideBarNavigation\";\nexport { MdSideBarNavigation } from \"./components/layouts/MdSideBarNavigation\";\nexport { default as NotificationCard } from \"./components/widgets/notifications/NotificationCard\";\nexport type { NotificationCardProps } from \"./components/widgets/notifications/NotificationCard\";\nexport { NotificationsPopover } from \"./components/layouts/NotificationsPopover\";\nexport type { NotificationsPopoverProps } from \"./components/layouts/NotificationsPopover\";\nexport { NotificationPageContent } from \"./components/pages/notifications/Notifications\";\nexport { UsersSelectorPopover } from \"./components/layouts/UsersSelectorPopover\";\nexport type { UsersSelectorPopoverProps } from \"./components/layouts/UsersSelectorPopover\";\nexport { ProfilePopover } from \"./components/layouts/ProfilePopover\";\nexport type {\n ProfilePopoverProps,\n ProfileMenuItem,\n} from \"./components/layouts/ProfilePopover\";\nexport { NavBarItem } from \"./components/layouts/NavBarItem\";\nexport type { NavBarItemProps } from \"./components/layouts/NavBarItem\";\n\n// Navigation\nexport { AppNavigation } from './components/navigation/AppNavigation';\nexport { CancelledSubscriptionBanner } from './components/navigation/CancelledSubscriptionBanner';\nexport type { NavItemConfig } from './components/navigation/subcomponents/NavItems';\nexport type { NavigationProject } from './components/navigation/types';\nexport { useMobileNavbarSheet } from './store/useMobileNavbarSheet';\n\n// Hooks\nexport { default as useCopyToClipboard } from \"./hooks/copy-to-clipboard.hook\";\n\n// UI - Buttons\nexport { Button, buttonVariants } from \"./components/ui/buttons/Button\";\nexport { CopyButton } from \"./components/ui/buttons/CopyButton\";\nexport { default as CancelButton } from \"./components/ui/buttons/CancelButton\";\n\n// UI - Data Display\nexport {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from \"./components/ui/data-display/Accordion\";\nexport { Badge, badgeVariants } from \"./components/ui/data-display/Badge\";\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n} from \"./components/ui/data-display/Card\";\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n} from \"./components/ui/data-display/Pagination\";\nexport { ScrollArea, ScrollBar } from \"./components/ui/data-display/ScrollArea\";\nexport { Separator } from \"./components/ui/data-display/Separator\";\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from \"./components/ui/data-display/Table\";\nexport {\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n} from \"./components/ui/data-display/Tabs\";\nexport { UserAvatar } from \"./components/ui/data-display/UserAvatar\";\nexport type { UserAvatarProps } from \"./components/ui/data-display/UserAvatar\";\n\n// UI - Feedback\nexport { default as CircularProgress } from \"./components/ui/feedback/CircularProgress\";\nexport { default as DefaultCircularProgress } from \"./components/ui/feedback/DefaultCircularProgress\";\nexport { Progress } from \"./components/ui/feedback/Progress\";\nexport { LoadingOverlay } from \"./components/ui/feedback/LoadingOverlay\";\nexport {\n Toast,\n toastVariants,\n toastIconContainerVariants,\n} from \"./components/ui/feedback/Toast\";\nexport type { ToastProps } from \"./components/ui/feedback/Toast\";\n\n// UI - Form\nexport { Calendar, CalendarDayButton } from \"./components/ui/form/Calendar\";\nexport { Checkbox } from \"./components/ui/form/Checkbox\";\nexport { DatePicker } from \"./components/ui/form/DatePicker\";\nexport { DateRangePicker } from \"./components/ui/form/DateRangePicker\";\nexport { Input } from \"./components/ui/form/Input\";\nexport {\n InputOTP,\n InputOTPGroup,\n InputOTPSlot,\n InputOTPSeparator,\n} from \"./components/ui/form/InputOtp\";\nexport { RadioGroup, RadioGroupItem } from \"./components/ui/form/RadioGroup\";\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n} from \"./components/ui/form/Select\";\nexport { Switch } from \"./components/ui/form/Switch\";\nexport { Textarea } from \"./components/ui/form/Textarea\";\n\n// UI - Overlay\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n} from \"./components/ui/overlay/Command\";\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from \"./components/ui/overlay/Dialog\";\nexport {\n Popover,\n PopoverTrigger,\n PopoverContent,\n PopoverAnchor,\n} from \"./components/ui/overlay/Popover\";\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n} from \"./components/ui/overlay/Sheet\";\nexport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n} from \"./components/ui/overlay/Tooltip\";\n\n// Embeds\nexport { FrillEmbed } from \"./components/embeds/FrillEmbed\";\nexport { CrispEmbed, openCrispHelpdesk, hideCrisp, showCrisp } from \"./components/embeds/CrispEmbed\";\n\n// Store\nexport { useMdSidebarStore } from \"./store/useMdSidebarStore\";\nexport { useModalManager } from \"./store/useModalManager\";\nexport type { ModalData } from \"./store/useModalManager\";\n\n// Enums\nexport { AccountSectionType } from \"./enums/AccountSectionType\";\n\n// Hooks\nexport { default as usePasswordVisibility } from \"./hooks/usePasswordVisibility\";\nexport { default as useCountdownTimer } from \"./hooks/useCountdownTimer\";\nexport { default as useIsMobile } from \"./hooks/useIsMobile\";\nexport { useDebounce } from \"./hooks/useDebounce\";\nexport { useDebouncedEffect } from \"./hooks/useDebouncedEffect\";\nexport { useDebounceState } from \"./hooks/useDebounceState\";\n\n// Utils\nexport {\n formatPhone,\n formatTimer,\n formatFullName,\n formatCPF,\n formatCardNumber,\n} from \"./utils/format/masks\";\nexport type { TimezoneOption } from \"./modules/accounts/services/timezone.service\";\nexport {\n buildLocaleOptions,\n LANGUAGE_OPTIONS as LOCALE_LANGUAGE_OPTIONS,\n} from \"./utils/intl/locales\";\nexport type { LocaleOption } from \"./utils/intl/locales\";\nexport { copyToClipboard, readFromClipboard } from \"./utils/browser/clipboard\";\n\n// UI - Form (new widgets)\nexport { FormField } from \"./components/ui/form/FormField\";\nexport { SelectField } from \"./components/ui/form/SelectField\";\nexport { ComboboxField } from \"./components/ui/form/ComboboxField\";\nexport type { ComboboxOption } from \"./components/ui/form/ComboboxField\";\nexport { default as PhoneInput } from \"./components/ui/form/PhoneInput\";\nexport { default as SwitchOptionFieldWithIcon } from \"./components/ui/form/SwitchOptionFieldWithIcon\";\nexport { TextAreaField } from \"./components/ui/form/TextAreaField\";\n\n// Account Module - Hooks\nexport {\n useCurrentAccount,\n ACCOUNT_QUERY_KEY,\n} from \"./modules/accounts/hooks/current-account.hook\";\nexport {\n useUpdateAccount,\n useUpdateAccountUser,\n useUpdateAccountUserById,\n useDeleteAccountUser,\n useDeleteAccount,\n} from \"./modules/accounts/hooks/useAccountManagement\";\n\n// Account Types\nexport type {\n UpdateAccountRequest,\n UpdateAccountUserRequest,\n ChangePasswordRequest,\n DeleteAccountActionResult,\n DeleteUserActionResult,\n UpdateAccountActionResult,\n UpdateUserActionResult,\n TwoFactorGenerateResult,\n TwoFactorActionResult,\n ContactResetResult,\n} from \"./modules/accounts/types\";\n\nexport { default as AccountModals } from \"./components/account/AccountModals\";\nexport { useAccountModals } from \"./store/useAccountModals\";\nexport type { AccountModalsConfig } from \"./store/useAccountModals\";\n\nexport { ModalManager } from \"./components/modals/ModalManager\";\nexport { Modals } from \"./components/modals/Modals\";\n\nexport { default as TwoFactorAuthModal } from \"./components/account/TwoFactorAuthModal\";\nexport { default as DisableTwoFactorAuthModal } from \"./components/account/DisableTwoFactorAuthModal\";\nexport { default as ConfirmGlobalPreferencesModal } from \"./components/account/ConfirmGlobalPreferencesModal\";\nexport { MyProfileSection } from \"./components/account/sections/MyProfileSection\";\nexport { PreferencesSection } from \"./components/account/sections/PreferencesSection\";\nexport { SecuritySection } from \"./components/account/sections/SecuritySection\";\nexport { ChangePasswordSection } from \"./components/account/sections/ChangePasswordSection\";\nexport { ChangeEmailModal } from \"./components/account/sections/ChangeEmailModal\";\nexport { ChangePhoneModal } from \"./components/account/sections/ChangePhoneModal\";\n\n// Account Constants\nexport {\n GENDER_OPTIONS,\n CURRENCY_OPTIONS,\n TIME_FORMAT_OPTIONS,\n NOTIFICATION_TYPES,\n LANGUAGE_OPTIONS,\n} from \"./components/account/constants\";\n"],"mappings":"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","names":["default","LANGUAGE_OPTIONS"]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Types\nexport * from \"./modules/auth/schema\";\nexport * from \"./modules/users/schema\";\nexport * from \"./modules/whitelabel/schema\";\nexport * from \"./modules/whitelabel/styles-schema\";\nexport * from \"./infra/api/types\";\n\n// Contexts\nexport * from \"./providers/query.provider\";\nexport * from \"./providers/auth.provider\";\nexport * from \"./providers/whitelabel.provider\";\n\n// Hooks\nexport {\n useListProjectUsers,\n LIST_PROJECT_USERS_QUERY_KEY,\n LIST_PROJECT_USERS_BASE_KEY,\n} from \"./modules/projects/hooks/list-project-users.hook\";\nexport {\n useListAvailableUsers,\n LIST_AVAILABLE_USERS_QUERY_KEY,\n LIST_AVAILABLE_USERS_BASE_KEY,\n} from \"./modules/projects/hooks/list-available-users.hook\";\nexport type {\n ProjectUser,\n AccountUser,\n AddRemoveProjectUsersParams,\n ListUsersParams,\n UsersPage,\n} from \"./modules/projects/types\";\nexport {\n useUserQuery,\n useUserValidateSession,\n useInvalidateUser,\n useSetUserData,\n useTwoFactorVerify,\n USER_QUERY_KEY,\n} from \"./modules/auth/hooks/useUserQuery\";\nexport {\n useSubscriptions,\n SUBSCRIPTIONS_QUERY_KEY,\n} from \"./modules/subscriptions/hooks/list-subscriptions.hook\";\nexport { useActiveSubscription } from \"./modules/subscriptions/hooks/find-active-subscription.hook\";\nexport { usePlanById } from \"./modules/subscriptions/hooks/use-plan-by-id.hook\";\nexport { useHasPlanAddon } from \"./modules/subscriptions/hooks/use-has-plan-addon.hook\";\nexport { useCalculateSubscription } from \"./modules/subscriptions/hooks/calculate-subscription.hook\";\nexport { useUpdateSubscriptionPlan } from \"./modules/subscriptions/hooks/update-subscription-plan.hook\";\nexport { useCards, CARDS_QUERY_KEY } from \"./modules/cards/hooks/cards.hook\";\nexport { useIaCredits } from \"./modules/ia-credits/hooks/ia-credits.hook\";\nexport type {\n IaCreditsSummary,\n IaCreditOperation,\n} from \"./modules/ia-credits/types\";\nexport type {\n Subscription,\n SubscriptionItem,\n FindSubscriptionsParams,\n} from \"./modules/subscriptions/types\";\nexport {\n SubscriptionSchema,\n SubscriptionItemSchema,\n} from \"./modules/subscriptions/types\";\nexport { ADDON_IDS, AI_CREDIT_OPTIONS, AI_CREDIT_VALUES } from \"./modules/subscriptions/constants/addons.constants\";\nexport type { AddonKindEnum, AiCreditOption } from \"./modules/subscriptions/constants/addons.constants\";\nexport type { Plan, PlanItem } from \"./modules/subscriptions/types/plan.type\";\nexport { PlanSchema, PlanItemSchema } from \"./modules/subscriptions/types/plan.type\";\nexport type { BillingPeriod } from \"./modules/subscriptions/types/billing-period.type\";\nexport type {\n CalculateSubscriptionRequest,\n CalculateSubscriptionResponse,\n UpdateSubscriptionPlanRequest,\n} from \"./modules/subscriptions/types/calculate-subscription.type\";\nexport type { Card } from \"./modules/cards/types\";\nexport { CardSchema } from \"./modules/cards/types\";\nexport { buildPlanExtras } from \"./modules/subscriptions/utils/build-plan-extras\";\nexport { getPriceFromCalculatedData, periodicityToBillingPeriod } from \"./modules/subscriptions/utils/periodicity\";\nexport { useBuyCreditsModal } from \"./store/useBuyCreditsModal\";\nexport { default as BuyCreditsModal } from \"./components/modals/BuyCreditsModal\";\nexport { Skeleton } from \"./components/ui/feedback/Skeleton\";\nexport { PaymentInfoCard } from \"./components/ui/data-display/PaymentInfoCard\";\nexport { CardBrandIcon } from \"./components/ui/data-display/CardBrandIcons\";\nexport { CardItem } from \"./components/ui/data-display/CardItem\";\n\n// Providers\nexport { QueryProvider } from \"./providers/query.provider\";\n\n// Middleware\nexport { createAuthMiddleware } from \"./middlewares/create-auth-middleware\";\nexport { createMiddlewareChain } from \"./middlewares/chain\";\nexport { continueChain, stopChain } from \"./middlewares/types\";\nexport type {\n MiddlewareFunction,\n MiddlewareConfig,\n MiddlewareResult,\n} from \"./middlewares/types\";\n\n// Utils\nexport { cn } from \"./infra/utils/clsx\";\nexport { buildQueryParams } from \"./infra/utils/params\";\nexport { parseSchema, parseResult } from \"./infra/utils/parser\";\nexport { withAction } from \"./utils/withAction\";\n\n// Layout\nexport {\n MainLayout,\n MainLayoutContent,\n MainLayoutSpacer,\n MainLayoutMain,\n} from \"./components/layouts/MainLayout\";\nexport { NavBar } from \"./components/layouts/NavBar\";\nexport type { NavBarProps } from \"./components/layouts/NavBar\";\nexport { AppNavBar } from \"./components/layouts/AppNavBar\";\nexport type { AppNavBarProps } from \"./components/layouts/AppNavBar\";\nexport { AppMobileNavBar } from \"./components/layouts/AppMobileNavBar\";\nexport type { AppMobileNavBarProps } from \"./components/layouts/AppMobileNavBar\";\nexport { SideBarNavigation } from \"./components/layouts/SideBarNavigation\";\nexport { MdSideBarNavigation } from \"./components/layouts/MdSideBarNavigation\";\nexport { default as NotificationCard } from \"./components/widgets/notifications/NotificationCard\";\nexport type { NotificationCardProps } from \"./components/widgets/notifications/NotificationCard\";\nexport { NotificationsPopover } from \"./components/layouts/NotificationsPopover\";\nexport type { NotificationsPopoverProps } from \"./components/layouts/NotificationsPopover\";\nexport { NotificationPageContent } from \"./components/pages/notifications/Notifications\";\nexport { UsersSelectorPopover } from \"./components/layouts/UsersSelectorPopover\";\nexport type { UsersSelectorPopoverProps } from \"./components/layouts/UsersSelectorPopover\";\nexport { ProfilePopover } from \"./components/layouts/ProfilePopover\";\nexport type {\n ProfilePopoverProps,\n ProfileMenuItem,\n} from \"./components/layouts/ProfilePopover\";\nexport { NavBarItem } from \"./components/layouts/NavBarItem\";\nexport type { NavBarItemProps } from \"./components/layouts/NavBarItem\";\n\n// Navigation\nexport { AppNavigation } from './components/navigation/AppNavigation';\nexport { CancelledSubscriptionBanner } from './components/navigation/CancelledSubscriptionBanner';\nexport type { NavItemConfig } from './components/navigation/subcomponents/NavItems';\nexport type { NavigationProject } from './components/navigation/types';\nexport { useMobileNavbarSheet } from './store/useMobileNavbarSheet';\n\n// Hooks\nexport { default as useCopyToClipboard } from \"./hooks/copy-to-clipboard.hook\";\n\n// UI - Buttons\nexport { Button, buttonVariants } from \"./components/ui/buttons/Button\";\nexport { CopyButton } from \"./components/ui/buttons/CopyButton\";\nexport { default as CancelButton } from \"./components/ui/buttons/CancelButton\";\n\n// UI - Data Display\nexport {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from \"./components/ui/data-display/Accordion\";\nexport { Badge, badgeVariants } from \"./components/ui/data-display/Badge\";\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n} from \"./components/ui/data-display/Card\";\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n} from \"./components/ui/data-display/Pagination\";\nexport { ScrollArea, ScrollBar } from \"./components/ui/data-display/ScrollArea\";\nexport { Separator } from \"./components/ui/data-display/Separator\";\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n} from \"./components/ui/data-display/Table\";\nexport {\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n} from \"./components/ui/data-display/Tabs\";\nexport { UserAvatar } from \"./components/ui/data-display/UserAvatar\";\nexport type { UserAvatarProps } from \"./components/ui/data-display/UserAvatar\";\n\n// UI - Feedback\nexport { default as CircularProgress } from \"./components/ui/feedback/CircularProgress\";\nexport { default as DefaultCircularProgress } from \"./components/ui/feedback/DefaultCircularProgress\";\nexport { Progress } from \"./components/ui/feedback/Progress\";\nexport { LoadingOverlay } from \"./components/ui/feedback/LoadingOverlay\";\nexport {\n Toast,\n toastVariants,\n toastIconContainerVariants,\n} from \"./components/ui/feedback/Toast\";\nexport type { ToastProps } from \"./components/ui/feedback/Toast\";\n\n// UI - Form\nexport { Calendar, CalendarDayButton } from \"./components/ui/form/Calendar\";\nexport { Checkbox } from \"./components/ui/form/Checkbox\";\nexport { DatePicker } from \"./components/ui/form/DatePicker\";\nexport { DateRangePicker } from \"./components/ui/form/DateRangePicker\";\nexport { Input } from \"./components/ui/form/Input\";\nexport {\n InputOTP,\n InputOTPGroup,\n InputOTPSlot,\n InputOTPSeparator,\n} from \"./components/ui/form/InputOtp\";\nexport { RadioGroup, RadioGroupItem } from \"./components/ui/form/RadioGroup\";\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n} from \"./components/ui/form/Select\";\nexport { Switch } from \"./components/ui/form/Switch\";\nexport { Textarea } from \"./components/ui/form/Textarea\";\n\n// UI - Overlay\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n} from \"./components/ui/overlay/Command\";\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from \"./components/ui/overlay/Dialog\";\nexport {\n Popover,\n PopoverTrigger,\n PopoverContent,\n PopoverAnchor,\n} from \"./components/ui/overlay/Popover\";\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n} from \"./components/ui/overlay/Sheet\";\nexport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n} from \"./components/ui/overlay/Tooltip\";\n\n// Embeds\nexport { FrillEmbed } from \"./components/embeds/FrillEmbed\";\nexport { CrispEmbed, openCrispHelpdesk, hideCrisp, showCrisp } from \"./components/embeds/CrispEmbed\";\n\n// Store\nexport { useMdSidebarStore } from \"./store/useMdSidebarStore\";\nexport { useModalManager } from \"./store/useModalManager\";\nexport type { ModalData } from \"./store/useModalManager\";\n\n// Enums\nexport { AccountSectionType } from \"./enums/AccountSectionType\";\n\n// Hooks\nexport { default as usePasswordVisibility } from \"./hooks/usePasswordVisibility\";\nexport { default as useCountdownTimer } from \"./hooks/useCountdownTimer\";\nexport { default as useIsMobile } from \"./hooks/useIsMobile\";\nexport { useDebounce } from \"./hooks/useDebounce\";\nexport { useDebouncedEffect } from \"./hooks/useDebouncedEffect\";\nexport { useDebounceState } from \"./hooks/useDebounceState\";\n\n// Utils\nexport {\n formatPhone,\n formatTimer,\n formatFullName,\n formatCPF,\n formatCardNumber,\n} from \"./utils/format/masks\";\nexport type { TimezoneOption } from \"./modules/accounts/services/timezone.service\";\nexport {\n buildLocaleOptions,\n LANGUAGE_OPTIONS as LOCALE_LANGUAGE_OPTIONS,\n} from \"./utils/intl/locales\";\nexport type { LocaleOption } from \"./utils/intl/locales\";\nexport { copyToClipboard, readFromClipboard } from \"./utils/browser/clipboard\";\n\n// UI - Form (new widgets)\nexport { FormField } from \"./components/ui/form/FormField\";\nexport { SelectField } from \"./components/ui/form/SelectField\";\nexport { ComboboxField } from \"./components/ui/form/ComboboxField\";\nexport type { ComboboxOption } from \"./components/ui/form/ComboboxField\";\nexport { default as PhoneInput } from \"./components/ui/form/PhoneInput\";\nexport { default as SwitchOptionFieldWithIcon } from \"./components/ui/form/SwitchOptionFieldWithIcon\";\nexport { TextAreaField } from \"./components/ui/form/TextAreaField\";\n\n// Account Module - Hooks\nexport {\n useCurrentAccount,\n ACCOUNT_QUERY_KEY,\n} from \"./modules/accounts/hooks/current-account.hook\";\nexport {\n useUpdateAccount,\n useUpdateAccountUser,\n useUpdateAccountUserById,\n useDeleteAccountUser,\n useDeleteAccount,\n} from \"./modules/accounts/hooks/useAccountManagement\";\n\n// Account Types\nexport type {\n UpdateAccountRequest,\n UpdateAccountUserRequest,\n ChangePasswordRequest,\n DeleteAccountActionResult,\n DeleteUserActionResult,\n UpdateAccountActionResult,\n UpdateUserActionResult,\n TwoFactorGenerateResult,\n TwoFactorActionResult,\n ContactResetResult,\n} from \"./modules/accounts/types\";\n\nexport { default as AccountModals } from \"./components/account/AccountModals\";\nexport { useAccountModals } from \"./store/useAccountModals\";\nexport type { AccountModalsConfig } from \"./store/useAccountModals\";\n\nexport { ModalManager } from \"./components/modals/ModalManager\";\nexport { Modals } from \"./components/modals/Modals\";\n\nexport { default as TwoFactorAuthModal } from \"./components/account/TwoFactorAuthModal\";\nexport { default as DisableTwoFactorAuthModal } from \"./components/account/DisableTwoFactorAuthModal\";\nexport { default as ConfirmGlobalPreferencesModal } from \"./components/account/ConfirmGlobalPreferencesModal\";\nexport { MyProfileSection } from \"./components/account/sections/MyProfileSection\";\nexport { PreferencesSection } from \"./components/account/sections/PreferencesSection\";\nexport { SecuritySection } from \"./components/account/sections/SecuritySection\";\nexport { ChangePasswordSection } from \"./components/account/sections/ChangePasswordSection\";\nexport { ChangeEmailModal } from \"./components/account/sections/ChangeEmailModal\";\nexport { ChangePhoneModal } from \"./components/account/sections/ChangePhoneModal\";\n\n// Account Constants\nexport {\n GENDER_OPTIONS,\n CURRENCY_OPTIONS,\n TIME_FORMAT_OPTIONS,\n NOTIFICATION_TYPES,\n LANGUAGE_OPTIONS,\n} from \"./components/account/constants\";\n"],"mappings":"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","names":["default","LANGUAGE_OPTIONS"]}