@fluencypassdevs/cycle 1.16.1 → 1.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.mjs +0 -0
- package/cli/CLAUDE-section.md +21 -2
- package/dist/{chunk-CBBCTX3A.js → chunk-2KFWBA76.js} +4 -4
- package/dist/{chunk-CBBCTX3A.js.map → chunk-2KFWBA76.js.map} +1 -1
- package/dist/{chunk-MJKZELI3.js → chunk-2M73I67G.js} +6 -6
- package/dist/{chunk-MJKZELI3.js.map → chunk-2M73I67G.js.map} +1 -1
- package/dist/{chunk-OHRYR7PN.js → chunk-2MBHI4VU.js} +3 -3
- package/dist/chunk-2MBHI4VU.js.map +1 -0
- package/dist/{chunk-WMOGNJWP.js → chunk-2SGRMGCM.js} +3 -3
- package/dist/chunk-2SGRMGCM.js.map +1 -0
- package/dist/{chunk-T7EIAVSF.js → chunk-2XFXNZNW.js} +3 -3
- package/dist/chunk-2XFXNZNW.js.map +1 -0
- package/dist/{chunk-JUVL7GN2.js → chunk-325K2R3T.js} +3 -3
- package/dist/{chunk-JUVL7GN2.js.map → chunk-325K2R3T.js.map} +1 -1
- package/dist/{chunk-LC55JPI4.js → chunk-32NHCUEZ.js} +3 -3
- package/dist/chunk-32NHCUEZ.js.map +1 -0
- package/dist/{chunk-J3DGYZGK.js → chunk-3VRHZPW6.js} +3 -3
- package/dist/chunk-3VRHZPW6.js.map +1 -0
- package/dist/{chunk-KRENXLKC.js → chunk-4HNTMD2U.js} +6 -6
- package/dist/{chunk-KRENXLKC.js.map → chunk-4HNTMD2U.js.map} +1 -1
- package/dist/{chunk-U27GHP5Z.js → chunk-4MDQXCMY.js} +3 -3
- package/dist/chunk-4MDQXCMY.js.map +1 -0
- package/dist/{chunk-KCEFPJZT.js → chunk-5TA6AMTY.js} +3 -3
- package/dist/chunk-5TA6AMTY.js.map +1 -0
- package/dist/{chunk-SCZXIVL5.js → chunk-6AZLLBX6.js} +3 -3
- package/dist/chunk-6AZLLBX6.js.map +1 -0
- package/dist/{chunk-ZJRXBOM2.js → chunk-6GP26S4R.js} +3 -3
- package/dist/{chunk-ZJRXBOM2.js.map → chunk-6GP26S4R.js.map} +1 -1
- package/dist/{chunk-WL6J5ZVH.js → chunk-6H7AHQ5J.js} +3 -3
- package/dist/{chunk-WL6J5ZVH.js.map → chunk-6H7AHQ5J.js.map} +1 -1
- package/dist/{chunk-Y33BGBHR.js → chunk-6ZID2UNI.js} +3 -3
- package/dist/chunk-6ZID2UNI.js.map +1 -0
- package/dist/chunk-7FJ7LRSV.js +3 -0
- package/dist/chunk-7FJ7LRSV.js.map +1 -0
- package/dist/{chunk-HZOLDTOT.js → chunk-7HSANE2V.js} +3 -3
- package/dist/chunk-7HSANE2V.js.map +1 -0
- package/dist/{chunk-KSALAAWD.js → chunk-7QFXFNTZ.js} +3 -3
- package/dist/chunk-7QFXFNTZ.js.map +1 -0
- package/dist/{chunk-EZVWNHDF.js → chunk-7ZSICZXA.js} +4 -4
- package/dist/{chunk-EZVWNHDF.js.map → chunk-7ZSICZXA.js.map} +1 -1
- package/dist/{chunk-M3U2TKWS.js → chunk-A3L7MI2Y.js} +7 -7
- package/dist/{chunk-M3U2TKWS.js.map → chunk-A3L7MI2Y.js.map} +1 -1
- package/dist/{chunk-HCSVANPX.js → chunk-AHHT4FZS.js} +4 -4
- package/dist/{chunk-HCSVANPX.js.map → chunk-AHHT4FZS.js.map} +1 -1
- package/dist/{chunk-DO4M3OVV.js → chunk-CRZ5YYB7.js} +5 -5
- package/dist/chunk-CRZ5YYB7.js.map +1 -0
- package/dist/{chunk-RXCQLSWL.js → chunk-E7MMJTJY.js} +3 -3
- package/dist/{chunk-RXCQLSWL.js.map → chunk-E7MMJTJY.js.map} +1 -1
- package/dist/{chunk-CMOTOQK7.js → chunk-FQZHCNV7.js} +3 -3
- package/dist/{chunk-CMOTOQK7.js.map → chunk-FQZHCNV7.js.map} +1 -1
- package/dist/{chunk-EMX27A3U.js → chunk-FVWCKX3O.js} +3 -3
- package/dist/{chunk-EMX27A3U.js.map → chunk-FVWCKX3O.js.map} +1 -1
- package/dist/{chunk-SDPIL7HA.js → chunk-GD4HLQDQ.js} +3 -3
- package/dist/chunk-GD4HLQDQ.js.map +1 -0
- package/dist/{chunk-AUCSNGST.js → chunk-GDPUWRNH.js} +3 -3
- package/dist/{chunk-AUCSNGST.js.map → chunk-GDPUWRNH.js.map} +1 -1
- package/dist/{chunk-HXFGULDU.js → chunk-HCVRYT4T.js} +3 -3
- package/dist/chunk-HCVRYT4T.js.map +1 -0
- package/dist/{chunk-H6VG367Y.js → chunk-ICNOGTXR.js} +3 -3
- package/dist/{chunk-H6VG367Y.js.map → chunk-ICNOGTXR.js.map} +1 -1
- package/dist/{chunk-GR65GV2N.js → chunk-IWRXFK4K.js} +3 -3
- package/dist/chunk-IWRXFK4K.js.map +1 -0
- package/dist/chunk-JB64LF6D.js +3 -0
- package/dist/chunk-JB64LF6D.js.map +1 -0
- package/dist/{chunk-M56K3ZKY.js → chunk-JK6OQLKZ.js} +3 -3
- package/dist/chunk-JK6OQLKZ.js.map +1 -0
- package/dist/{chunk-HIAYFCBX.js → chunk-JRQLKRNY.js} +3 -3
- package/dist/{chunk-HIAYFCBX.js.map → chunk-JRQLKRNY.js.map} +1 -1
- package/dist/{chunk-SIEPZ5LD.js → chunk-K2CCV6UB.js} +3 -3
- package/dist/chunk-K2CCV6UB.js.map +1 -0
- package/dist/{chunk-YW7VSQJE.js → chunk-KLX547KZ.js} +3 -3
- package/dist/chunk-KLX547KZ.js.map +1 -0
- package/dist/{chunk-HBFS7W6V.js → chunk-KNJTTOAD.js} +3 -3
- package/dist/{chunk-HBFS7W6V.js.map → chunk-KNJTTOAD.js.map} +1 -1
- package/dist/{chunk-LBMPZDD5.js → chunk-KPE5CRIS.js} +3 -3
- package/dist/chunk-KPE5CRIS.js.map +1 -0
- package/dist/{chunk-DJ3DMPKK.js → chunk-KVOKG5YR.js} +4 -4
- package/dist/chunk-KVOKG5YR.js.map +1 -0
- package/dist/{chunk-G57PPNB3.js → chunk-L6XU524P.js} +5 -5
- package/dist/chunk-L6XU524P.js.map +1 -0
- package/dist/{chunk-3TSOMZJO.js → chunk-LALM2LHM.js} +3 -3
- package/dist/chunk-LALM2LHM.js.map +1 -0
- package/dist/{chunk-46SWH3RS.js → chunk-LCBAI3A3.js} +3 -3
- package/dist/{chunk-46SWH3RS.js.map → chunk-LCBAI3A3.js.map} +1 -1
- package/dist/{chunk-E3E64CT4.js → chunk-LM5ZJFLA.js} +4 -4
- package/dist/{chunk-E3E64CT4.js.map → chunk-LM5ZJFLA.js.map} +1 -1
- package/dist/chunk-LYTC7UMN.js +3 -0
- package/dist/chunk-LYTC7UMN.js.map +1 -0
- package/dist/chunk-N2F3ZG2S.js +3 -0
- package/dist/chunk-N2F3ZG2S.js.map +1 -0
- package/dist/{chunk-K2XIXOMO.js → chunk-NEMGLKDF.js} +3 -3
- package/dist/chunk-NEMGLKDF.js.map +1 -0
- package/dist/{chunk-I4DM7SVV.js → chunk-OC5O5LV4.js} +3 -3
- package/dist/chunk-OC5O5LV4.js.map +1 -0
- package/dist/{chunk-ILYZQBBN.js → chunk-OM4W6UQG.js} +3 -3
- package/dist/{chunk-ILYZQBBN.js.map → chunk-OM4W6UQG.js.map} +1 -1
- package/dist/{chunk-YZNOE4TO.js → chunk-PJRWKWDP.js} +3 -3
- package/dist/chunk-PJRWKWDP.js.map +1 -0
- package/dist/{chunk-T5AHJXEY.js → chunk-PS3MV5G7.js} +4 -4
- package/dist/{chunk-T5AHJXEY.js.map → chunk-PS3MV5G7.js.map} +1 -1
- package/dist/{chunk-WCDYTWKA.js → chunk-QRJ4WJKZ.js} +4 -4
- package/dist/chunk-QRJ4WJKZ.js.map +1 -0
- package/dist/{chunk-XMZVSCCY.js → chunk-RPU3FY62.js} +6 -6
- package/dist/{chunk-XMZVSCCY.js.map → chunk-RPU3FY62.js.map} +1 -1
- package/dist/{chunk-TBLO2A4C.js → chunk-SDLHXYPS.js} +3 -3
- package/dist/chunk-SDLHXYPS.js.map +1 -0
- package/dist/{chunk-AIBZJWUG.js → chunk-SYD6ELLP.js} +7 -7
- package/dist/{chunk-AIBZJWUG.js.map → chunk-SYD6ELLP.js.map} +1 -1
- package/dist/{chunk-E6WZOLWX.js → chunk-T2TJG24M.js} +3 -3
- package/dist/chunk-T2TJG24M.js.map +1 -0
- package/dist/{chunk-NE5CT5LH.js → chunk-TDBDX5NV.js} +4 -4
- package/dist/chunk-TDBDX5NV.js.map +1 -0
- package/dist/{chunk-JGZGZIGR.js → chunk-TK67WF35.js} +3 -3
- package/dist/{chunk-JGZGZIGR.js.map → chunk-TK67WF35.js.map} +1 -1
- package/dist/{chunk-C2P3ZSEY.js → chunk-U6TIZ4VM.js} +3 -3
- package/dist/chunk-U6TIZ4VM.js.map +1 -0
- package/dist/{chunk-C5JGLWV6.js → chunk-UAIVLCPV.js} +3 -3
- package/dist/{chunk-C5JGLWV6.js.map → chunk-UAIVLCPV.js.map} +1 -1
- package/dist/{chunk-6RHG4VOA.js → chunk-ULGVGD73.js} +3 -3
- package/dist/chunk-ULGVGD73.js.map +1 -0
- package/dist/{chunk-7AACZB3Q.js → chunk-ULVUD6RZ.js} +3 -3
- package/dist/{chunk-7AACZB3Q.js.map → chunk-ULVUD6RZ.js.map} +1 -1
- package/dist/{chunk-IGFCIAF3.js → chunk-US5LXJTO.js} +3 -3
- package/dist/chunk-US5LXJTO.js.map +1 -0
- package/dist/{chunk-WUK6APAX.js → chunk-VHHYWRLE.js} +5 -5
- package/dist/chunk-VHHYWRLE.js.map +1 -0
- package/dist/{chunk-C6YZNBOO.js → chunk-VHNPIT56.js} +4 -4
- package/dist/{chunk-C6YZNBOO.js.map → chunk-VHNPIT56.js.map} +1 -1
- package/dist/{chunk-QTH4LSO6.js → chunk-W4KJCBMW.js} +3 -3
- package/dist/chunk-W4KJCBMW.js.map +1 -0
- package/dist/{chunk-FTR4NEFA.js → chunk-WAIOC22O.js} +3 -3
- package/dist/chunk-WAIOC22O.js.map +1 -0
- package/dist/{chunk-U2SCIVKI.js → chunk-WLDNN4UF.js} +3 -3
- package/dist/chunk-WLDNN4UF.js.map +1 -0
- package/dist/{chunk-5Z3ZM7PS.js → chunk-WNG6RPIA.js} +3 -3
- package/dist/{chunk-5Z3ZM7PS.js.map → chunk-WNG6RPIA.js.map} +1 -1
- package/dist/{chunk-SXCNJQ7S.js → chunk-WXD7XZWE.js} +4 -4
- package/dist/{chunk-SXCNJQ7S.js.map → chunk-WXD7XZWE.js.map} +1 -1
- package/dist/{chunk-JDPJQSZV.js → chunk-WZTN5NHK.js} +4 -4
- package/dist/chunk-WZTN5NHK.js.map +1 -0
- package/dist/{chunk-JQRGW2RF.js → chunk-X2ZI3JOX.js} +4 -4
- package/dist/chunk-X2ZI3JOX.js.map +1 -0
- package/dist/{chunk-XXTQV27H.js → chunk-XKMHNJCL.js} +5 -5
- package/dist/chunk-XKMHNJCL.js.map +1 -0
- package/dist/{chunk-6ANVMIR5.js → chunk-XNSKKZB6.js} +3 -3
- package/dist/chunk-XNSKKZB6.js.map +1 -0
- package/dist/{chunk-QM54AVC7.js → chunk-Y5M7UK7R.js} +3 -3
- package/dist/chunk-Y5M7UK7R.js.map +1 -0
- package/dist/{chunk-3VAYZAEF.js → chunk-YHCDOHJL.js} +7 -7
- package/dist/{chunk-3VAYZAEF.js.map → chunk-YHCDOHJL.js.map} +1 -1
- package/dist/{chunk-JDGM46MB.js → chunk-YIOXPV2N.js} +3 -3
- package/dist/{chunk-JDGM46MB.js.map → chunk-YIOXPV2N.js.map} +1 -1
- package/dist/{chunk-XDJ2E6KQ.js → chunk-YQXVNJP5.js} +3 -3
- package/dist/chunk-YQXVNJP5.js.map +1 -0
- package/dist/composites/chat-thread.js +14 -12
- package/dist/hooks/use-intersection.js +1 -1
- package/dist/hooks/use-reduced-motion.js +1 -1
- package/dist/icons/index.d.ts +1 -1
- package/dist/icons/index.js +3 -2
- package/dist/index.js +57 -53
- package/dist/layout/container.js +3 -2
- package/dist/layout/grid.js +3 -2
- package/dist/layout/stack.js +3 -2
- package/dist/lib/utils.js +2 -1
- package/dist/logos/fluencypass.js +3 -2
- package/dist/logos/product.js +3 -3
- package/dist/marketing/buttons/cta-brand.js +4 -4
- package/dist/marketing/buttons/index.js +5 -5
- package/dist/marketing/buttons/link-brand.js +2 -2
- package/dist/marketing/effects/card-dark-glow.js +2 -2
- package/dist/marketing/effects/circle-glow.js +2 -2
- package/dist/marketing/effects/hand-underline.js +4 -4
- package/dist/marketing/effects/index.js +9 -9
- package/dist/marketing/effects/magnetic-button.js +3 -3
- package/dist/marketing/effects/marquee.js +2 -2
- package/dist/marketing/effects/rotating-word.js +3 -3
- package/dist/marketing/layout/index.d.ts +36 -2
- package/dist/marketing/layout/index.js +2 -2
- package/dist/marketing/layout/section.d.ts +2 -36
- package/dist/marketing/layout/section.js +2 -2
- package/dist/marketing/motion/animated-number.js +4 -4
- package/dist/marketing/motion/index.js +7 -7
- package/dist/marketing/motion/reveal-on-scroll.js +4 -4
- package/dist/marketing/motion/smooth-anchor.js +1 -1
- package/dist/marketing/motion/stagger-reveal.js +4 -4
- package/dist/marketing/typography/hero-heading.js +2 -2
- package/dist/marketing/typography/index.js +5 -5
- package/dist/marketing/typography/section-eyebrow.js +2 -2
- package/dist/marketing/typography/section-heading.js +2 -2
- package/dist/marketing/typography/section-subtitle.js +2 -2
- package/dist/styles/tokens.css +145 -0
- package/dist/ui/accordion.js +2 -2
- package/dist/ui/alert-dialog.js +4 -3
- package/dist/ui/alert.js +6 -4
- package/dist/ui/audio-player.js +6 -4
- package/dist/ui/avatar.js +2 -2
- package/dist/ui/badge.js +2 -2
- package/dist/ui/button.js +2 -2
- package/dist/ui/chat-bubble.js +4 -3
- package/dist/ui/chat-message.js +10 -8
- package/dist/ui/chat-panel.js +9 -7
- package/dist/ui/checkbox.js +2 -2
- package/dist/ui/circular-progress.js +3 -2
- package/dist/ui/dialog.js +4 -3
- package/dist/ui/drawer.js +3 -2
- package/dist/ui/dropdown-menu.js +3 -2
- package/dist/ui/editor.js +8 -6
- package/dist/ui/empty.js +2 -2
- package/dist/ui/fab.js +3 -2
- package/dist/ui/file-card.js +3 -2
- package/dist/ui/input.js +2 -2
- package/dist/ui/label.js +2 -2
- package/dist/ui/like-dislike.js +8 -6
- package/dist/ui/live-waiting.js +7 -5
- package/dist/ui/message-bar.js +3 -2
- package/dist/ui/message-rating.js +3 -2
- package/dist/ui/popover.js +3 -2
- package/dist/ui/progress-dot.js +3 -2
- package/dist/ui/progress-stage.js +3 -2
- package/dist/ui/progress.js +3 -2
- package/dist/ui/radio-group.js +2 -2
- package/dist/ui/resizable.js +3 -2
- package/dist/ui/scroll-area.js +2 -2
- package/dist/ui/select.js +2 -2
- package/dist/ui/sheet.js +2 -2
- package/dist/ui/skeleton.js +2 -2
- package/dist/ui/slider.js +3 -2
- package/dist/ui/sonner.js +6 -4
- package/dist/ui/spinner.js +4 -4
- package/dist/ui/switch.js +2 -2
- package/dist/ui/tabs.js +2 -2
- package/dist/ui/textarea.js +2 -2
- package/dist/ui/toggle.js +3 -2
- package/dist/ui/tooltip.js +2 -2
- package/dist/ui/video-player.js +6 -4
- package/package.json +6 -21
- package/README.md +0 -85
- package/dist/chunk-3TSOMZJO.js.map +0 -1
- package/dist/chunk-6ANVMIR5.js.map +0 -1
- package/dist/chunk-6RHG4VOA.js.map +0 -1
- package/dist/chunk-C2P3ZSEY.js.map +0 -1
- package/dist/chunk-DJ3DMPKK.js.map +0 -1
- package/dist/chunk-DO4M3OVV.js.map +0 -1
- package/dist/chunk-E6WZOLWX.js.map +0 -1
- package/dist/chunk-FTR4NEFA.js.map +0 -1
- package/dist/chunk-G57PPNB3.js.map +0 -1
- package/dist/chunk-GR65GV2N.js.map +0 -1
- package/dist/chunk-HXFGULDU.js.map +0 -1
- package/dist/chunk-HZOLDTOT.js.map +0 -1
- package/dist/chunk-I4DM7SVV.js.map +0 -1
- package/dist/chunk-IGFCIAF3.js.map +0 -1
- package/dist/chunk-J3DGYZGK.js.map +0 -1
- package/dist/chunk-JDPJQSZV.js.map +0 -1
- package/dist/chunk-JQRGW2RF.js.map +0 -1
- package/dist/chunk-K2XIXOMO.js.map +0 -1
- package/dist/chunk-KCEFPJZT.js.map +0 -1
- package/dist/chunk-KSALAAWD.js.map +0 -1
- package/dist/chunk-LBMPZDD5.js.map +0 -1
- package/dist/chunk-LC55JPI4.js.map +0 -1
- package/dist/chunk-M56K3ZKY.js.map +0 -1
- package/dist/chunk-NE5CT5LH.js.map +0 -1
- package/dist/chunk-OHRYR7PN.js.map +0 -1
- package/dist/chunk-QM54AVC7.js.map +0 -1
- package/dist/chunk-QTH4LSO6.js.map +0 -1
- package/dist/chunk-SCZXIVL5.js.map +0 -1
- package/dist/chunk-SDPIL7HA.js.map +0 -1
- package/dist/chunk-SIEPZ5LD.js.map +0 -1
- package/dist/chunk-T7EIAVSF.js.map +0 -1
- package/dist/chunk-TBLO2A4C.js.map +0 -1
- package/dist/chunk-U27GHP5Z.js.map +0 -1
- package/dist/chunk-U2SCIVKI.js.map +0 -1
- package/dist/chunk-WCDYTWKA.js.map +0 -1
- package/dist/chunk-WMOGNJWP.js.map +0 -1
- package/dist/chunk-WUK6APAX.js.map +0 -1
- package/dist/chunk-XDJ2E6KQ.js.map +0 -1
- package/dist/chunk-XXTQV27H.js.map +0 -1
- package/dist/chunk-Y33BGBHR.js.map +0 -1
- package/dist/chunk-YW7VSQJE.js.map +0 -1
- package/dist/chunk-YZNOE4TO.js.map +0 -1
package/bin/cli.mjs
CHANGED
|
File without changes
|
package/cli/CLAUDE-section.md
CHANGED
|
@@ -157,6 +157,23 @@ Todos importados de `@fluencypassdevs/cycle`:
|
|
|
157
157
|
| ProductLogo, ClassLogo, PrivateTalkLogo, GroupTalkLogo | Logos dos produtos |
|
|
158
158
|
| CycleIcon | Wrapper para icones Lucide |
|
|
159
159
|
|
|
160
|
+
## Precisa de um componente que o DS nao tem?
|
|
161
|
+
|
|
162
|
+
O DS **nao trava** o projeto. Se um componente REALMENTE nao existe (confirme antes com
|
|
163
|
+
`cycle_search_component` ou o catalogo), voce pode cria-lo — seguindo estas regras:
|
|
164
|
+
|
|
165
|
+
1. Crie em **`src/components/ds-proposals/`** (marcador de "candidato ao DS"), NAO em
|
|
166
|
+
`components/ui/`. O componente ja funciona e pode ser usado no projeto.
|
|
167
|
+
2. Componha com os atomos que ja existem (Button, Input...) e use SO tokens semanticos
|
|
168
|
+
(`bg-brand`, `text-muted-foreground`) — nunca cor/spacing hardcoded.
|
|
169
|
+
3. Se for reutilizavel por outros projetos, **proponha a entrada no DS**: abra uma issue
|
|
170
|
+
"Proposta de Componente" em https://github.com/Fluencypass/Cycle/issues/new/choose
|
|
171
|
+
(cole o codigo + um print/link do preview). Guia completo: `CONTRIBUTING.md` no repo do DS.
|
|
172
|
+
|
|
173
|
+
**Regra de superficie**: o DS certo depende de ONDE o componente renderiza — tela de produto
|
|
174
|
+
(app logado) = **Cycle**; landing/campanha de marketing = **Pulse**. Nunca misture os dois no
|
|
175
|
+
mesmo render; um componente que falta flui pra camada certa por triagem, sem cross-import.
|
|
176
|
+
|
|
160
177
|
## MCP Server (Claude Code)
|
|
161
178
|
|
|
162
179
|
Se o projeto tem `.mcp.json` configurado, o Claude Code tera acesso a tools do Cycle:
|
|
@@ -174,5 +191,7 @@ Para configurar: `npx cycle init`
|
|
|
174
191
|
|
|
175
192
|
## Documentacao
|
|
176
193
|
|
|
177
|
-
- **
|
|
178
|
-
- **
|
|
194
|
+
- **Portal**: https://design.fluencypass.com (escolha Cycle ou Pulse)
|
|
195
|
+
- **Componentes (Cycle)**: https://design.fluencypass.com/cycle/components
|
|
196
|
+
- **Tokens (Cycle)**: https://design.fluencypass.com/cycle/tokens
|
|
197
|
+
- **Contribuir (propor componente)**: https://design.fluencypass.com/cycle/contribuir
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Button } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Button } from './chunk-LALM2LHM.js';
|
|
2
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
3
3
|
import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
|
|
4
4
|
import { AlertDialog as AlertDialog$1 } from 'radix-ui';
|
|
5
5
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -176,5 +176,5 @@ function AlertDialogCancel(_a) {
|
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
|
|
179
|
-
//# sourceMappingURL=chunk-
|
|
180
|
-
//# sourceMappingURL=chunk-
|
|
179
|
+
//# sourceMappingURL=chunk-2KFWBA76.js.map
|
|
180
|
+
//# sourceMappingURL=chunk-2KFWBA76.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/alert-dialog.tsx"],"names":["AlertDialogPrimitive"],"mappings":";;;;;;AAQA,SAAS,YAAY,EAAA,EAEsC;AAFtC,EAAA,IAChB,kBADgB,EAAA,EAChB,EAAA,CAAA;AAEH,EAAA,2BAAQA,aAAA,CAAqB,IAAA,EAArB,cAAA,CAAA,EAA0B,WAAA,EAAU,kBAAmB,KAAA,CAAO,CAAA;AACxE;AAEA,SAAS,mBAAmB,EAAA,EAEkC;AAFlC,EAAA,IACvB,kBADuB,EAAA,EACvB,EAAA,CAAA;AAEH,EAAA,2BACGA,aAAA,CAAqB,OAAA,EAArB,cAAA,CAAA,EAA6B,WAAA,EAAU,0BAA2B,KAAA,CAAO,CAAA;AAE9E;AAEA,SAAS,kBAAkB,EAAA,EAEkC;AAFlC,EAAA,IACtB,kBADsB,EAAA,EACtB,EAAA,CAAA;AAEH,EAAA,2BACGA,aAAA,CAAqB,MAAA,EAArB,cAAA,CAAA,EAA4B,WAAA,EAAU,yBAA0B,KAAA,CAAO,CAAA;AAE5E;AAEA,SAAS,mBAAmB,EAAA,EAGkC;AAHlC,EAAA,IAAA,EAAA,GAAA,EAAA,EAC1B;AAAA,IAAA;AAAA,GA/BF,GA8B4B,EAAA,EAEvB,KAAA,GAAA,SAAA,CAFuB,EAAA,EAEvB;AAAA,IADH;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAACA,aAAA,CAAqB,OAAA;AAAA,IAArB,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,sBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,wJAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ;AAEA,SAAS,mBAAmB,EAAA,EAMzB;AANyB,EAAA,IAAA,EAAA,GAAA,EAAA,EAC1B;AAAA,IAAA,SAAA;AAAA,IACA,IAAA,GAAO;AAAA,GAhDT,GA8C4B,EAAA,EAGvB,KAAA,GAAA,SAAA,CAHuB,EAAA,EAGvB;AAAA,IAFH,WAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAKA,EAAA,4BACG,iBAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,CAAA;AAAA,oBACpB,GAAA;AAAA,MAACA,aAAA,CAAqB,OAAA;AAAA,MAArB,cAAA,CAAA;AAAA,QACC,WAAA,EAAU,sBAAA;AAAA,QACV,WAAA,EAAW,IAAA;AAAA,QACX,SAAA,EAAW,EAAA;AAAA,UACT,obAAA;AAAA,UACA;AAAA;AACF,OAAA,EACI,KAAA;AAAA;AACN,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,kBAAkB,EAAA,EAGK;AAHL,EAAA,IAAA,EAAA,GAAA,EAAA,EACzB;AAAA,IAAA;AAAA,GAtEF,GAqE2B,EAAA,EAEtB,KAAA,GAAA,SAAA,CAFsB,EAAA,EAEtB;AAAA,IADH;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,oZAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ;AAEA,SAAS,kBAAkB,EAAA,EAGK;AAHL,EAAA,IAAA,EAAA,GAAA,EAAA,EACzB;AAAA,IAAA;AAAA,GAtFF,GAqF2B,EAAA,EAEtB,KAAA,GAAA,SAAA,CAFsB,EAAA,EAEtB;AAAA,IADH;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,6JAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ;AAEA,SAAS,iBAAiB,EAAA,EAGkC;AAHlC,EAAA,IAAA,EAAA,GAAA,EAAA,EACxB;AAAA,IAAA;AAAA,GAtGF,GAqG0B,EAAA,EAErB,KAAA,GAAA,SAAA,CAFqB,EAAA,EAErB;AAAA,IADH;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAACA,aAAA,CAAqB,KAAA;AAAA,IAArB,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,oBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,mJAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ;AAEA,SAAS,uBAAuB,EAAA,EAGkC;AAHlC,EAAA,IAAA,EAAA,GAAA,EAAA,EAC9B;AAAA,IAAA;AAAA,GAtHF,GAqHgC,EAAA,EAE3B,KAAA,GAAA,SAAA,CAF2B,EAAA,EAE3B;AAAA,IADH;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAACA,aAAA,CAAqB,WAAA;AAAA,IAArB,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,0BAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,+BAAA,EAAiC,SAAS;AAAA,KAAA,EACpD,KAAA;AAAA,GACN;AAEJ;AAEA,SAAS,iBAAiB,EAAA,EAGM;AAHN,EAAA,IAAA,EAAA,GAAA,EAAA,EACxB;AAAA,IAAA;AAAA,GAnIF,GAkI0B,EAAA,EAErB,KAAA,GAAA,SAAA,CAFqB,EAAA,EAErB;AAAA,IADH;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,oBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,4KAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ;AAEA,SAAS,kBAAkB,EAAA,EAMsC;AANtC,EAAA,IAAA,EAAA,GAAA,EAAA,EACzB;AAAA,IAAA,SAAA;AAAA,IACA,OAAA,GAAU,SAAA;AAAA,IACV,IAAA,GAAO;AAAA,GArJT,GAkJ2B,EAAA,EAItB,KAAA,GAAA,SAAA,CAJsB,EAAA,EAItB;AAAA,IAHH,WAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAIA,EAAA,uBACE,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAkB,IAAA,EAAY,SAAO,IAAA,EAC3C,QAAA,kBAAA,GAAA;AAAA,IAACA,aAAA,CAAqB,MAAA;AAAA,IAArB,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,SAAA,EAAW,GAAG,SAAS;AAAA,KAAA,EACnB,KAAA;AAAA,GACN,EACF,CAAA;AAEJ;AAEA,SAAS,kBAAkB,EAAA,EAMsC;AANtC,EAAA,IAAA,EAAA,GAAA,EAAA,EACzB;AAAA,IAAA,SAAA;AAAA,IACA,OAAA,GAAU,SAAA;AAAA,IACV,IAAA,GAAO;AAAA,GAvKT,GAoK2B,EAAA,EAItB,KAAA,GAAA,SAAA,CAJsB,EAAA,EAItB;AAAA,IAHH,WAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAIA,EAAA,uBACE,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAkB,IAAA,EAAY,SAAO,IAAA,EAC3C,QAAA,kBAAA,GAAA;AAAA,IAACA,aAAA,CAAqB,MAAA;AAAA,IAArB,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,SAAA,EAAW,GAAG,SAAS;AAAA,KAAA,EACnB,KAAA;AAAA,GACN,EACF,CAAA;AAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/alert-dialog.tsx"],"names":["AlertDialogPrimitive"],"mappings":"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","file":"chunk-2KFWBA76.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { AlertDialog as AlertDialogPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\n\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Action\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n </Button>\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Cancel\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n {...props}\n />\n </Button>\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-
|
|
2
|
-
import { CycleIcon } from './chunk-
|
|
3
|
-
import { toggleVariants } from './chunk-
|
|
4
|
-
import { cn } from './chunk-
|
|
1
|
+
import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-6AZLLBX6.js';
|
|
2
|
+
import { CycleIcon } from './chunk-US5LXJTO.js';
|
|
3
|
+
import { toggleVariants } from './chunk-FVWCKX3O.js';
|
|
4
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
5
5
|
import { __spreadValues } from './chunk-2NMEKWO5.js';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { useEditor, EditorContent } from '@tiptap/react';
|
|
@@ -299,5 +299,5 @@ var Editor = React.forwardRef(
|
|
|
299
299
|
);
|
|
300
300
|
|
|
301
301
|
export { Editor };
|
|
302
|
-
//# sourceMappingURL=chunk-
|
|
303
|
-
//# sourceMappingURL=chunk-
|
|
302
|
+
//# sourceMappingURL=chunk-2M73I67G.js.map
|
|
303
|
+
//# sourceMappingURL=chunk-2M73I67G.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/editor.tsx"],"names":["UnderlineIcon","Editor","_a"],"mappings":"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","file":"chunk-MJKZELI3.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { useEditor, EditorContent, type Editor as TiptapEditor } from \"@tiptap/react\"\nimport StarterKit from \"@tiptap/starter-kit\"\nimport Underline from \"@tiptap/extension-underline\"\nimport Placeholder from \"@tiptap/extension-placeholder\"\nimport {\n Bold,\n Italic,\n Underline as UnderlineIcon,\n Strikethrough,\n Heading2,\n List,\n ListOrdered,\n Undo2,\n Redo2,\n type LucideIcon,\n} from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { toggleVariants } from \"@/components/ui/toggle\"\nimport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n} from \"@/components/ui/tooltip\"\nimport { CycleIcon } from \"@/components/icons\"\n\n// ── Types ────────────────────────────────────────────────────────────\n\nexport interface EditorRef {\n /** The Tiptap editor instance */\n editor: TiptapEditor | null\n /** Get current HTML content */\n getHTML: () => string\n /** Get current plain-text content */\n getText: () => string\n /** Clear the editor */\n clear: () => void\n /** Focus the editor */\n focus: () => void\n}\n\nexport interface EditorProps {\n /** HTML content (controlled) */\n content?: string\n /** Default HTML content (uncontrolled) */\n defaultContent?: string\n /** Called when content changes with the HTML string */\n onChange?: (html: string) => void\n /** Placeholder text shown when the editor is empty */\n placeholder?: string\n /** Whether the editor is editable */\n editable?: boolean\n /** Additional class for the outer wrapper */\n className?: string\n /** Auto-focus the editor on mount */\n autoFocus?: boolean\n /** Max height of the content area — scrolls when exceeded (e.g. \"300px\", \"50vh\") */\n maxHeight?: string\n /** Min height of the content area (default: \"120px\") */\n minHeight?: string\n /** Allow the user to resize the editor vertically */\n resizable?: boolean\n /** Theme class for the toolbar pressed state (e.g. \"theme-class\", \"theme-brand\") */\n toolbarTheme?: string\n}\n\n// ── Toolbar internals ────────────────────────────────────────────────\n\nfunction ToolbarDivider() {\n return <div className=\"mx-1 h-5 w-px bg-neutral-border\" aria-hidden=\"true\" />\n}\n\ninterface ToolbarToggleProps {\n pressed: boolean\n onToggle: () => void\n icon: LucideIcon\n label: string\n disabled?: boolean\n}\n\nfunction ToolbarToggle({ pressed, onToggle, icon, label, disabled }: ToolbarToggleProps) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n className={cn(\n toggleVariants({ variant: \"default\", size: \"icon-sm\" }),\n pressed && \"bg-accent text-accent-foreground\"\n )}\n onClick={onToggle}\n aria-pressed={pressed}\n aria-label={label}\n disabled={disabled}\n data-state={pressed ? \"on\" : \"off\"}\n >\n <CycleIcon icon={icon} size=\"xs\" decorative />\n </button>\n </TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n )\n}\n\ninterface ToolbarState {\n isBold: boolean\n isItalic: boolean\n isUnderline: boolean\n isStrike: boolean\n isH2: boolean\n isBulletList: boolean\n isOrderedList: boolean\n canUndo: boolean\n canRedo: boolean\n}\n\nfunction getToolbarState(editor: TiptapEditor): ToolbarState {\n return {\n isBold: editor.isActive(\"bold\"),\n isItalic: editor.isActive(\"italic\"),\n isUnderline: editor.isActive(\"underline\"),\n isStrike: editor.isActive(\"strike\"),\n isH2: editor.isActive(\"heading\", { level: 2 }),\n isBulletList: editor.isActive(\"bulletList\"),\n isOrderedList: editor.isActive(\"orderedList\"),\n canUndo: editor.can().undo(),\n canRedo: editor.can().redo(),\n }\n}\n\nfunction EditorToolbar({ editor, state, theme }: { editor: TiptapEditor; state: ToolbarState; theme?: string }) {\n const {\n isBold, isItalic, isUnderline, isStrike, isH2,\n isBulletList, isOrderedList, canUndo, canRedo,\n } = state\n\n return (\n <TooltipProvider>\n <div\n className={cn(\n \"flex items-center gap-0.5 overflow-x-auto border-b border-neutral-border px-2 py-1.5 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\",\n theme\n )}\n role=\"toolbar\"\n aria-label=\"Formatting options\"\n >\n {/* History */}\n <ToolbarToggle\n pressed={false}\n onToggle={() => editor.chain().focus().undo().run()}\n icon={Undo2}\n label=\"Undo\"\n disabled={!canUndo}\n />\n <ToolbarToggle\n pressed={false}\n onToggle={() => editor.chain().focus().redo().run()}\n icon={Redo2}\n label=\"Redo\"\n disabled={!canRedo}\n />\n\n <ToolbarDivider />\n\n {/* Text formatting */}\n <ToolbarToggle\n pressed={isBold}\n onToggle={() => editor.chain().focus().toggleBold().run()}\n icon={Bold}\n label=\"Bold\"\n />\n <ToolbarToggle\n pressed={isItalic}\n onToggle={() => editor.chain().focus().toggleItalic().run()}\n icon={Italic}\n label=\"Italic\"\n />\n <ToolbarToggle\n pressed={isUnderline}\n onToggle={() => editor.chain().focus().toggleUnderline().run()}\n icon={UnderlineIcon}\n label=\"Underline\"\n />\n <ToolbarToggle\n pressed={isStrike}\n onToggle={() => editor.chain().focus().toggleStrike().run()}\n icon={Strikethrough}\n label=\"Strikethrough\"\n />\n\n <ToolbarDivider />\n\n {/* Heading */}\n <ToolbarToggle\n pressed={isH2}\n onToggle={() => editor.chain().focus().toggleHeading({ level: 2 }).run()}\n icon={Heading2}\n label=\"Heading 2\"\n />\n\n <ToolbarDivider />\n\n {/* Lists */}\n <ToolbarToggle\n pressed={isBulletList}\n onToggle={() => editor.chain().focus().toggleBulletList().run()}\n icon={List}\n label=\"Bullet list\"\n />\n <ToolbarToggle\n pressed={isOrderedList}\n onToggle={() => editor.chain().focus().toggleOrderedList().run()}\n icon={ListOrdered}\n label=\"Ordered list\"\n />\n </div>\n </TooltipProvider>\n )\n}\n\n// ── Editor ───────────────────────────────────────────────────────────\n\nconst Editor = React.forwardRef<EditorRef, EditorProps>(\n function Editor(\n {\n content,\n defaultContent,\n onChange,\n placeholder = \"Type something...\",\n editable = true,\n className,\n autoFocus = false,\n maxHeight,\n minHeight = \"120px\",\n resizable = false,\n toolbarTheme,\n },\n ref\n ) {\n const [toolbarState, setToolbarState] = React.useState<ToolbarState>({\n isBold: false, isItalic: false, isUnderline: false, isStrike: false,\n isH2: false, isBulletList: false, isOrderedList: false,\n canUndo: false, canRedo: false,\n })\n\n const onChangeRef = React.useRef(onChange)\n onChangeRef.current = onChange\n\n const editor = useEditor({\n immediatelyRender: false,\n extensions: [\n StarterKit.configure({\n heading: { levels: [2] },\n }),\n Underline,\n Placeholder.configure({ placeholder }),\n ],\n content: defaultContent ?? content ?? \"\",\n editable,\n autofocus: autoFocus,\n onUpdate: ({ editor: e }) => {\n onChangeRef.current?.(e.getHTML())\n },\n })\n\n // Subscribe to editor events directly — avoids stale closure issues\n // with useEditor callbacks on React 19\n React.useEffect(() => {\n if (!editor) return\n const sync = () => setToolbarState(getToolbarState(editor))\n sync()\n editor.on(\"transaction\", sync)\n return () => { editor.off(\"transaction\", sync) }\n }, [editor])\n\n // Sync controlled content\n React.useEffect(() => {\n if (content !== undefined && editor && editor.getHTML() !== content) {\n editor.commands.setContent(content, { emitUpdate: false })\n }\n }, [content, editor])\n\n // Sync editable\n React.useEffect(() => {\n editor?.setEditable(editable)\n }, [editable, editor])\n\n // Expose ref\n React.useImperativeHandle(ref, () => ({\n editor,\n getHTML: () => editor?.getHTML() ?? \"\",\n getText: () => editor?.getText() ?? \"\",\n clear: () => { editor?.commands.clearContent() },\n focus: () => { editor?.commands.focus() },\n }), [editor])\n\n if (!editor) return null\n\n return (\n <div\n data-editor-wrapper\n className={cn(\n // Base — same tokens as Textarea (outline variant)\n \"w-full rounded-lg border border-neutral-border bg-transparent text-neutral-foreground shadow-xs dark:shadow-none\",\n \"transition-[color,border-color,box-shadow,background-color] outline-none\",\n // Hover\n \"hover:border-ring hover:bg-ring/5\",\n // Focus-within (focus is on nested contenteditable, not the wrapper)\n \"focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50 focus-within:bg-ring/5\",\n // Error\n \"aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:hover:border-destructive dark:aria-invalid:border-destructive dark:aria-invalid:ring-destructive/40\",\n // Disabled\n !editable && \"opacity-50 cursor-not-allowed pointer-events-none\",\n className\n )}\n >\n {/* Scoped styles: placeholder + Tiptap scroll/sizing */}\n <style>{`\n [data-editor-wrapper] .tiptap {\n min-height: var(--editor-min-h, 120px);\n max-height: var(--editor-max-h, none);\n }\n [data-editor-wrapper] .tiptap p.is-editor-empty:first-child::before {\n color: var(--color-neutral-muted-foreground);\n content: attr(data-placeholder);\n float: left;\n height: 0;\n pointer-events: none;\n }\n `}</style>\n\n <EditorToolbar editor={editor} state={toolbarState} theme={toolbarTheme} />\n\n <EditorContent\n editor={editor}\n className={cn(\n \"text-sm text-foreground\",\n \"selection:bg-primary selection:text-primary-foreground\",\n resizable && \"resize-y\",\n // Scroll on .tiptap directly — Tiptap auto-scrolls to keep cursor in view\n \"[&_.tiptap]:outline-none [&_.tiptap]:overflow-y-auto [&_.tiptap]:px-4 [&_.tiptap]:py-2\",\n \"[&_.tiptap_p]:my-1.5 [&_.tiptap_p]:leading-relaxed\",\n \"[&_.tiptap_h2]:my-2 [&_.tiptap_h2]:text-lg [&_.tiptap_h2]:font-semibold\",\n \"[&_.tiptap_ul]:my-1.5 [&_.tiptap_ul]:list-disc [&_.tiptap_ul]:pl-6\",\n \"[&_.tiptap_ol]:my-1.5 [&_.tiptap_ol]:list-decimal [&_.tiptap_ol]:pl-6\",\n \"[&_.tiptap_li]:my-0.5\",\n )}\n style={{\n ...(minHeight && { [\"--editor-min-h\" as string]: minHeight }),\n ...(maxHeight && { [\"--editor-max-h\" as string]: maxHeight }),\n }}\n />\n </div>\n )\n }\n)\n\nexport { Editor }\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/editor.tsx"],"names":["UnderlineIcon","Editor","_a"],"mappings":"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","file":"chunk-2M73I67G.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { useEditor, EditorContent, type Editor as TiptapEditor } from \"@tiptap/react\"\nimport StarterKit from \"@tiptap/starter-kit\"\nimport Underline from \"@tiptap/extension-underline\"\nimport Placeholder from \"@tiptap/extension-placeholder\"\nimport {\n Bold,\n Italic,\n Underline as UnderlineIcon,\n Strikethrough,\n Heading2,\n List,\n ListOrdered,\n Undo2,\n Redo2,\n type LucideIcon,\n} from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { toggleVariants } from \"@/components/ui/toggle\"\nimport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n} from \"@/components/ui/tooltip\"\nimport { CycleIcon } from \"@/components/icons\"\n\n// ── Types ────────────────────────────────────────────────────────────\n\nexport interface EditorRef {\n /** The Tiptap editor instance */\n editor: TiptapEditor | null\n /** Get current HTML content */\n getHTML: () => string\n /** Get current plain-text content */\n getText: () => string\n /** Clear the editor */\n clear: () => void\n /** Focus the editor */\n focus: () => void\n}\n\nexport interface EditorProps {\n /** HTML content (controlled) */\n content?: string\n /** Default HTML content (uncontrolled) */\n defaultContent?: string\n /** Called when content changes with the HTML string */\n onChange?: (html: string) => void\n /** Placeholder text shown when the editor is empty */\n placeholder?: string\n /** Whether the editor is editable */\n editable?: boolean\n /** Additional class for the outer wrapper */\n className?: string\n /** Auto-focus the editor on mount */\n autoFocus?: boolean\n /** Max height of the content area — scrolls when exceeded (e.g. \"300px\", \"50vh\") */\n maxHeight?: string\n /** Min height of the content area (default: \"120px\") */\n minHeight?: string\n /** Allow the user to resize the editor vertically */\n resizable?: boolean\n /** Theme class for the toolbar pressed state (e.g. \"theme-class\", \"theme-brand\") */\n toolbarTheme?: string\n}\n\n// ── Toolbar internals ────────────────────────────────────────────────\n\nfunction ToolbarDivider() {\n return <div className=\"mx-1 h-5 w-px bg-neutral-border\" aria-hidden=\"true\" />\n}\n\ninterface ToolbarToggleProps {\n pressed: boolean\n onToggle: () => void\n icon: LucideIcon\n label: string\n disabled?: boolean\n}\n\nfunction ToolbarToggle({ pressed, onToggle, icon, label, disabled }: ToolbarToggleProps) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n className={cn(\n toggleVariants({ variant: \"default\", size: \"icon-sm\" }),\n pressed && \"bg-accent text-accent-foreground\"\n )}\n onClick={onToggle}\n aria-pressed={pressed}\n aria-label={label}\n disabled={disabled}\n data-state={pressed ? \"on\" : \"off\"}\n >\n <CycleIcon icon={icon} size=\"xs\" decorative />\n </button>\n </TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n )\n}\n\ninterface ToolbarState {\n isBold: boolean\n isItalic: boolean\n isUnderline: boolean\n isStrike: boolean\n isH2: boolean\n isBulletList: boolean\n isOrderedList: boolean\n canUndo: boolean\n canRedo: boolean\n}\n\nfunction getToolbarState(editor: TiptapEditor): ToolbarState {\n return {\n isBold: editor.isActive(\"bold\"),\n isItalic: editor.isActive(\"italic\"),\n isUnderline: editor.isActive(\"underline\"),\n isStrike: editor.isActive(\"strike\"),\n isH2: editor.isActive(\"heading\", { level: 2 }),\n isBulletList: editor.isActive(\"bulletList\"),\n isOrderedList: editor.isActive(\"orderedList\"),\n canUndo: editor.can().undo(),\n canRedo: editor.can().redo(),\n }\n}\n\nfunction EditorToolbar({ editor, state, theme }: { editor: TiptapEditor; state: ToolbarState; theme?: string }) {\n const {\n isBold, isItalic, isUnderline, isStrike, isH2,\n isBulletList, isOrderedList, canUndo, canRedo,\n } = state\n\n return (\n <TooltipProvider>\n <div\n className={cn(\n \"flex items-center gap-0.5 overflow-x-auto border-b border-neutral-border px-2 py-1.5 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\",\n theme\n )}\n role=\"toolbar\"\n aria-label=\"Formatting options\"\n >\n {/* History */}\n <ToolbarToggle\n pressed={false}\n onToggle={() => editor.chain().focus().undo().run()}\n icon={Undo2}\n label=\"Undo\"\n disabled={!canUndo}\n />\n <ToolbarToggle\n pressed={false}\n onToggle={() => editor.chain().focus().redo().run()}\n icon={Redo2}\n label=\"Redo\"\n disabled={!canRedo}\n />\n\n <ToolbarDivider />\n\n {/* Text formatting */}\n <ToolbarToggle\n pressed={isBold}\n onToggle={() => editor.chain().focus().toggleBold().run()}\n icon={Bold}\n label=\"Bold\"\n />\n <ToolbarToggle\n pressed={isItalic}\n onToggle={() => editor.chain().focus().toggleItalic().run()}\n icon={Italic}\n label=\"Italic\"\n />\n <ToolbarToggle\n pressed={isUnderline}\n onToggle={() => editor.chain().focus().toggleUnderline().run()}\n icon={UnderlineIcon}\n label=\"Underline\"\n />\n <ToolbarToggle\n pressed={isStrike}\n onToggle={() => editor.chain().focus().toggleStrike().run()}\n icon={Strikethrough}\n label=\"Strikethrough\"\n />\n\n <ToolbarDivider />\n\n {/* Heading */}\n <ToolbarToggle\n pressed={isH2}\n onToggle={() => editor.chain().focus().toggleHeading({ level: 2 }).run()}\n icon={Heading2}\n label=\"Heading 2\"\n />\n\n <ToolbarDivider />\n\n {/* Lists */}\n <ToolbarToggle\n pressed={isBulletList}\n onToggle={() => editor.chain().focus().toggleBulletList().run()}\n icon={List}\n label=\"Bullet list\"\n />\n <ToolbarToggle\n pressed={isOrderedList}\n onToggle={() => editor.chain().focus().toggleOrderedList().run()}\n icon={ListOrdered}\n label=\"Ordered list\"\n />\n </div>\n </TooltipProvider>\n )\n}\n\n// ── Editor ───────────────────────────────────────────────────────────\n\nconst Editor = React.forwardRef<EditorRef, EditorProps>(\n function Editor(\n {\n content,\n defaultContent,\n onChange,\n placeholder = \"Type something...\",\n editable = true,\n className,\n autoFocus = false,\n maxHeight,\n minHeight = \"120px\",\n resizable = false,\n toolbarTheme,\n },\n ref\n ) {\n const [toolbarState, setToolbarState] = React.useState<ToolbarState>({\n isBold: false, isItalic: false, isUnderline: false, isStrike: false,\n isH2: false, isBulletList: false, isOrderedList: false,\n canUndo: false, canRedo: false,\n })\n\n const onChangeRef = React.useRef(onChange)\n onChangeRef.current = onChange\n\n const editor = useEditor({\n immediatelyRender: false,\n extensions: [\n StarterKit.configure({\n heading: { levels: [2] },\n }),\n Underline,\n Placeholder.configure({ placeholder }),\n ],\n content: defaultContent ?? content ?? \"\",\n editable,\n autofocus: autoFocus,\n onUpdate: ({ editor: e }) => {\n onChangeRef.current?.(e.getHTML())\n },\n })\n\n // Subscribe to editor events directly — avoids stale closure issues\n // with useEditor callbacks on React 19\n React.useEffect(() => {\n if (!editor) return\n const sync = () => setToolbarState(getToolbarState(editor))\n sync()\n editor.on(\"transaction\", sync)\n return () => { editor.off(\"transaction\", sync) }\n }, [editor])\n\n // Sync controlled content\n React.useEffect(() => {\n if (content !== undefined && editor && editor.getHTML() !== content) {\n editor.commands.setContent(content, { emitUpdate: false })\n }\n }, [content, editor])\n\n // Sync editable\n React.useEffect(() => {\n editor?.setEditable(editable)\n }, [editable, editor])\n\n // Expose ref\n React.useImperativeHandle(ref, () => ({\n editor,\n getHTML: () => editor?.getHTML() ?? \"\",\n getText: () => editor?.getText() ?? \"\",\n clear: () => { editor?.commands.clearContent() },\n focus: () => { editor?.commands.focus() },\n }), [editor])\n\n if (!editor) return null\n\n return (\n <div\n data-editor-wrapper\n className={cn(\n // Base — same tokens as Textarea (outline variant)\n \"w-full rounded-lg border border-neutral-border bg-transparent text-neutral-foreground shadow-xs dark:shadow-none\",\n \"transition-[color,border-color,box-shadow,background-color] outline-none\",\n // Hover\n \"hover:border-ring hover:bg-ring/5\",\n // Focus-within (focus is on nested contenteditable, not the wrapper)\n \"focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50 focus-within:bg-ring/5\",\n // Error\n \"aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:hover:border-destructive dark:aria-invalid:border-destructive dark:aria-invalid:ring-destructive/40\",\n // Disabled\n !editable && \"opacity-50 cursor-not-allowed pointer-events-none\",\n className\n )}\n >\n {/* Scoped styles: placeholder + Tiptap scroll/sizing */}\n <style>{`\n [data-editor-wrapper] .tiptap {\n min-height: var(--editor-min-h, 120px);\n max-height: var(--editor-max-h, none);\n }\n [data-editor-wrapper] .tiptap p.is-editor-empty:first-child::before {\n color: var(--color-neutral-muted-foreground);\n content: attr(data-placeholder);\n float: left;\n height: 0;\n pointer-events: none;\n }\n `}</style>\n\n <EditorToolbar editor={editor} state={toolbarState} theme={toolbarTheme} />\n\n <EditorContent\n editor={editor}\n className={cn(\n \"text-sm text-foreground\",\n \"selection:bg-primary selection:text-primary-foreground\",\n resizable && \"resize-y\",\n // Scroll on .tiptap directly — Tiptap auto-scrolls to keep cursor in view\n \"[&_.tiptap]:outline-none [&_.tiptap]:overflow-y-auto [&_.tiptap]:px-4 [&_.tiptap]:py-2\",\n \"[&_.tiptap_p]:my-1.5 [&_.tiptap_p]:leading-relaxed\",\n \"[&_.tiptap_h2]:my-2 [&_.tiptap_h2]:text-lg [&_.tiptap_h2]:font-semibold\",\n \"[&_.tiptap_ul]:my-1.5 [&_.tiptap_ul]:list-disc [&_.tiptap_ul]:pl-6\",\n \"[&_.tiptap_ol]:my-1.5 [&_.tiptap_ol]:list-decimal [&_.tiptap_ol]:pl-6\",\n \"[&_.tiptap_li]:my-0.5\",\n )}\n style={{\n ...(minHeight && { [\"--editor-min-h\" as string]: minHeight }),\n ...(maxHeight && { [\"--editor-max-h\" as string]: maxHeight }),\n }}\n />\n </div>\n )\n }\n)\n\nexport { Editor }\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useRef, useState, useEffect } from 'react';
|
|
2
2
|
|
|
3
|
-
// src/hooks/use-intersection.ts
|
|
3
|
+
// ../pulse/src/hooks/use-intersection.ts
|
|
4
4
|
function useIntersection(options = {}) {
|
|
5
5
|
const {
|
|
6
6
|
threshold = 0.15,
|
|
@@ -33,5 +33,5 @@ function useIntersection(options = {}) {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export { useIntersection };
|
|
36
|
-
//# sourceMappingURL=chunk-
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
36
|
+
//# sourceMappingURL=chunk-2MBHI4VU.js.map
|
|
37
|
+
//# sourceMappingURL=chunk-2MBHI4VU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../pulse/src/hooks/use-intersection.ts"],"names":[],"mappings":";;;AAiCO,SAAS,eAAA,CACd,OAAA,GAAkC,EAAC,EACqB;AACxD,EAAA,MAAM;AAAA,IACJ,SAAA,GAAY,IAAA;AAAA,IACZ,UAAA,GAAa,kBAAA;AAAA,IACb,IAAA,GAAO,IAAA;AAAA,IACP,IAAA,GAAO,IAAA;AAAA,IACP,YAAA,GAAe;AAAA,GACjB,GAAI,OAAA;AAEJ,EAAA,MAAM,GAAA,GAAM,OAAiB,IAAI,CAAA;AACjC,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,YAAY,CAAA;AAEvD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAA,EAAc;AAClB,IAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,IAAA,IAAI,CAAC,EAAA,EAAI;AAET,IAAA,MAAM,WAAW,IAAI,oBAAA;AAAA,MACnB,CAAC,CAAC,KAAK,CAAA,KAAM;AACX,QAAA,IAAI,+BAAO,cAAA,EAAgB;AACzB,UAAA,YAAA,CAAa,IAAI,CAAA;AACjB,UAAA,IAAI,IAAA,WAAe,UAAA,EAAW;AAAA,QAChC,CAAA,MAAA,IAAW,CAAC,IAAA,EAAM;AAChB,UAAA,YAAA,CAAa,KAAK,CAAA;AAAA,QACpB;AAAA,MACF,CAAA;AAAA,MACA,EAAE,SAAA,EAAW,UAAA,EAAY,IAAA;AAAK,KAChC;AAEA,IAAA,QAAA,CAAS,QAAQ,EAAE,CAAA;AACnB,IAAA,OAAO,MAAM,SAAS,UAAA,EAAW;AAAA,EACnC,GAAG,CAAC,SAAA,EAAW,YAAY,IAAA,EAAM,IAAA,EAAM,YAAY,CAAC,CAAA;AAEpD,EAAA,OAAO,EAAE,KAAK,SAAA,EAAU;AAC1B","file":"chunk-2MBHI4VU.js","sourcesContent":["\"use client\"\n\nimport { useEffect, useRef, useState } from \"react\"\n\nexport interface UseIntersectionOptions {\n /** Quanto do elemento precisa estar visivel pra disparar (0-1). Default `0.15`. */\n threshold?: number\n /** Margin do viewport (CSS shorthand). Default `\"0px 0px -10% 0px\"`. */\n rootMargin?: string\n /** Container alternativo (default: viewport). */\n root?: Element | null\n /** Quando `true`, desliga o observer apos a primeira intersecao. Default `true`. */\n once?: boolean\n /**\n * Quando `true`, comeca como visivel (sem aguardar observer). Util quando\n * `useReducedMotion()` e true e queremos pular a animacao de entrada.\n */\n startVisible?: boolean\n}\n\n/**\n * Observa um elemento e retorna `{ ref, isVisible }`. Reusado por\n * `RevealOnScroll`, `StaggerReveal` e `AnimatedNumber`.\n *\n * Comportamento:\n * - SSR-safe (so monta IntersectionObserver no client).\n * - `once=true` (default) desconecta o observer apos a primeira intersecao.\n * - `startVisible=true` ja entrega `isVisible: true` no primeiro render.\n *\n * @example\n * const { ref, isVisible } = useIntersection({ threshold: 0.4 })\n * return <div ref={ref}>{isVisible ? \"visible\" : \"hidden\"}</div>\n */\nexport function useIntersection<T extends HTMLElement = HTMLDivElement>(\n options: UseIntersectionOptions = {}\n): { ref: React.RefObject<T | null>; isVisible: boolean } {\n const {\n threshold = 0.15,\n rootMargin = \"0px 0px -10% 0px\",\n root = null,\n once = true,\n startVisible = false,\n } = options\n\n const ref = useRef<T | null>(null)\n const [isVisible, setIsVisible] = useState(startVisible)\n\n useEffect(() => {\n if (startVisible) return\n const el = ref.current\n if (!el) return\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry?.isIntersecting) {\n setIsVisible(true)\n if (once) observer.disconnect()\n } else if (!once) {\n setIsVisible(false)\n }\n },\n { threshold, rootMargin, root }\n )\n\n observer.observe(el)\n return () => observer.disconnect()\n }, [threshold, rootMargin, root, once, startVisible])\n\n return { ref, isVisible }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
|
|
4
4
|
var sizeMap = {
|
|
@@ -34,5 +34,5 @@ function FluencypassLogo({ className, size = "md" }) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export { FluencypassIcon, FluencypassLogo };
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
38
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-2SGRMGCM.js.map
|
|
38
|
+
//# sourceMappingURL=chunk-2SGRMGCM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../core/src/components/fluencypass-logo.tsx"],"names":[],"mappings":";;;AAOA,IAAM,OAAA,GAAU;AAAA,EACd,EAAA,EAAI,EAAE,IAAA,EAAM,YAAA,EAAc,MAAM,YAAA,EAAa;AAAA,EAC7C,EAAA,EAAI,EAAE,IAAA,EAAM,YAAA,EAAc,MAAM,YAAA,EAAa;AAAA,EAC7C,EAAA,EAAI,EAAE,IAAA,EAAM,YAAA,EAAc,MAAM,YAAA,EAAa;AAAA,EAC7C,EAAA,EAAI,EAAE,IAAA,EAAM,aAAA,EAAe,MAAM,YAAA,EAAa;AAAA,EAC9C,EAAA,EAAI,EAAE,IAAA,EAAM,aAAA,EAAe,MAAM,YAAA;AACnC,CAAA;AAMO,SAAS,eAAA,CAAgB,EAAE,SAAA,GAAY,YAAA,EAAa,EAA2B;AACpF,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,KAAA,EAAM,4BAAA;AAAA,MACN,SAAA;AAAA,MACA,YAAA,EAAW,aAAA;AAAA,MACX,IAAA,EAAK,KAAA;AAAA,MAEL,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,yrFAAA,EAA0rF,IAAA,EAAK,SAAA,EAAS,CAAA;AAAA,wBAChtF,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,4xFAAA,EAA6xF,MAAK,SAAA,EAAS;AAAA;AAAA;AAAA,GACrzF;AAEJ;AAOO,SAAS,eAAA,CAAgB,EAAE,SAAA,EAAW,IAAA,GAAO,MAAK,EAAyB;AAChF,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAK,GAAI,QAAQ,IAAI,CAAA;AACnC,EAAA,4BACG,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,gCAAA,EAAkC,SAAS,CAAA,EAC7D,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,WAAW,IAAA,EAAM,CAAA;AAAA,wBACjC,MAAA,EAAA,EAAK,SAAA,EAAW,GAAG,IAAA,EAAM,2BAA2B,GAAG,QAAA,EAAA,aAAA,EAAW;AAAA,GAAA,EACrE,CAAA;AAEJ","file":"chunk-2SGRMGCM.js","sourcesContent":["import { cn } from \"@core/lib/utils\"\n\nexport interface FluencypassLogoProps {\n className?: string\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\"\n}\n\nconst sizeMap = {\n xs: { icon: \"h-5 w-auto\", text: \"heading-xs\" },\n sm: { icon: \"h-7 w-auto\", text: \"heading-sm\" },\n md: { icon: \"h-8 w-auto\", text: \"heading-md\" },\n lg: { icon: \"h-10 w-auto\", text: \"heading-lg\" },\n xl: { icon: \"h-12 w-auto\", text: \"heading-xl\" },\n} as const\n\n/**\n * Fluencypass icon — the coral \"S\" shape.\n * Cor primitiva #ED6A6D, nunca muda entre temas ou modos.\n */\nexport function FluencypassIcon({ className = \"h-7 w-auto\" }: { className?: string }) {\n return (\n <svg\n viewBox=\"0 0 34 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n aria-label=\"Fluencypass\"\n role=\"img\"\n >\n <path d=\"M16.4698 29.5773C17.4618 28.9147 18.259 28.094 19.0927 27.2592C21.0624 25.2916 23.0321 23.324 25.0018 21.3565C25.8802 20.4791 25.9491 18.8661 25.0018 18.0008C24.0504 17.1336 22.5838 17.0606 21.6426 18.0008C20.0725 19.5692 18.5024 21.1376 16.9323 22.706C16.2102 23.4274 15.4901 24.1528 14.7638 24.8722C14.7213 24.9147 14.6807 24.9573 14.6381 24.9978C14.49 25.1417 14.3358 25.2774 14.1817 25.4132C14.5569 25.0789 14.0214 25.5186 13.8672 25.6118C13.6745 25.7273 13.4271 25.8063 13.2526 25.9421C13.2445 25.9482 13.2404 25.9522 13.2343 25.9563C13.1532 25.9846 13.0741 26.013 12.9929 26.0393C12.7718 26.1103 12.5467 26.1711 12.3195 26.2217C12.2221 26.244 12.1227 26.2602 12.0253 26.2805C12.0071 26.2845 11.9949 26.2866 11.9787 26.2906C11.9665 26.2906 11.9523 26.2906 11.932 26.2926C11.4675 26.323 11.0111 26.321 10.5465 26.2845C10.4289 26.2643 10.3112 26.244 10.1956 26.2197C9.92176 26.1629 9.64994 26.092 9.3842 26.0069C9.28278 25.9745 9.18338 25.938 9.08195 25.9056C9.06167 25.8995 9.04544 25.8934 9.03124 25.8894C8.8081 25.7901 8.58902 25.6847 8.37603 25.5692C8.18332 25.4639 7.99264 25.3524 7.80804 25.2349C7.7127 25.1741 7.61939 25.1092 7.52608 25.0444C7.47333 25.0059 7.38408 24.9411 7.3212 24.8884C6.93983 24.5662 6.58281 24.2156 6.25622 23.8387C6.18116 23.7536 6.10814 23.6645 6.03714 23.5753C6.01685 23.5449 5.99251 23.5044 5.95803 23.4497C5.7998 23.2025 5.64158 22.9552 5.50161 22.6979C5.39815 22.5074 5.30484 22.3109 5.21153 22.1163C5.20544 22.1062 5.20342 22.0981 5.19733 22.088C5.16285 21.9887 5.12836 21.8914 5.0959 21.7921C5.01882 21.5591 4.95188 21.324 4.89508 21.0849C4.87277 20.9937 4.79365 20.5135 4.78554 20.5236C4.74903 20.0981 4.7612 19.6766 4.76931 19.247C4.76931 19.2085 4.77945 19.1336 4.78554 19.0809C4.79365 19.0383 4.79974 18.9978 4.80988 18.9552C4.86668 18.6959 4.92348 18.4385 5.00259 18.1832C5.05939 17.9968 5.29876 17.5388 5.08779 17.9178C5.20139 17.7151 5.29267 17.5003 5.41033 17.2997C5.49958 17.1498 5.59492 17.0018 5.69432 16.858C5.67809 16.9005 5.98237 16.5398 6.07568 16.4446C6.59701 15.9076 7.13457 15.3869 7.66402 14.858C9.4694 13.0545 11.2748 11.2511 13.0802 9.44765C13.9585 8.57024 14.0275 6.95727 13.0802 6.09202C12.1288 5.22475 10.6622 5.1518 9.72094 6.09202C7.99669 7.81441 6.27245 9.5368 4.55023 11.2572C3.93965 11.8671 3.31892 12.4689 2.71847 13.087C0.955687 14.8965 -0.0180045 17.3261 0.000252168 19.8509C0.0225659 23.1092 1.6251 26.244 4.0857 28.3575C7.24614 31.5145 10.4086 34.6736 13.569 37.8306C14.0701 38.3311 14.5691 38.8296 15.0702 39.3301C15.9627 40.2217 17.48 40.2217 18.3726 39.3301C19.2692 38.4345 19.2692 36.9249 18.3726 36.0312C16.6504 34.3109 14.9282 32.5905 13.208 30.8722C14.3642 30.6574 15.4779 30.2399 16.4698 29.5773ZM5.19733 22.0839C5.16285 21.9887 5.02491 21.7232 5.19733 22.0839Z\" fill=\"#ED6A6D\"/>\n <path d=\"M29.5056 11.6596C26.3391 8.49645 23.1706 5.33131 20.004 2.16819C19.503 1.66768 19.004 1.1692 18.5029 0.668693C17.6104 -0.222898 16.093 -0.222898 15.2005 0.668693C14.3039 1.56434 14.3039 3.07396 15.2005 3.96758C16.9369 5.70213 18.6733 7.43668 20.4097 9.17123C19.2393 9.38804 18.1114 9.8156 17.1134 10.5005C16.1397 11.1672 15.3526 11.9797 14.525 12.8065C12.5776 14.7518 10.6323 16.695 8.68487 18.6403C7.80652 19.5177 7.73755 21.1307 8.68487 21.9959C9.63625 22.8632 11.1029 22.9362 12.0441 21.9959C13.5898 20.4519 15.1335 18.9098 16.6793 17.3658C17.4116 16.6342 18.1398 15.9027 18.8741 15.1733C18.9208 15.1266 18.9675 15.078 19.0141 15.0334C19.1358 14.9159 19.292 14.8085 19.3995 14.6788C19.4036 14.6727 19.4076 14.6687 19.4117 14.6646C19.5131 14.5937 19.6146 14.5268 19.718 14.462C19.9188 14.3364 20.1318 14.2371 20.3367 14.1216C20.3773 14.0993 20.4037 14.0831 20.4239 14.0689C20.4463 14.0628 20.4726 14.0567 20.5091 14.0446C20.7343 13.9757 20.9554 13.9027 21.1867 13.848C21.3185 13.8156 21.4504 13.7953 21.5822 13.7649C21.5985 13.7609 21.6127 13.7589 21.6248 13.7548C22.0934 13.7143 22.5498 13.7244 23.0184 13.7487C23.0326 13.7487 23.0407 13.7487 23.0509 13.7487C23.1503 13.7649 23.2476 13.7812 23.345 13.8014C23.6229 13.8561 23.8968 13.9271 24.1666 14.0081C24.3025 14.0507 24.4384 14.0973 24.5743 14.1439C24.5804 14.1459 24.6128 14.1581 24.6494 14.1743C24.7041 14.2006 24.7934 14.2411 24.8056 14.2472C24.9354 14.3141 25.0693 14.3769 25.1971 14.4458C25.4263 14.5694 25.6494 14.7011 25.8665 14.843C25.9618 14.9037 26.0531 14.9686 26.1464 15.0314C26.1748 15.0517 26.1971 15.0659 26.2174 15.08C26.2194 15.0861 26.2357 15.1023 26.2722 15.1348C26.6515 15.4732 27.0085 15.8217 27.3493 16.1966C27.3919 16.2432 27.4244 16.2796 27.4507 16.308C27.4974 16.3728 27.5461 16.4377 27.5907 16.5046C27.7591 16.7497 27.9173 17.003 28.0613 17.2644C28.1668 17.4549 28.2622 17.6515 28.3555 17.848C28.2845 17.7082 28.4833 18.1783 28.5198 18.2898C28.5948 18.5268 28.6618 18.7639 28.7165 19.0071C28.7429 19.1206 28.8099 19.6353 28.8139 19.5765C28.8443 20.0101 28.8403 20.4377 28.8139 20.8734C28.8139 20.8794 28.8119 20.8977 28.8078 20.9179C28.7936 20.9909 28.7652 21.1368 28.7571 21.1733C28.6942 21.4367 28.6273 21.692 28.5461 21.9514C28.5238 22.0203 28.4975 22.0892 28.4731 22.1581C28.463 22.1763 28.4508 22.1966 28.4386 22.2188C28.3392 22.3951 28.254 22.5775 28.1506 22.7518C28.1161 22.8085 27.9051 23.1003 27.8524 23.1874C27.753 23.2948 27.5725 23.4914 27.5258 23.538C26.9903 24.0871 26.4405 24.6221 25.8969 25.1651C24.1159 26.9443 22.3348 28.7234 20.5538 30.5025C19.6754 31.3799 19.6064 32.9929 20.5538 33.8582C21.5051 34.7254 22.9718 34.7984 23.913 33.8582C25.6129 32.1601 27.3108 30.464 29.0107 28.766C29.6334 28.1439 30.2684 27.5279 30.883 26.8956C32.6154 25.1145 33.5749 22.7457 33.5911 20.2634C33.6134 16.9767 31.9967 13.7974 29.5077 11.6657L29.5056 11.6596Z\" fill=\"#ED6A6D\"/>\n </svg>\n )\n}\n\n/**\n * Fluencypass brand logo — coral \"S\" icon + \"Fluencypass\" text.\n * O icone e cor primitiva (#ED6A6D), nunca muda.\n * O texto adapta ao light/dark via text-foreground.\n */\nexport function FluencypassLogo({ className, size = \"md\" }: FluencypassLogoProps) {\n const { icon, text } = sizeMap[size]\n return (\n <span className={cn(\"inline-flex items-center gap-2\", className)}>\n <FluencypassIcon className={icon} />\n <span className={cn(text, \"font-bold text-foreground\")}>Fluencypass</span>\n </span>\n )\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react';
|
|
2
2
|
|
|
3
|
-
// src/hooks/use-reduced-motion.ts
|
|
3
|
+
// ../pulse/src/hooks/use-reduced-motion.ts
|
|
4
4
|
function useReducedMotion() {
|
|
5
5
|
const [reduced, setReduced] = useState(false);
|
|
6
6
|
useEffect(() => {
|
|
@@ -14,5 +14,5 @@ function useReducedMotion() {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export { useReducedMotion };
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-2XFXNZNW.js.map
|
|
18
|
+
//# sourceMappingURL=chunk-2XFXNZNW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../pulse/src/hooks/use-reduced-motion.ts"],"names":[],"mappings":";;;AAYO,SAAS,gBAAA,GAA4B;AAC1C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAE5C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,UAAA,CAAW,kCAAkC,CAAA;AAClE,IAAA,UAAA,CAAW,MAAM,OAAO,CAAA;AAExB,IAAA,MAAM,OAAA,GAAU,CAAC,KAAA,KAA+B,UAAA,CAAW,MAAM,OAAO,CAAA;AACxE,IAAA,KAAA,CAAM,gBAAA,CAAiB,UAAU,OAAO,CAAA;AACxC,IAAA,OAAO,MAAM,KAAA,CAAM,mBAAA,CAAoB,QAAA,EAAU,OAAO,CAAA;AAAA,EAC1D,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,OAAO,OAAA;AACT","file":"chunk-2XFXNZNW.js","sourcesContent":["\"use client\"\n\nimport { useEffect, useState } from \"react\"\n\n/**\n * Returns `true` quando o usuario habilitou \"prefers-reduced-motion\" no SO.\n * Componentes do `marketing/motion/*` consultam esse hook pra desligar animacoes\n * (resolver para o estado final direto) — requisito WCAG 2.3.3.\n *\n * SSR-safe: comeca em `false` no server e atualiza no client apos mount.\n * Reage a mudancas dinamicas (usuario toggla a preferencia com a aba aberta).\n */\nexport function useReducedMotion(): boolean {\n const [reduced, setReduced] = useState(false)\n\n useEffect(() => {\n const media = window.matchMedia(\"(prefers-reduced-motion: reduce)\")\n setReduced(media.matches)\n\n const handler = (event: MediaQueryListEvent) => setReduced(event.matches)\n media.addEventListener(\"change\", handler)\n return () => media.removeEventListener(\"change\", handler)\n }, [])\n\n return reduced\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
2
2
|
import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
@@ -114,5 +114,5 @@ function GridItem(_a) {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
export { Grid, GridItem };
|
|
117
|
-
//# sourceMappingURL=chunk-
|
|
118
|
-
//# sourceMappingURL=chunk-
|
|
117
|
+
//# sourceMappingURL=chunk-325K2R3T.js.map
|
|
118
|
+
//# sourceMappingURL=chunk-325K2R3T.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/layout/grid.tsx"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/layout/grid.tsx"],"names":[],"mappings":"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","file":"chunk-325K2R3T.js","sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\nimport type { ColCount } from \"./types\"\n\n/**\n * Grid — sistema de grid com 12 colunas FIXAS e gutter locked.\n *\n * Valores travados pelo design system (nao configuraveis):\n * - Columns: sempre 12\n * - Gutter (gap): 16px mobile / 24px desktop (`gap-4 sm:gap-6`)\n *\n * Items usam <GridItem size={N}> com N de 1 a 12 para ocupar fracoes da linha.\n * Para galerias auto-fit (sem cols fixas), use a prop `minItemWidth`.\n */\n\n/* ─── Size maps (1–12) — para GridItem ─────────────────────────── */\n\nconst SIZE_BASE: Record<ColCount, string> = {\n 1: \"col-span-1\", 2: \"col-span-2\", 3: \"col-span-3\", 4: \"col-span-4\",\n 5: \"col-span-5\", 6: \"col-span-6\", 7: \"col-span-7\", 8: \"col-span-8\",\n 9: \"col-span-9\", 10: \"col-span-10\", 11: \"col-span-11\", 12: \"col-span-12\",\n}\n\nconst SIZE_SM: Record<ColCount, string> = {\n 1: \"sm:col-span-1\", 2: \"sm:col-span-2\", 3: \"sm:col-span-3\", 4: \"sm:col-span-4\",\n 5: \"sm:col-span-5\", 6: \"sm:col-span-6\", 7: \"sm:col-span-7\", 8: \"sm:col-span-8\",\n 9: \"sm:col-span-9\", 10: \"sm:col-span-10\", 11: \"sm:col-span-11\", 12: \"sm:col-span-12\",\n}\n\nconst SIZE_MD: Record<ColCount, string> = {\n 1: \"md:col-span-1\", 2: \"md:col-span-2\", 3: \"md:col-span-3\", 4: \"md:col-span-4\",\n 5: \"md:col-span-5\", 6: \"md:col-span-6\", 7: \"md:col-span-7\", 8: \"md:col-span-8\",\n 9: \"md:col-span-9\", 10: \"md:col-span-10\", 11: \"md:col-span-11\", 12: \"md:col-span-12\",\n}\n\nconst SIZE_LG: Record<ColCount, string> = {\n 1: \"lg:col-span-1\", 2: \"lg:col-span-2\", 3: \"lg:col-span-3\", 4: \"lg:col-span-4\",\n 5: \"lg:col-span-5\", 6: \"lg:col-span-6\", 7: \"lg:col-span-7\", 8: \"lg:col-span-8\",\n 9: \"lg:col-span-9\", 10: \"lg:col-span-10\", 11: \"lg:col-span-11\", 12: \"lg:col-span-12\",\n}\n\n/* ─── Grid (container) ──────────────────────────────────────────── */\n\nexport interface GridProps extends React.ComponentProps<\"div\"> {\n /**\n * Auto-fit gallery: largura minima por item. Quando setado, sobrescreve\n * o sistema 12-col padrao com `repeat(auto-fit, minmax(X, 1fr))`.\n * Use para galerias uniformes onde nao se controla o numero de items por linha.\n */\n minItemWidth?: string\n}\n\nfunction Grid({\n minItemWidth,\n className,\n style,\n ...props\n}: GridProps) {\n const useAutoFit = !!minItemWidth\n\n return (\n <div\n data-slot=\"grid\"\n className={cn(\n \"grid gap-4 sm:gap-6\",\n !useAutoFit && \"grid-cols-12\",\n className\n )}\n style={\n useAutoFit\n ? {\n gridTemplateColumns: `repeat(auto-fit, minmax(${minItemWidth}, 1fr))`,\n ...style,\n }\n : style\n }\n {...props}\n />\n )\n}\n\n/* ─── GridItem (filho) ──────────────────────────────────────────── */\n\nexport interface GridItemProps extends React.ComponentProps<\"div\"> {\n /** Quantas colunas (de 12) o item ocupa no mobile. Sem size, ocupa 1 col. */\n size?: ColCount\n /** Cols em sm (>= 640px) */\n sizeSm?: ColCount\n /** Cols em md (>= 768px) */\n sizeMd?: ColCount\n /** Cols em lg (>= 1024px) */\n sizeLg?: ColCount\n}\n\nfunction GridItem({\n size,\n sizeSm,\n sizeMd,\n sizeLg,\n className,\n ...props\n}: GridItemProps) {\n return (\n <div\n data-slot=\"grid-item\"\n className={cn(\n size && SIZE_BASE[size],\n sizeSm && SIZE_SM[sizeSm],\n sizeMd && SIZE_MD[sizeMd],\n sizeLg && SIZE_LG[sizeLg],\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Grid, GridItem }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
2
2
|
import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
|
|
3
3
|
import { cva } from 'class-variance-authority';
|
|
4
4
|
import { Slot } from 'radix-ui';
|
|
@@ -56,5 +56,5 @@ function Badge(_a) {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
export { Badge, badgeVariants };
|
|
59
|
-
//# sourceMappingURL=chunk-
|
|
60
|
-
//# sourceMappingURL=chunk-
|
|
59
|
+
//# sourceMappingURL=chunk-32NHCUEZ.js.map
|
|
60
|
+
//# sourceMappingURL=chunk-32NHCUEZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../core/src/components/ui/badge.tsx"],"names":[],"mappings":";;;;;;AAMA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,mRAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EACE,6DAAA;AAAA,QACF,SAAA,EACE,mEAAA;AAAA,QACF,WAAA,EACE,wJAAA;AAAA,QACF,OAAA,EACE,sFAAA;AAAA,QACF,KAAA,EACE,wDAAA;AAAA,QACF,IAAA,EACE,sDAAA;AAAA,QACF,KAAA,EACE,gCAAA;AAAA,QACF,OAAA,EACE,mEAAA;AAAA,QACF,QAAA,EACE,iCAAA;AAAA,QACF,oBAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,6DAAA;AAAA,QACT,EAAA,EAAI,gEAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAQA,SAAS,MAAM,EAAA,EAMA;AANA,EAAA,IAAA,EAAA,GAAA,EAAA,EACb;AAAA,IAAA,SAAA;AAAA,IACA,OAAA,GAAU,SAAA;AAAA,IACV,IAAA,GAAO,SAAA;AAAA,IACP,OAAA,GAAU;AAAA,GAvDZ,GAmDe,EAAA,EAKV,KAAA,GAAA,SAAA,CALU,EAAA,EAKV;AAAA,IAJH,WAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,IAAA,GAAO,OAAA,GAAU,IAAA,CAAK,IAAA,GAAO,MAAA;AAEnC,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,SAAA,EAAW,GAAG,aAAA,CAAc,EAAE,SAAS,IAAA,EAAM,GAAG,SAAS;AAAA,KAAA,EACrD,KAAA;AAAA,GACN;AAEJ","file":"chunk-32NHCUEZ.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"@core/lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden border border-transparent whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [&>svg]:pointer-events-none [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90\",\n outline:\n \"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n ghost:\n \"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n link:\n \"text-primary underline-offset-4 [a&]:hover:underline\",\n muted:\n \"bg-muted text-muted-foreground\",\n success:\n \"theme-positive bg-background text-foreground border-foreground/20\",\n progress:\n \"bg-accent text-muted-foreground\",\n \"progress-completed\":\n \"theme-positive bg-accent text-accent-foreground\",\n },\n size: {\n default: \"rounded-full px-2 py-0.5 text-xs font-medium [&>svg]:size-3\",\n sm: \"rounded-md px-1.5 py-px text-[11px] font-medium [&>svg]:size-3\",\n lg: \"rounded-full px-3 py-1 text-sm font-medium [&>svg]:size-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.ComponentProps<\"span\">,\n VariantProps<typeof badgeVariants> {\n asChild?: boolean\n}\n\nfunction Badge({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: BadgeProps) {\n const Comp = asChild ? Slot.Root : \"span\"\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant, size }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
2
2
|
import { __objRest, __spreadValues, __spreadProps } from './chunk-2NMEKWO5.js';
|
|
3
3
|
import { CircleIcon } from 'lucide-react';
|
|
4
4
|
import { RadioGroup as RadioGroup$1 } from 'radix-ui';
|
|
@@ -59,5 +59,5 @@ function RadioGroupItem(_a) {
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
export { RadioGroup, RadioGroupItem, radioVariants };
|
|
62
|
-
//# sourceMappingURL=chunk-
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
62
|
+
//# sourceMappingURL=chunk-3VRHZPW6.js.map
|
|
63
|
+
//# sourceMappingURL=chunk-3VRHZPW6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../core/src/components/ui/radio-group.tsx"],"names":["RadioGroupPrimitive"],"mappings":";;;;;;;AASA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,8ZAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,yBAAA;AAAA,QACJ,OAAA,EAAS,yBAAA;AAAA,QACT,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AAKA,SAAS,WAAW,EAAA,EAA0C;AAA1C,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EA5BtB,GA4BoB,EAAA,EAAgB,KAAA,GAAA,SAAA,CAAhB,IAAgB,CAAd,WAAA,CAAA,CAAA;AACpB,EAAA,uBACE,GAAA;AAAA,IAACA,YAAA,CAAoB,IAAA;AAAA,IAApB,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,SAAS;AAAA,KAAA,EACjC,KAAA;AAAA,GACN;AAEJ;AASA,SAAS,eAAe,EAAA,EAKA;AALA,EAAA,IAAA,EAAA,GAAA,EAAA,EACtB;AAAA,IAAA,SAAA;AAAA,IACA,IAAA,GAAO,SAAA;AAAA,IACP;AAAA,GAhDF,GA6CwB,EAAA,EAInB,KAAA,GAAA,SAAA,CAJmB,EAAA,EAInB;AAAA,IAHH,WAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAACA,YAAA,CAAoB,IAAA;AAAA,IAApB,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,GAAG,KAAA,EAAO,aAAA,CAAc,EAAE,IAAA,EAAM,GAAG,SAAS;AAAA,KAAA,EACnD,KAAA,CAAA,EAHL;AAAA,MAKC,QAAA,kBAAA,GAAA;AAAA,QAACA,YAAA,CAAoB,SAAA;AAAA,QAApB;AAAA,UACC,WAAA,EAAU,uBAAA;AAAA,UACV,SAAA,EAAU,wCAAA;AAAA,UAEV,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA;AACvC,KAAA;AAAA,GACF;AAEJ","file":"chunk-3VRHZPW6.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { CircleIcon } from \"lucide-react\"\nimport { RadioGroup as RadioGroupPrimitive } from \"radix-ui\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@core/lib/utils\"\n\nconst radioVariants = cva(\n \"aspect-square rounded-full border border-neutral-border bg-neutral-bg shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:text-foreground dark:aria-invalid:ring-destructive/40\",\n {\n variants: {\n size: {\n sm: \"size-3.5 [&_svg]:size-2\",\n default: \"size-4 [&_svg]:size-2.5\",\n lg: \"size-5 [&_svg]:size-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nexport interface RadioGroupProps\n extends React.ComponentProps<typeof RadioGroupPrimitive.Root> {}\n\nfunction RadioGroup({ className, ...props }: RadioGroupProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n )\n}\n\nexport interface RadioGroupItemProps\n extends React.ComponentProps<typeof RadioGroupPrimitive.Item>,\n VariantProps<typeof radioVariants> {\n /** Classe de tema aplicada apenas no estado checked (ex: \"theme-class\") */\n theme?: string\n}\n\nfunction RadioGroupItem({\n className,\n size = \"default\",\n theme,\n ...props\n}: RadioGroupItemProps) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(theme, radioVariants({ size }), className)}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"grid place-content-center text-current\"\n >\n <CircleIcon className=\"fill-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n}\n\nexport { RadioGroup, RadioGroupItem, radioVariants }\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CycleIcon } from './chunk-
|
|
2
|
-
import { Avatar, AvatarImage, AvatarFallback } from './chunk-
|
|
3
|
-
import { Badge } from './chunk-
|
|
4
|
-
import { cn } from './chunk-
|
|
1
|
+
import { CycleIcon } from './chunk-US5LXJTO.js';
|
|
2
|
+
import { Avatar, AvatarImage, AvatarFallback } from './chunk-T2TJG24M.js';
|
|
3
|
+
import { Badge } from './chunk-32NHCUEZ.js';
|
|
4
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { RadioIcon } from 'lucide-react';
|
|
7
7
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -93,5 +93,5 @@ function LiveWaiting({
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
export { LiveWaiting };
|
|
96
|
-
//# sourceMappingURL=chunk-
|
|
97
|
-
//# sourceMappingURL=chunk-
|
|
96
|
+
//# sourceMappingURL=chunk-4HNTMD2U.js.map
|
|
97
|
+
//# sourceMappingURL=chunk-4HNTMD2U.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/live-waiting.tsx"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/live-waiting.tsx"],"names":[],"mappings":"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","file":"chunk-4HNTMD2U.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { RadioIcon } from \"lucide-react\"\nimport { CycleIcon } from \"@/components/icons/CycleIcon\"\nimport { Avatar, AvatarImage, AvatarFallback } from \"@/components/ui/avatar\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { cn } from \"@/lib/utils\"\n\n/* ─── Types ─── */\n\nexport interface LiveWaitingProps {\n /** Scheduled start time of the live */\n scheduledAt: Date\n /** Teacher/instructor display name */\n teacherName?: string\n /** Teacher avatar URL */\n teacherAvatar?: string\n /** Live class topic/subject */\n topic?: string\n className?: string\n}\n\n/* ─── Helpers ─── */\n\ninterface TimeLeft {\n days: number\n hours: number\n minutes: number\n seconds: number\n total: number\n}\n\nfunction calcTimeLeft(target: Date): TimeLeft {\n const total = Math.max(0, target.getTime() - Date.now())\n return {\n days: Math.floor(total / (1000 * 60 * 60 * 24)),\n hours: Math.floor((total / (1000 * 60 * 60)) % 24),\n minutes: Math.floor((total / (1000 * 60)) % 60),\n seconds: Math.floor((total / 1000) % 60),\n total,\n }\n}\n\nfunction padTwo(n: number): string {\n return n.toString().padStart(2, \"0\")\n}\n\nfunction getInitials(name: string): string {\n return name\n .split(\" \")\n .slice(0, 2)\n .map((w) => w[0])\n .join(\"\")\n .toUpperCase()\n}\n\n/* ─── Sub-components ─── */\n\nfunction CountdownUnit({ value, label }: { value: string; label: string }) {\n return (\n <div className=\"flex flex-col items-center gap-1\">\n <div className=\"flex items-center justify-center size-14 sm:size-16 rounded-xl bg-muted border border-border text-2xl sm:text-3xl font-bold text-foreground tabular-nums\">\n {value}\n </div>\n <span className=\"text-[11px] text-muted-foreground uppercase tracking-wider font-medium\">\n {label}\n </span>\n </div>\n )\n}\n\n/* ─── Component ─── */\n\nfunction LiveWaiting({\n scheduledAt,\n teacherName,\n teacherAvatar,\n topic,\n className,\n}: LiveWaitingProps) {\n const [timeLeft, setTimeLeft] = React.useState<TimeLeft>(() =>\n calcTimeLeft(scheduledAt)\n )\n\n React.useEffect(() => {\n const timer = setInterval(() => {\n setTimeLeft(calcTimeLeft(scheduledAt))\n }, 1000)\n return () => clearInterval(timer)\n }, [scheduledAt])\n\n const hasStarted = timeLeft.total === 0\n\n return (\n <div\n data-slot=\"live-waiting\"\n className={cn(\n \"flex flex-col items-center justify-center gap-6 py-12 sm:py-16 px-4\",\n className\n )}\n >\n {/* Live badge */}\n <Badge variant=\"destructive\" size=\"lg\" className=\"gap-1.5\">\n <CycleIcon icon={RadioIcon} size=\"2xs\" decorative />\n {hasStarted ? \"Começando...\" : \"Aula ao Vivo\"}\n </Badge>\n\n {/* Topic */}\n {topic && (\n <h2 className=\"text-lg sm:text-xl font-semibold text-foreground text-center max-w-md leading-snug\">\n {topic}\n </h2>\n )}\n\n {/* Countdown */}\n {!hasStarted && (\n <div className=\"flex items-center gap-3\">\n {timeLeft.days > 0 && (\n <>\n <CountdownUnit value={padTwo(timeLeft.days)} label=\"Dias\" />\n <span className=\"text-2xl font-bold text-muted-foreground mt-[-20px]\">:</span>\n </>\n )}\n <CountdownUnit value={padTwo(timeLeft.hours)} label=\"Horas\" />\n <span className=\"text-2xl font-bold text-muted-foreground mt-[-20px]\">:</span>\n <CountdownUnit value={padTwo(timeLeft.minutes)} label=\"Min\" />\n <span className=\"text-2xl font-bold text-muted-foreground mt-[-20px]\">:</span>\n <CountdownUnit value={padTwo(timeLeft.seconds)} label=\"Seg\" />\n </div>\n )}\n\n {/* Scheduled date */}\n <p className=\"text-sm text-muted-foreground\">\n {scheduledAt.toLocaleDateString(\"pt-BR\", {\n weekday: \"long\",\n day: \"numeric\",\n month: \"long\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n })}\n </p>\n\n {/* Teacher info */}\n {teacherName && (\n <div className=\"flex items-center gap-3 mt-2\">\n <Avatar size=\"lg\">\n {teacherAvatar && (\n <AvatarImage src={teacherAvatar} alt={teacherName} />\n )}\n <AvatarFallback className=\"bg-primary text-primary-foreground\">\n {getInitials(teacherName)}\n </AvatarFallback>\n </Avatar>\n <div className=\"flex flex-col\">\n <span className=\"text-sm font-medium text-foreground\">\n {teacherName}\n </span>\n <span className=\"text-xs text-muted-foreground\">Professor(a)</span>\n </div>\n </div>\n )}\n </div>\n )\n}\n\nexport { LiveWaiting }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
2
2
|
import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -20,5 +20,5 @@ var CircleGlow = React.forwardRef(
|
|
|
20
20
|
);
|
|
21
21
|
|
|
22
22
|
export { CircleGlow };
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-4MDQXCMY.js.map
|
|
24
|
+
//# sourceMappingURL=chunk-4MDQXCMY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../pulse/src/components/marketing/effects/circle-glow.tsx"],"names":["CircleGlow"],"mappings":";;;;;AA2BA,IAAM,UAAA,GAAmB,KAAA,CAAA,UAAA;AAAA,EACvB,SAASA,WAAAA,CAAW,EAAA,EAAsC,GAAA,EAAK;AAA3C,IAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,IAAA,GAAO,MAAM,SAAA,EA5BrC,GA4BsB,IAA6B,KAAA,GAAA,SAAA,CAA7B,EAAA,EAA6B,CAA3B,MAAA,EAAa,WAAA,CAAA,CAAA;AACjC,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA,cAAA,CAAA;AAAA,QACC,GAAA;AAAA,QACA,aAAA,EAAY,MAAA;AAAA,QACZ,WAAA,EAAU,aAAA;AAAA,QACV,WAAA,EAAW,IAAA;AAAA,QACX,SAAA,EAAW,EAAA,CAAG,mBAAA,EAAqB,SAAS;AAAA,OAAA,EACxC,KAAA;AAAA,KACN;AAAA,EAEJ;AACF","file":"chunk-4MDQXCMY.js","sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@core/lib/utils\"\n\nexport interface CircleGlowProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"children\"> {\n /**\n * Tamanho relativo do glow. Controla o `transform: scale()` aplicado ao\n * elemento. Default `\"lg\"` (escala 1.0).\n */\n size?: \"sm\" | \"md\" | \"lg\"\n}\n\n/**\n * Decoracao de glow circular pulsante. Posicionada `absolute` — o **container\n * deve ser `relative`**. Idealmente coloque atras dos cards usando `-z-10`\n * (ou similar) via `className`.\n *\n * Sempre `aria-hidden` e `pointer-events: none` (e puramente visual).\n * Respeita `prefers-reduced-motion`.\n *\n * @example\n * <div className=\"relative\">\n * <CircleGlow className=\"-z-10\" />\n * <div className=\"grid grid-cols-3 gap-6\">{cards}</div>\n * </div>\n */\nconst CircleGlow = React.forwardRef<HTMLDivElement, CircleGlowProps>(\n function CircleGlow({ size = \"lg\", className, ...props }, ref) {\n return (\n <div\n ref={ref}\n aria-hidden=\"true\"\n data-slot=\"circle-glow\"\n data-size={size}\n className={cn(\"cycle-circle-glow\", className)}\n {...props}\n />\n )\n }\n)\n\nexport { CircleGlow }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
2
2
|
import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
|
|
3
3
|
import { cva } from 'class-variance-authority';
|
|
4
4
|
import { Tabs as Tabs$1 } from 'radix-ui';
|
|
@@ -102,5 +102,5 @@ function TabsContent(_a) {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
106
|
-
//# sourceMappingURL=chunk-
|
|
105
|
+
//# sourceMappingURL=chunk-5TA6AMTY.js.map
|
|
106
|
+
//# sourceMappingURL=chunk-5TA6AMTY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../core/src/components/ui/tabs.tsx"],"names":["TabsPrimitive"],"mappings":";;;;;;AAQA,SAAS,KAAK,EAAA,EAIsC;AAJtC,EAAA,IAAA,EAAA,GAAA,EAAA,EACZ;AAAA,IAAA,SAAA;AAAA,IACA,WAAA,GAAc;AAAA,GAVhB,GAQc,EAAA,EAGT,KAAA,GAAA,SAAA,CAHS,EAAA,EAGT;AAAA,IAFH,WAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAACA,MAAA,CAAc,IAAA;AAAA,IAAd,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,MAAA;AAAA,MACV,kBAAA,EAAkB,WAAA;AAAA,MAClB,WAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,qEAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ;AAEA,IAAM,gBAAA,GAAmB,GAAA;AAAA,EACvB,2RAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,UAAA;AAAA,QACT,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AAEA,SAAS,SAAS,EAAA,EAKuB;AALvB,EAAA,IAAA,EAAA,GAAA,EAAA,EAChB;AAAA,IAAA,SAAA;AAAA,IACA,OAAA,GAAU;AAAA,GA5CZ,GA0CkB,EAAA,EAGb,KAAA,GAAA,SAAA,CAHa,EAAA,EAGb;AAAA,IAFH,WAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAIA,EAAA,uBACE,GAAA;AAAA,IAACA,MAAA,CAAc,IAAA;AAAA,IAAd,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAW,EAAA,CAAG,gBAAA,CAAiB,EAAE,OAAA,EAAS,GAAG,SAAS;AAAA,KAAA,EAClD,KAAA;AAAA,GACN;AAEJ;AAEA,SAAS,YAAY,EAAA,EAGkC;AAHlC,EAAA,IAAA,EAAA,GAAA,EAAA,EACnB;AAAA,IAAA;AAAA,GA3DF,GA0DqB,EAAA,EAEhB,KAAA,GAAA,SAAA,CAFgB,EAAA,EAEhB;AAAA,IADH;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAACA,MAAA,CAAc,OAAA;AAAA,IAAd,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,mbAAA;AAAA;AAAA,QAEA,iBAAA;AAAA;AAAA,QAEA,kIAAA;AAAA;AAAA,QAEA,+FAAA;AAAA;AAAA,QAEA,+LAAA;AAAA;AAAA,QAEA,4EAAA;AAAA,QACA,6JAAA;AAAA;AAAA,QAEA,4dAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ;AAEA,SAAS,YAAY,EAAA,EAGkC;AAHlC,EAAA,IAAA,EAAA,GAAA,EAAA,EACnB;AAAA,IAAA;AAAA,GAxFF,GAuFqB,EAAA,EAEhB,KAAA,GAAA,SAAA,CAFgB,EAAA,EAEhB;AAAA,IADH;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAACA,MAAA,CAAc,OAAA;AAAA,IAAd,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,qBAAA,EAAuB,SAAS;AAAA,KAAA,EAC1C,KAAA;AAAA,GACN;AAEJ","file":"chunk-5TA6AMTY.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Tabs as TabsPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@core/lib/utils\"\n\nfunction Tabs({\n className,\n orientation = \"horizontal\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n orientation={orientation}\n className={cn(\n \"group/tabs flex w-full gap-2 data-[orientation=horizontal]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst tabsListVariants = cva(\n \"group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-neutral-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none\",\n {\n variants: {\n variant: {\n default: \"bg-muted\",\n line: \"gap-1 bg-transparent\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction TabsList({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsListVariants>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"relative inline-flex h-full flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-neutral-muted-foreground transition-colors group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n // Hover: texto usa cor do tema (ring)\n \"hover:text-ring\",\n // Focus: ring do tema\n \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring\",\n // Active (default variant): fundo neutro, texto do tema, sombra fixa\n \"data-[state=active]:bg-background data-[state=active]:text-ring data-[state=active]:shadow-sm\",\n // Active (line variant): sem fundo, sem sombra\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none\",\n // Dark mode active\n \"dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30\",\n \"dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent\",\n // Line indicator\n \"after:absolute after:bg-ring after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
2
2
|
import { __objRest, __spreadValues, __spreadProps } from './chunk-2NMEKWO5.js';
|
|
3
3
|
import { Tooltip as Tooltip$1 } from 'radix-ui';
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -54,5 +54,5 @@ function TooltipContent(_a) {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
57
|
-
//# sourceMappingURL=chunk-
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
57
|
+
//# sourceMappingURL=chunk-6AZLLBX6.js.map
|
|
58
|
+
//# sourceMappingURL=chunk-6AZLLBX6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../core/src/components/ui/tooltip.tsx"],"names":["TooltipPrimitive"],"mappings":";;;;;AAOA,SAAS,gBAAgB,EAAA,EAGkC;AAHlC,EAAA,IAAA,EAAA,GAAA,EAAA,EACvB;AAAA,IAAA,aAAA,GAAgB;AAAA,GARlB,GAOyB,EAAA,EAEpB,KAAA,GAAA,SAAA,CAFoB,EAAA,EAEpB;AAAA,IADH;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,QAAA;AAAA,IAAjB,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV;AAAA,KAAA,EACI,KAAA;AAAA,GACN;AAEJ;AAEA,SAAS,QAAQ,EAAA,EAEsC;AAFtC,EAAA,IACZ,kBADY,EAAA,EACZ,EAAA,CAAA;AAEH,EAAA,2BAAQA,SAAA,CAAiB,IAAA,EAAjB,cAAA,CAAA,EAAsB,WAAA,EAAU,aAAc,KAAA,CAAO,CAAA;AAC/D;AAEA,SAAS,eAAe,EAAA,EAEkC;AAFlC,EAAA,IACnB,kBADmB,EAAA,EACnB,EAAA,CAAA;AAEH,EAAA,2BAAQA,SAAA,CAAiB,OAAA,EAAjB,cAAA,CAAA,EAAyB,WAAA,EAAU,qBAAsB,KAAA,CAAO,CAAA;AAC1E;AAEA,SAAS,eAAe,EAAA,EAKkC;AALlC,EAAA,IAAA,EAAA,GAAA,EAAA,EACtB;AAAA,IAAA,SAAA;AAAA,IACA,UAAA,GAAa,CAAA;AAAA,IACb;AAAA,GAnCF,GAgCwB,EAAA,EAInB,KAAA,GAAA,SAAA,CAJmB,EAAA,EAInB;AAAA,IAHH,WAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA,CAACA,SAAA,CAAiB,MAAA,EAAjB,EACC,QAAA,kBAAA,IAAA;AAAA,IAACA,SAAA,CAAiB,OAAA;AAAA,IAAjB,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,maAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA,CAAA,EAPL;AAAA,MASE,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAACA,SAAA,CAAiB,KAAA,EAAjB,EAAuB,WAAU,oGAAA,EAAqG;AAAA;AAAA,KAAA;AAAA,GACzI,EACF,CAAA;AAEJ","file":"chunk-6AZLLBX6.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@core/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-W4KJCBMW.js';
|
|
2
2
|
import { __objRest, __spreadValues, __spreadProps } from './chunk-2NMEKWO5.js';
|
|
3
3
|
import { GripVerticalIcon } from 'lucide-react';
|
|
4
4
|
import * as ResizablePrimitive from 'react-resizable-panels';
|
|
@@ -48,5 +48,5 @@ function ResizableHandle(_a) {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
52
|
-
//# sourceMappingURL=chunk-
|
|
51
|
+
//# sourceMappingURL=chunk-6GP26S4R.js.map
|
|
52
|
+
//# sourceMappingURL=chunk-6GP26S4R.js.map
|