@alfadocs/ui-kit-debug 0.25.1 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{agenda-card-BmpaUG1h.js → agenda-card-CznB7K8e.js} +2 -2
- package/dist/_chunks/{agenda-card-BmpaUG1h.js.map → agenda-card-CznB7K8e.js.map} +1 -1
- package/dist/_chunks/{agenda-tray-DiInnVqk.js → agenda-tray-C_bha7oK.js} +4 -4
- package/dist/_chunks/{agenda-tray-DiInnVqk.js.map → agenda-tray-C_bha7oK.js.map} +1 -1
- package/dist/_chunks/{ai-prompt-input-B5MdixzR.js → ai-prompt-input-Bka3jX3i.js} +2 -2
- package/dist/_chunks/{ai-prompt-input-B5MdixzR.js.map → ai-prompt-input-Bka3jX3i.js.map} +1 -1
- package/dist/_chunks/{alia-sidebar-CUi2UCbY.js → alia-sidebar-CnvXq95r.js} +92 -109
- package/dist/_chunks/alia-sidebar-CnvXq95r.js.map +1 -0
- package/dist/_chunks/{audio-recorder-D4xM3H5i.js → audio-recorder-OB6IV9B1.js} +2 -2
- package/dist/_chunks/{audio-recorder-D4xM3H5i.js.map → audio-recorder-OB6IV9B1.js.map} +1 -1
- package/dist/_chunks/{autocomplete-C7xq06bP.js → autocomplete-CUh0f7Dj.js} +2 -2
- package/dist/_chunks/{autocomplete-C7xq06bP.js.map → autocomplete-CUh0f7Dj.js.map} +1 -1
- package/dist/_chunks/{avatar-BpFohgWG.js → avatar-D_H4emLo.js} +7 -7
- package/dist/_chunks/avatar-D_H4emLo.js.map +1 -0
- package/dist/_chunks/{benefit-card-DXmrAyfn.js → benefit-card-CjYM8vNr.js} +29 -29
- package/dist/_chunks/benefit-card-CjYM8vNr.js.map +1 -0
- package/dist/_chunks/booking-BYuc_8HV.js +2250 -0
- package/dist/_chunks/booking-BYuc_8HV.js.map +1 -0
- package/dist/_chunks/{calendar-zy0tUUVG.js → calendar-WWNx448i.js} +114 -142
- package/dist/_chunks/calendar-WWNx448i.js.map +1 -0
- package/dist/_chunks/{card-C353dU-H.js → card-DKTMLVrw.js} +11 -11
- package/dist/_chunks/card-DKTMLVrw.js.map +1 -0
- package/dist/_chunks/{carousel.agent-DnPiqijR.js → carousel.agent-C9swH-Uf.js} +2 -2
- package/dist/_chunks/{carousel.agent-DnPiqijR.js.map → carousel.agent-C9swH-Uf.js.map} +1 -1
- package/dist/_chunks/{chat-input-B3XmFGDw.js → chat-input-BfDcz1Yi.js} +2 -2
- package/dist/_chunks/{chat-input-B3XmFGDw.js.map → chat-input-BfDcz1Yi.js.map} +1 -1
- package/dist/_chunks/{chat-message-W3k8rLOA.js → chat-message-fg221-yx.js} +2 -2
- package/dist/_chunks/{chat-message-W3k8rLOA.js.map → chat-message-fg221-yx.js.map} +1 -1
- package/dist/_chunks/checkbox-mwbrPZDY.js.map +1 -1
- package/dist/_chunks/{command-palette-DkL-aW4O.js → command-palette-11BieSNq.js} +2 -2
- package/dist/_chunks/{command-palette-DkL-aW4O.js.map → command-palette-11BieSNq.js.map} +1 -1
- package/dist/_chunks/{contact-card-CjG7c-1q.js → contact-card-DYbp--s-.js} +3 -3
- package/dist/_chunks/{contact-card-CjG7c-1q.js.map → contact-card-DYbp--s-.js.map} +1 -1
- package/dist/_chunks/{date-picker-BIoSLRly.js → date-picker-D0Ry1dMz.js} +26 -27
- package/dist/_chunks/{date-picker-BIoSLRly.js.map → date-picker-D0Ry1dMz.js.map} +1 -1
- package/dist/_chunks/{date-range-picker-9gANFNG9.js → date-range-picker-DYgHzMOo.js} +19 -20
- package/dist/_chunks/{date-range-picker-9gANFNG9.js.map → date-range-picker-DYgHzMOo.js.map} +1 -1
- package/dist/_chunks/{date-time-picker-DG7BiGdb.js → date-time-picker-CGmGtcyc.js} +10 -11
- package/dist/_chunks/{date-time-picker-DG7BiGdb.js.map → date-time-picker-CGmGtcyc.js.map} +1 -1
- package/dist/_chunks/{description-list-Bsga4IW8.js → description-list-yl3y3QKg.js} +34 -24
- package/dist/_chunks/description-list-yl3y3QKg.js.map +1 -0
- package/dist/_chunks/{dialog-DUomPCRS.js → dialog-BBXqpZIt.js} +2 -2
- package/dist/_chunks/{dialog-DUomPCRS.js.map → dialog-BBXqpZIt.js.map} +1 -1
- package/dist/_chunks/{editable-currency-cell-renderer-DJB5MxAI.js → editable-currency-cell-renderer-DSReCae7.js} +7 -7
- package/dist/_chunks/{editable-currency-cell-renderer-DJB5MxAI.js.map → editable-currency-cell-renderer-DSReCae7.js.map} +1 -1
- package/dist/_chunks/{empty-state-3CLJIXSj.js → empty-state-BLy7tigq.js} +13 -33
- package/dist/_chunks/empty-state-BLy7tigq.js.map +1 -0
- package/dist/_chunks/eye-LHlSU38h.js +21 -0
- package/dist/_chunks/eye-LHlSU38h.js.map +1 -0
- package/dist/_chunks/{freemium-paywall-CM6V1zNf.js → freemium-paywall-B9c8Ylww.js} +11 -11
- package/dist/_chunks/{freemium-paywall-CM6V1zNf.js.map → freemium-paywall-B9c8Ylww.js.map} +1 -1
- package/dist/_chunks/{header-DqmKROIY.js → header-CkMb1TZS.js} +24 -24
- package/dist/_chunks/header-CkMb1TZS.js.map +1 -0
- package/dist/_chunks/heart-pulse-CvuyFKHB.js +21 -0
- package/dist/_chunks/heart-pulse-CvuyFKHB.js.map +1 -0
- package/dist/_chunks/icon-button-BRHSSFmZ.js +70 -0
- package/dist/_chunks/icon-button-BRHSSFmZ.js.map +1 -0
- package/dist/_chunks/{isSameDay-ecuM8PBB.js → isSameDay-DHG8Xade.js} +4 -4
- package/dist/_chunks/{isSameDay-ecuM8PBB.js.map → isSameDay-DHG8Xade.js.map} +1 -1
- package/dist/_chunks/{key-value-pair-DBuOCtIc.js → key-value-pair-CqeKiP__.js} +2 -2
- package/dist/_chunks/{key-value-pair-DBuOCtIc.js.map → key-value-pair-CqeKiP__.js.map} +1 -1
- package/dist/_chunks/{link-DmM5IevO.js → link-DrD_cRUg.js} +50 -45
- package/dist/_chunks/link-DrD_cRUg.js.map +1 -0
- package/dist/_chunks/{locale-picker-BxEUUPW7.js → locale-picker-BHxbTNmR.js} +297 -208
- package/dist/_chunks/locale-picker-BHxbTNmR.js.map +1 -0
- package/dist/_chunks/{map-view-CcwycFQX.js → map-view-DyB8tr6c.js} +9 -9
- package/dist/_chunks/{map-view-CcwycFQX.js.map → map-view-DyB8tr6c.js.map} +1 -1
- package/dist/_chunks/{matrix-rain-CRPMXcVx.js → matrix-rain-sDOUUwZp.js} +35 -35
- package/dist/_chunks/matrix-rain-sDOUUwZp.js.map +1 -0
- package/dist/_chunks/{message-card-i61k1TGc.js → message-card-DjRtA8GG.js} +3 -3
- package/dist/_chunks/{message-card-i61k1TGc.js.map → message-card-DjRtA8GG.js.map} +1 -1
- package/dist/_chunks/{message-tray-DrV7G-wR.js → message-tray-DfsAMncP.js} +3 -3
- package/dist/_chunks/{message-tray-DrV7G-wR.js.map → message-tray-DfsAMncP.js.map} +1 -1
- package/dist/_chunks/monitor-D-SFdbrU.js +16 -0
- package/dist/_chunks/monitor-D-SFdbrU.js.map +1 -0
- package/dist/_chunks/{notification-card-ejOw5g6g.js → notification-card-B_847w5g.js} +3 -3
- package/dist/_chunks/notification-card-B_847w5g.js.map +1 -0
- package/dist/_chunks/{notification-tray-D_69dXFY.js → notification-tray-6f7smmT1.js} +22 -19
- package/dist/_chunks/notification-tray-6f7smmT1.js.map +1 -0
- package/dist/_chunks/parseISO-Dk4xa7q6.js +120 -0
- package/dist/_chunks/parseISO-Dk4xa7q6.js.map +1 -0
- package/dist/_chunks/patient-search-BhlxYAI3.js +1102 -0
- package/dist/_chunks/patient-search-BhlxYAI3.js.map +1 -0
- package/dist/_chunks/patient-shell-CAXYzbRw.js +173 -0
- package/dist/_chunks/{patient-shell-B164drIa.js.map → patient-shell-CAXYzbRw.js.map} +1 -1
- package/dist/_chunks/{payment-form-F7uh0Rqr.js → payment-form-Ds3rxvad.js} +2 -2
- package/dist/_chunks/{payment-form-F7uh0Rqr.js.map → payment-form-Ds3rxvad.js.map} +1 -1
- package/dist/_chunks/{pdf-viewer-CuYaVR1I.js → pdf-viewer-CIuaocnq.js} +2 -2
- package/dist/_chunks/{pdf-viewer-CuYaVR1I.js.map → pdf-viewer-CIuaocnq.js.map} +1 -1
- package/dist/_chunks/{popover--derJ_wq.js → popover-D0slaBB9.js} +17 -13
- package/dist/_chunks/popover-D0slaBB9.js.map +1 -0
- package/dist/_chunks/{privacy-lock-BKsI6ReN.js → privacy-lock-BI4vi9Ud.js} +2 -2
- package/dist/_chunks/{privacy-lock-BKsI6ReN.js.map → privacy-lock-BI4vi9Ud.js.map} +1 -1
- package/dist/_chunks/public-footer.agent-CA29gxHJ.js +516 -0
- package/dist/_chunks/public-footer.agent-CA29gxHJ.js.map +1 -0
- package/dist/_chunks/{public-header.agent-BQ3r6Hgq.js → public-header.agent-5U3S9QiC.js} +49 -41
- package/dist/_chunks/public-header.agent-5U3S9QiC.js.map +1 -0
- package/dist/_chunks/react-day-picker-D3yzgvDB.js +3127 -0
- package/dist/_chunks/react-day-picker-D3yzgvDB.js.map +1 -0
- package/dist/_chunks/{recaptcha-widget-Kp1XntuE.js → recaptcha-widget-BtBNb6tB.js} +2 -2
- package/dist/_chunks/{recaptcha-widget-Kp1XntuE.js.map → recaptcha-widget-BtBNb6tB.js.map} +1 -1
- package/dist/_chunks/reviews-panel-CFttsfuC.js +513 -0
- package/dist/_chunks/reviews-panel-CFttsfuC.js.map +1 -0
- package/dist/_chunks/{search-bar-DORSAzNt.js → search-bar-BRMW1-WG.js} +2 -2
- package/dist/_chunks/{search-bar-DORSAzNt.js.map → search-bar-BRMW1-WG.js.map} +1 -1
- package/dist/_chunks/{search-input-BtEJAJHa.js → search-input-CIA6pPfn.js} +2 -2
- package/dist/_chunks/{search-input-BtEJAJHa.js.map → search-input-CIA6pPfn.js.map} +1 -1
- package/dist/_chunks/{sheet-BT0izeoI.js → sheet-D8M8hf8B.js} +2 -2
- package/dist/_chunks/{sheet-BT0izeoI.js.map → sheet-D8M8hf8B.js.map} +1 -1
- package/dist/_chunks/{sign-in-with-alfadocs-button-4zZC-I6y.js → sign-in-with-alfadocs-button-BI0fVonM.js} +2 -2
- package/dist/_chunks/{sign-in-with-alfadocs-button-4zZC-I6y.js.map → sign-in-with-alfadocs-button-BI0fVonM.js.map} +1 -1
- package/dist/_chunks/slot-grid-B2zprPcv.js +387 -0
- package/dist/_chunks/slot-grid-B2zprPcv.js.map +1 -0
- package/dist/_chunks/sparkles-CuYXqQLg.js +23 -0
- package/dist/_chunks/sparkles-CuYXqQLg.js.map +1 -0
- package/dist/_chunks/{spinner-DirtWZNG.js → spinner-CCByyvcb.js} +2 -2
- package/dist/_chunks/spinner-CCByyvcb.js.map +1 -0
- package/dist/_chunks/stepper-accordion-BfS6lUB9.js +257 -0
- package/dist/_chunks/stepper-accordion-BfS6lUB9.js.map +1 -0
- package/dist/_chunks/stepper-accordion.agent-C4quJ-MD.js +71 -0
- package/dist/_chunks/stepper-accordion.agent-C4quJ-MD.js.map +1 -0
- package/dist/_chunks/stethoscope-DT5qCW8Y.js +18 -0
- package/dist/_chunks/stethoscope-DT5qCW8Y.js.map +1 -0
- package/dist/_chunks/{sun-Eweh5fvi.js → sun-BuXE0xUS.js} +3 -15
- package/dist/_chunks/sun-BuXE0xUS.js.map +1 -0
- package/dist/_chunks/{task-tray-B3A2fRGR.js → task-tray-Bcmrrs8m.js} +3 -3
- package/dist/_chunks/{task-tray-B3A2fRGR.js.map → task-tray-Bcmrrs8m.js.map} +1 -1
- package/dist/_chunks/{theme-toggle-FrotC2VI.js → theme-toggle-nPzb378f.js} +37 -36
- package/dist/_chunks/{theme-toggle-FrotC2VI.js.map → theme-toggle-nPzb378f.js.map} +1 -1
- package/dist/_chunks/{timeline-jmd7lfDf.js → timeline-CR7HjZCK.js} +3 -3
- package/dist/_chunks/{timeline-jmd7lfDf.js.map → timeline-CR7HjZCK.js.map} +1 -1
- package/dist/_chunks/{toast.agent-32WNQ-_x.js → toast.agent-CTF6nIj5.js} +2 -2
- package/dist/_chunks/{toast.agent-32WNQ-_x.js.map → toast.agent-CTF6nIj5.js.map} +1 -1
- package/dist/_chunks/{transcript-panel-DUrjx5sa.js → transcript-panel-QUQ9XJmf.js} +2 -2
- package/dist/_chunks/{transcript-panel-DUrjx5sa.js.map → transcript-panel-QUQ9XJmf.js.map} +1 -1
- package/dist/_chunks/{use-password-requirements-C9vKBSVn.js → use-password-requirements-E0sSfx5X.js} +38 -53
- package/dist/_chunks/use-password-requirements-E0sSfx5X.js.map +1 -0
- package/dist/_chunks/use-theme-C2dHKUAN.js +145 -0
- package/dist/_chunks/use-theme-C2dHKUAN.js.map +1 -0
- package/dist/_chunks/{workflow-map-BR6txfFX.js → workflow-map-BKsKdYvZ.js} +5 -5
- package/dist/_chunks/{workflow-map-BR6txfFX.js.map → workflow-map-BKsKdYvZ.js.map} +1 -1
- package/dist/agent-catalog.json +151 -51
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/avatar/avatar.d.ts.map +1 -1
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/benefit-card/benefit-card.d.ts.map +1 -1
- package/dist/components/benefit-card/index.js +1 -1
- package/dist/components/booking/booking-types.d.ts +145 -0
- package/dist/components/booking/booking-types.d.ts.map +1 -0
- package/dist/components/booking/booking.agent.d.ts +4 -0
- package/dist/components/booking/booking.agent.d.ts.map +1 -0
- package/dist/components/booking/booking.d.ts +6 -0
- package/dist/components/booking/booking.d.ts.map +1 -0
- package/dist/components/booking/cascade.d.ts +96 -0
- package/dist/components/booking/cascade.d.ts.map +1 -0
- package/dist/components/booking/details-form.d.ts +32 -0
- package/dist/components/booking/details-form.d.ts.map +1 -0
- package/dist/components/booking/index.d.ts +5 -0
- package/dist/components/booking/index.d.ts.map +1 -0
- package/dist/components/booking/index.js +8 -0
- package/dist/components/button/icon-button.d.ts.map +1 -1
- package/dist/components/button/index.js +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/card/card.d.ts.map +1 -1
- package/dist/components/card/index.js +1 -1
- package/dist/components/carousel/index.js +1 -1
- package/dist/components/chat-input/index.js +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/checkbox/checkbox.d.ts +6 -2
- package/dist/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/command-palette/index.js +1 -1
- package/dist/components/contact-card/index.js +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/description-list/description-list.d.ts.map +1 -1
- package/dist/components/description-list/index.js +1 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/empty-state/empty-state.d.ts.map +1 -1
- package/dist/components/empty-state/index.js +1 -1
- package/dist/components/freemium-paywall/index.js +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/header-settings/index.js +16 -15
- package/dist/components/header-settings/index.js.map +1 -1
- package/dist/components/icon-button/index.js +1 -1
- package/dist/components/index.d.ts +4 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/key-value-pair/index.js +1 -1
- package/dist/components/link/index.js +1 -1
- package/dist/components/link/link.d.ts +7 -0
- package/dist/components/link/link.d.ts.map +1 -1
- package/dist/components/locale-picker/index.js +1 -1
- package/dist/components/map-view/index.js +1 -1
- package/dist/components/matrix-rain/index.js +1 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
- package/dist/components/password-input/index.js +1 -1
- package/dist/components/patient-search/index.d.ts +4 -0
- package/dist/components/patient-search/index.d.ts.map +1 -0
- package/dist/components/patient-search/index.js +6 -0
- package/dist/components/patient-search/index.js.map +1 -0
- package/dist/components/patient-search/patient-search.agent.d.ts +4 -0
- package/dist/components/patient-search/patient-search.agent.d.ts.map +1 -0
- package/dist/components/patient-search/patient-search.d.ts +103 -0
- package/dist/components/patient-search/patient-search.d.ts.map +1 -0
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/popover/index.js +1 -1
- package/dist/components/popover/popover.d.ts.map +1 -1
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/public-footer/index.d.ts +6 -0
- package/dist/components/public-footer/index.d.ts.map +1 -0
- package/dist/components/public-footer/index.js +10 -0
- package/dist/components/public-footer/index.js.map +1 -0
- package/dist/components/public-footer/legal-urls.d.ts +18 -0
- package/dist/components/public-footer/legal-urls.d.ts.map +1 -0
- package/dist/components/public-footer/public-footer.agent.d.ts +4 -0
- package/dist/components/public-footer/public-footer.agent.d.ts.map +1 -0
- package/dist/components/public-footer/public-footer.d.ts +51 -0
- package/dist/components/public-footer/public-footer.d.ts.map +1 -0
- package/dist/components/public-footer/socials.d.ts +9 -0
- package/dist/components/public-footer/socials.d.ts.map +1 -0
- package/dist/components/public-header/index.js +1 -1
- package/dist/components/public-header/public-header.d.ts.map +1 -1
- package/dist/components/recaptcha-widget/index.js +1 -1
- package/dist/components/reviews-panel/index.d.ts +4 -0
- package/dist/components/reviews-panel/index.d.ts.map +1 -0
- package/dist/components/reviews-panel/index.js +6 -0
- package/dist/components/reviews-panel/index.js.map +1 -0
- package/dist/components/reviews-panel/reviews-panel.agent.d.ts +4 -0
- package/dist/components/reviews-panel/reviews-panel.agent.d.ts.map +1 -0
- package/dist/components/reviews-panel/reviews-panel.d.ts +76 -0
- package/dist/components/reviews-panel/reviews-panel.d.ts.map +1 -0
- package/dist/components/search-bar/index.js +1 -1
- package/dist/components/search-input/index.js +1 -1
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
- package/dist/components/slot-grid/index.js +1 -1
- package/dist/components/spinner/index.js +1 -1
- package/dist/components/stepper-accordion/index.js +4 -3
- package/dist/components/stepper-accordion/index.js.map +1 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/timeline/index.js +1 -1
- package/dist/components/toast/index.js +1 -1
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/use-theme.d.ts.map +1 -1
- package/dist/i18n/config.js +4923 -49
- package/dist/i18n/config.js.map +1 -1
- package/dist/i18n/locales/ar.d.ts +272 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/de.d.ts +272 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/el.d.ts +272 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/es.d.ts +272 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/fr.d.ts +272 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/hi.d.ts +272 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/ja.d.ts +272 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/nl.d.ts +272 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.d.ts +272 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pt.d.ts +272 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/ro.d.ts +272 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ru.d.ts +272 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/sq.d.ts +272 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sv.d.ts +272 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/tr.d.ts +272 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/zh.d.ts +272 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/resources.d.ts +544 -0
- package/dist/i18n/resources.d.ts.map +1 -1
- package/dist/index.js +364 -348
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +273 -1
- package/dist/locales/de.json +273 -1
- package/dist/locales/el.json +273 -1
- package/dist/locales/en.json +273 -1
- package/dist/locales/es.json +273 -1
- package/dist/locales/fr.json +273 -1
- package/dist/locales/hi.json +273 -1
- package/dist/locales/it.json +273 -1
- package/dist/locales/ja.json +273 -1
- package/dist/locales/nl.json +273 -1
- package/dist/locales/pl.json +273 -1
- package/dist/locales/pt.json +273 -1
- package/dist/locales/ro.json +273 -1
- package/dist/locales/ru.json +273 -1
- package/dist/locales/sq.json +273 -1
- package/dist/locales/sv.json +273 -1
- package/dist/locales/tr.json +273 -1
- package/dist/locales/zh.json +273 -1
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/patterns/patient-shell/patient-shell.d.ts.map +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +17 -1
- package/dist/_chunks/alia-sidebar-CUi2UCbY.js.map +0 -1
- package/dist/_chunks/avatar-BpFohgWG.js.map +0 -1
- package/dist/_chunks/benefit-card-DXmrAyfn.js.map +0 -1
- package/dist/_chunks/calendar-zy0tUUVG.js.map +0 -1
- package/dist/_chunks/card-C353dU-H.js.map +0 -1
- package/dist/_chunks/description-list-Bsga4IW8.js.map +0 -1
- package/dist/_chunks/empty-state-3CLJIXSj.js.map +0 -1
- package/dist/_chunks/header-DqmKROIY.js.map +0 -1
- package/dist/_chunks/icon-button-C4CGcYuz.js +0 -54
- package/dist/_chunks/icon-button-C4CGcYuz.js.map +0 -1
- package/dist/_chunks/isSameMonth-5wNF2f4I.js +0 -1307
- package/dist/_chunks/isSameMonth-5wNF2f4I.js.map +0 -1
- package/dist/_chunks/link-DmM5IevO.js.map +0 -1
- package/dist/_chunks/locale-picker-BxEUUPW7.js.map +0 -1
- package/dist/_chunks/matrix-rain-CRPMXcVx.js.map +0 -1
- package/dist/_chunks/notification-card-ejOw5g6g.js.map +0 -1
- package/dist/_chunks/notification-tray-D_69dXFY.js.map +0 -1
- package/dist/_chunks/patient-shell-B164drIa.js +0 -173
- package/dist/_chunks/popover--derJ_wq.js.map +0 -1
- package/dist/_chunks/public-header.agent-BQ3r6Hgq.js.map +0 -1
- package/dist/_chunks/react-day-picker-C5F3-TTX.js +0 -1827
- package/dist/_chunks/react-day-picker-C5F3-TTX.js.map +0 -1
- package/dist/_chunks/slot-grid-CgpYgBkW.js +0 -502
- package/dist/_chunks/slot-grid-CgpYgBkW.js.map +0 -1
- package/dist/_chunks/spinner-DirtWZNG.js.map +0 -1
- package/dist/_chunks/stepper-C-sIpRRU.js +0 -7
- package/dist/_chunks/stepper-C-sIpRRU.js.map +0 -1
- package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js +0 -322
- package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js.map +0 -1
- package/dist/_chunks/stepper-calendar-BLOJUE0-.js +0 -648
- package/dist/_chunks/stepper-calendar-BLOJUE0-.js.map +0 -1
- package/dist/_chunks/sun-Eweh5fvi.js.map +0 -1
- package/dist/_chunks/use-password-requirements-C9vKBSVn.js.map +0 -1
- package/dist/_chunks/use-theme-B1cwAXJR.js +0 -145
- package/dist/_chunks/use-theme-B1cwAXJR.js.map +0 -1
- package/dist/components/stepper-calendar/index.d.ts +0 -4
- package/dist/components/stepper-calendar/index.d.ts.map +0 -1
- package/dist/components/stepper-calendar/index.js +0 -6
- package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts +0 -4
- package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts.map +0 -1
- package/dist/components/stepper-calendar/stepper-calendar.d.ts +0 -62
- package/dist/components/stepper-calendar/stepper-calendar.d.ts.map +0 -1
- /package/dist/components/{stepper-calendar → booking}/index.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privacy-lock-BKsI6ReN.js","sources":["../../src/components/privacy-lock/privacy-lock.agent.ts","../../src/components/privacy-lock/privacy-lock.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — PrivacyLock. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { PrivacyLockHandle } from './privacy-lock';\n\nexport const privacyLockAgent: AgentAdapter<PrivacyLockHandle> = {\n id: 'privacy-lock',\n capabilities: ['submit', 'dismiss'],\n state: {\n isLocked: {\n type: 'boolean',\n descriptionKey: 'ui.agent.privacyLock.state.isLocked',\n description: 'True when the privacy overlay is open.',\n read: (handle) => handle.isLocked(),\n },\n },\n actions: {\n lock: {\n safety: 'write',\n descriptionKey: 'ui.agent.privacyLock.actions.lock',\n description: 'Open the privacy overlay.',\n invoke: (handle) => {\n handle.lock();\n },\n },\n unlock: {\n safety: 'write',\n descriptionKey: 'ui.agent.privacyLock.actions.unlock',\n description: 'Close the privacy overlay (consumer-confirmed action).',\n invoke: (handle) => {\n handle.unlock();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'privacy-lock',\n description: 'Marks the PrivacyLock trigger.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","/* -------------------------------------------------------------------- */\n/* PrivacyLock — a one-click \"lock my screen\" dialog for operator */\n/* workstations on shared clinic hardware. Clicking the trigger paints */\n/* a full-viewport privacy overlay (blurred backdrop + centred card); */\n/* the only ways out are the three action buttons the consumer wires. */\n/* */\n/* Composed of one `IconButton` trigger and a Radix Dialog overlay. The */\n/* dialog is intentionally *not* dismissible via Escape or outside-click */\n/* — the whole point is to make the screen unreadable until the user */\n/* takes an explicit action. */\n/* */\n/* See `src/components/privacy-lock/privacy-lock.mdx` for usage. */\n/* -------------------------------------------------------------------- */\n\nimport {\n forwardRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type MouseEvent,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { EyeOff, LogOut, User } from 'lucide-react';\nimport { Button } from '../button';\nimport { IconButton } from '../button/icon-button';\nimport { Logo } from '../logo';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { privacyLockAgent } from './privacy-lock.agent';\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\n/** Curated imperative handle for agent / external automation. */\nexport interface PrivacyLockHandle {\n isLocked: () => boolean;\n lock: () => void;\n unlock: () => void;\n}\n\nexport interface PrivacyLockProps {\n /** Controlled open state. Pair with `onOpenChange`. */\n open?: boolean;\n /** Uncontrolled initial state. Ignored when `open` is provided. */\n defaultOpen?: boolean;\n /** Fires whenever the dialog opens or closes — trigger click, action button, etc. */\n onOpenChange?: (open: boolean) => void;\n\n /** Fires when the \"Unlock screen\" button is activated. Dialog closes automatically. */\n onUnlock?: () => void;\n /** Fires when \"Account page\" is activated. Button is omitted when undefined. Dialog closes automatically. */\n onAccountPage?: () => void;\n /** Fires when \"Log out\" is activated. Button is omitted when undefined. Dialog closes automatically. */\n onSignOut?: () => void;\n\n /** Override the trigger icon. Default: `lucide-react` `<EyeOff />`. */\n triggerIcon?: ReactNode;\n /** Accessible name for the trigger. Default: t('privacyLock.triggerAriaLabel'). */\n triggerAriaLabel?: string;\n /** Tooltip for the trigger. Default: t('privacyLock.triggerTooltip'). */\n triggerTooltip?: string;\n\n /** Accessible title of the dialog (visually hidden). Default: t('privacyLock.title'). */\n title?: string;\n /** Visible supporting text under the action buttons. Default: t('privacyLock.description'). */\n description?: string;\n /** Label for the \"Unlock screen\" button. Default: t('privacyLock.unlock'). */\n unlockLabel?: string;\n /** Label for the \"Account page\" button. Default: t('privacyLock.accountPage'). */\n accountPageLabel?: string;\n /** Label for the \"Log out\" button. Default: t('privacyLock.signOut'). */\n signOutLabel?: string;\n\n /** Extra classes on the trigger `IconButton`. */\n className?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nexport const PrivacyLock = forwardRef<HTMLButtonElement, PrivacyLockProps>(\n (\n {\n open,\n defaultOpen = false,\n onOpenChange,\n onUnlock,\n onAccountPage,\n onSignOut,\n triggerIcon,\n triggerAriaLabel,\n triggerTooltip,\n title,\n description,\n unlockLabel,\n accountPageLabel,\n signOutLabel,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const isControlled = open !== undefined;\n const isOpen = isControlled ? open : uncontrolledOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const latestOpenRef = useRef(isOpen);\n latestOpenRef.current = isOpen;\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n useImperativeHandle(ref, () => triggerRef.current as HTMLButtonElement, []);\n\n const agentHandle = useMemo<PrivacyLockHandle>(\n () => ({\n isLocked: () => latestOpenRef.current,\n lock: () => setOpen(true),\n unlock: () => setOpen(false),\n }),\n [setOpen],\n );\n useAgentRegistration(\n privacyLockAgent,\n agentHandle,\n (rest as { id?: string }).id,\n );\n\n // Every action closes the dialog after firing the consumer's\n // callback. Consumers that need to keep the dialog open (e.g.\n // confirmation step) should control `open` themselves and skip the\n // close on the relevant callback.\n const handleAction = useCallback(\n (callback?: () => void) => (event: MouseEvent<HTMLButtonElement>) => {\n callback?.();\n // Only close if the consumer didn't preventDefault — lets a\n // controlled consumer stop the auto-close for guarded actions.\n if (!event.defaultPrevented) setOpen(false);\n },\n [setOpen],\n );\n\n const resolvedTriggerAriaLabel =\n triggerAriaLabel ??\n t('privacyLock.triggerAriaLabel', 'Lock screen for privacy');\n const resolvedTriggerTooltip =\n triggerTooltip ?? t('privacyLock.triggerTooltip', 'Lock screen');\n const resolvedTitle =\n title ?? t('privacyLock.title', 'Screen locked for privacy');\n const resolvedDescription =\n description ??\n t(\n 'privacyLock.description',\n 'Locking the screen helps protect the privacy of your data.',\n );\n const resolvedUnlockLabel =\n unlockLabel ?? t('privacyLock.unlock', 'Unlock screen');\n const resolvedAccountPageLabel =\n accountPageLabel ?? t('privacyLock.accountPage', 'Account page');\n const resolvedSignOutLabel =\n signOutLabel ?? t('privacyLock.signOut', 'Log out');\n\n return (\n <RadixDialog.Root open={isOpen} onOpenChange={setOpen}>\n <RadixDialog.Trigger asChild>\n <IconButton\n ref={triggerRef}\n icon={triggerIcon ?? <EyeOff aria-hidden />}\n aria-label={resolvedTriggerAriaLabel}\n tooltip={resolvedTriggerTooltip}\n className={className}\n data-component=\"privacy-lock\"\n data-component-id={(rest as { id?: string }).id}\n {...rest}\n />\n </RadixDialog.Trigger>\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n className={[\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]',\n 'ds:bg-[var(--background)]/40 ds:backdrop-blur-xl',\n // Fade-in / fade-out via Radix data-state. Gated on\n // motion-reduce per accessibility requirements.\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out',\n 'ds:motion-reduce:animate-none',\n ].join(' ')}\n />\n <RadixDialog.Content\n aria-label={resolvedTitle}\n // Make the overlay non-dismissible by ambient input. The only\n // way out is an explicit action button — preserving the\n // \"locked\" contract. Screen readers + assistive tech still\n // reach the buttons via Tab.\n onEscapeKeyDown={(event) => event.preventDefault()}\n onPointerDownOutside={(event) => event.preventDefault()}\n onInteractOutside={(event) => event.preventDefault()}\n // Radix's default closes the dialog and returns focus to the\n // trigger (per the WAI-ARIA Dialog pattern). Stacked with\n // Radix Tooltip — which opens on focus per the WAI-ARIA\n // Tooltip pattern — that produces a tooltip stuck on the\n // lock icon every time the user unlocks. PrivacyLock's UX\n // contract is \"unlock and get out of the user's way\" (cf.\n // macOS / Windows / 1Password unlock flows: focus returns to\n // the page, not the unlock control), so we opt out of\n // Radix's auto-focus return and let focus fall to the body.\n onCloseAutoFocus={(event) => event.preventDefault()}\n className={[\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal)]',\n 'ds:flex ds:items-center ds:justify-center',\n 'ds:focus:outline-none',\n 'ds:text-[color:var(--foreground)]',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in',\n 'ds:motion-reduce:animate-none',\n ].join(' ')}\n >\n <div className=\"ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-lg)] ds:w-[min(22rem,calc(100vw-var(--spacing-xl)))] ds:text-center\">\n <Logo size=\"xl\" decorative />\n <RadixDialog.Title className=\"ds:sr-only\">\n {resolvedTitle}\n </RadixDialog.Title>\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:w-full\">\n <Button\n intent=\"primary\"\n startIcon={<EyeOff aria-hidden />}\n onClick={handleAction(onUnlock)}\n >\n {resolvedUnlockLabel}\n </Button>\n {onAccountPage ? (\n <Button\n intent=\"secondary\"\n startIcon={<User aria-hidden />}\n onClick={handleAction(onAccountPage)}\n >\n {resolvedAccountPageLabel}\n </Button>\n ) : null}\n {onSignOut ? (\n <Button\n intent=\"secondary\"\n startIcon={<LogOut aria-hidden />}\n onClick={handleAction(onSignOut)}\n >\n {resolvedSignOutLabel}\n </Button>\n ) : null}\n </div>\n <RadixDialog.Description className=\"type-body-sm ds:opacity-90\">\n {resolvedDescription}\n </RadixDialog.Description>\n </div>\n </RadixDialog.Content>\n </RadixDialog.Portal>\n </RadixDialog.Root>\n );\n },\n);\nPrivacyLock.displayName = 'PrivacyLock';\n"],"names":["privacyLockAgent","handle","PrivacyLock","forwardRef","open","defaultOpen","onOpenChange","onUnlock","onAccountPage","onSignOut","triggerIcon","triggerAriaLabel","triggerTooltip","title","description","unlockLabel","accountPageLabel","signOutLabel","className","rest","ref","t","useTranslation","uncontrolledOpen","setUncontrolledOpen","useState","isControlled","isOpen","setOpen","useCallback","next","latestOpenRef","useRef","triggerRef","useImperativeHandle","agentHandle","useMemo","useAgentRegistration","handleAction","callback","event","resolvedTriggerAriaLabel","resolvedTriggerTooltip","resolvedTitle","resolvedDescription","resolvedUnlockLabel","resolvedAccountPageLabel","resolvedSignOutLabel","RadixDialog","jsx","IconButton","EyeOff","jsxs","Logo","Button","User","LogOut"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"privacy-lock-BI4vi9Ud.js","sources":["../../src/components/privacy-lock/privacy-lock.agent.ts","../../src/components/privacy-lock/privacy-lock.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — PrivacyLock. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { PrivacyLockHandle } from './privacy-lock';\n\nexport const privacyLockAgent: AgentAdapter<PrivacyLockHandle> = {\n id: 'privacy-lock',\n capabilities: ['submit', 'dismiss'],\n state: {\n isLocked: {\n type: 'boolean',\n descriptionKey: 'ui.agent.privacyLock.state.isLocked',\n description: 'True when the privacy overlay is open.',\n read: (handle) => handle.isLocked(),\n },\n },\n actions: {\n lock: {\n safety: 'write',\n descriptionKey: 'ui.agent.privacyLock.actions.lock',\n description: 'Open the privacy overlay.',\n invoke: (handle) => {\n handle.lock();\n },\n },\n unlock: {\n safety: 'write',\n descriptionKey: 'ui.agent.privacyLock.actions.unlock',\n description: 'Close the privacy overlay (consumer-confirmed action).',\n invoke: (handle) => {\n handle.unlock();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'privacy-lock',\n description: 'Marks the PrivacyLock trigger.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","/* -------------------------------------------------------------------- */\n/* PrivacyLock — a one-click \"lock my screen\" dialog for operator */\n/* workstations on shared clinic hardware. Clicking the trigger paints */\n/* a full-viewport privacy overlay (blurred backdrop + centred card); */\n/* the only ways out are the three action buttons the consumer wires. */\n/* */\n/* Composed of one `IconButton` trigger and a Radix Dialog overlay. The */\n/* dialog is intentionally *not* dismissible via Escape or outside-click */\n/* — the whole point is to make the screen unreadable until the user */\n/* takes an explicit action. */\n/* */\n/* See `src/components/privacy-lock/privacy-lock.mdx` for usage. */\n/* -------------------------------------------------------------------- */\n\nimport {\n forwardRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type MouseEvent,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { EyeOff, LogOut, User } from 'lucide-react';\nimport { Button } from '../button';\nimport { IconButton } from '../button/icon-button';\nimport { Logo } from '../logo';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { privacyLockAgent } from './privacy-lock.agent';\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\n/** Curated imperative handle for agent / external automation. */\nexport interface PrivacyLockHandle {\n isLocked: () => boolean;\n lock: () => void;\n unlock: () => void;\n}\n\nexport interface PrivacyLockProps {\n /** Controlled open state. Pair with `onOpenChange`. */\n open?: boolean;\n /** Uncontrolled initial state. Ignored when `open` is provided. */\n defaultOpen?: boolean;\n /** Fires whenever the dialog opens or closes — trigger click, action button, etc. */\n onOpenChange?: (open: boolean) => void;\n\n /** Fires when the \"Unlock screen\" button is activated. Dialog closes automatically. */\n onUnlock?: () => void;\n /** Fires when \"Account page\" is activated. Button is omitted when undefined. Dialog closes automatically. */\n onAccountPage?: () => void;\n /** Fires when \"Log out\" is activated. Button is omitted when undefined. Dialog closes automatically. */\n onSignOut?: () => void;\n\n /** Override the trigger icon. Default: `lucide-react` `<EyeOff />`. */\n triggerIcon?: ReactNode;\n /** Accessible name for the trigger. Default: t('privacyLock.triggerAriaLabel'). */\n triggerAriaLabel?: string;\n /** Tooltip for the trigger. Default: t('privacyLock.triggerTooltip'). */\n triggerTooltip?: string;\n\n /** Accessible title of the dialog (visually hidden). Default: t('privacyLock.title'). */\n title?: string;\n /** Visible supporting text under the action buttons. Default: t('privacyLock.description'). */\n description?: string;\n /** Label for the \"Unlock screen\" button. Default: t('privacyLock.unlock'). */\n unlockLabel?: string;\n /** Label for the \"Account page\" button. Default: t('privacyLock.accountPage'). */\n accountPageLabel?: string;\n /** Label for the \"Log out\" button. Default: t('privacyLock.signOut'). */\n signOutLabel?: string;\n\n /** Extra classes on the trigger `IconButton`. */\n className?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nexport const PrivacyLock = forwardRef<HTMLButtonElement, PrivacyLockProps>(\n (\n {\n open,\n defaultOpen = false,\n onOpenChange,\n onUnlock,\n onAccountPage,\n onSignOut,\n triggerIcon,\n triggerAriaLabel,\n triggerTooltip,\n title,\n description,\n unlockLabel,\n accountPageLabel,\n signOutLabel,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const isControlled = open !== undefined;\n const isOpen = isControlled ? open : uncontrolledOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const latestOpenRef = useRef(isOpen);\n latestOpenRef.current = isOpen;\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n useImperativeHandle(ref, () => triggerRef.current as HTMLButtonElement, []);\n\n const agentHandle = useMemo<PrivacyLockHandle>(\n () => ({\n isLocked: () => latestOpenRef.current,\n lock: () => setOpen(true),\n unlock: () => setOpen(false),\n }),\n [setOpen],\n );\n useAgentRegistration(\n privacyLockAgent,\n agentHandle,\n (rest as { id?: string }).id,\n );\n\n // Every action closes the dialog after firing the consumer's\n // callback. Consumers that need to keep the dialog open (e.g.\n // confirmation step) should control `open` themselves and skip the\n // close on the relevant callback.\n const handleAction = useCallback(\n (callback?: () => void) => (event: MouseEvent<HTMLButtonElement>) => {\n callback?.();\n // Only close if the consumer didn't preventDefault — lets a\n // controlled consumer stop the auto-close for guarded actions.\n if (!event.defaultPrevented) setOpen(false);\n },\n [setOpen],\n );\n\n const resolvedTriggerAriaLabel =\n triggerAriaLabel ??\n t('privacyLock.triggerAriaLabel', 'Lock screen for privacy');\n const resolvedTriggerTooltip =\n triggerTooltip ?? t('privacyLock.triggerTooltip', 'Lock screen');\n const resolvedTitle =\n title ?? t('privacyLock.title', 'Screen locked for privacy');\n const resolvedDescription =\n description ??\n t(\n 'privacyLock.description',\n 'Locking the screen helps protect the privacy of your data.',\n );\n const resolvedUnlockLabel =\n unlockLabel ?? t('privacyLock.unlock', 'Unlock screen');\n const resolvedAccountPageLabel =\n accountPageLabel ?? t('privacyLock.accountPage', 'Account page');\n const resolvedSignOutLabel =\n signOutLabel ?? t('privacyLock.signOut', 'Log out');\n\n return (\n <RadixDialog.Root open={isOpen} onOpenChange={setOpen}>\n <RadixDialog.Trigger asChild>\n <IconButton\n ref={triggerRef}\n icon={triggerIcon ?? <EyeOff aria-hidden />}\n aria-label={resolvedTriggerAriaLabel}\n tooltip={resolvedTriggerTooltip}\n className={className}\n data-component=\"privacy-lock\"\n data-component-id={(rest as { id?: string }).id}\n {...rest}\n />\n </RadixDialog.Trigger>\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n className={[\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]',\n 'ds:bg-[var(--background)]/40 ds:backdrop-blur-xl',\n // Fade-in / fade-out via Radix data-state. Gated on\n // motion-reduce per accessibility requirements.\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out',\n 'ds:motion-reduce:animate-none',\n ].join(' ')}\n />\n <RadixDialog.Content\n aria-label={resolvedTitle}\n // Make the overlay non-dismissible by ambient input. The only\n // way out is an explicit action button — preserving the\n // \"locked\" contract. Screen readers + assistive tech still\n // reach the buttons via Tab.\n onEscapeKeyDown={(event) => event.preventDefault()}\n onPointerDownOutside={(event) => event.preventDefault()}\n onInteractOutside={(event) => event.preventDefault()}\n // Radix's default closes the dialog and returns focus to the\n // trigger (per the WAI-ARIA Dialog pattern). Stacked with\n // Radix Tooltip — which opens on focus per the WAI-ARIA\n // Tooltip pattern — that produces a tooltip stuck on the\n // lock icon every time the user unlocks. PrivacyLock's UX\n // contract is \"unlock and get out of the user's way\" (cf.\n // macOS / Windows / 1Password unlock flows: focus returns to\n // the page, not the unlock control), so we opt out of\n // Radix's auto-focus return and let focus fall to the body.\n onCloseAutoFocus={(event) => event.preventDefault()}\n className={[\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal)]',\n 'ds:flex ds:items-center ds:justify-center',\n 'ds:focus:outline-none',\n 'ds:text-[color:var(--foreground)]',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in',\n 'ds:motion-reduce:animate-none',\n ].join(' ')}\n >\n <div className=\"ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-lg)] ds:w-[min(22rem,calc(100vw-var(--spacing-xl)))] ds:text-center\">\n <Logo size=\"xl\" decorative />\n <RadixDialog.Title className=\"ds:sr-only\">\n {resolvedTitle}\n </RadixDialog.Title>\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:w-full\">\n <Button\n intent=\"primary\"\n startIcon={<EyeOff aria-hidden />}\n onClick={handleAction(onUnlock)}\n >\n {resolvedUnlockLabel}\n </Button>\n {onAccountPage ? (\n <Button\n intent=\"secondary\"\n startIcon={<User aria-hidden />}\n onClick={handleAction(onAccountPage)}\n >\n {resolvedAccountPageLabel}\n </Button>\n ) : null}\n {onSignOut ? (\n <Button\n intent=\"secondary\"\n startIcon={<LogOut aria-hidden />}\n onClick={handleAction(onSignOut)}\n >\n {resolvedSignOutLabel}\n </Button>\n ) : null}\n </div>\n <RadixDialog.Description className=\"type-body-sm ds:opacity-90\">\n {resolvedDescription}\n </RadixDialog.Description>\n </div>\n </RadixDialog.Content>\n </RadixDialog.Portal>\n </RadixDialog.Root>\n );\n },\n);\nPrivacyLock.displayName = 'PrivacyLock';\n"],"names":["privacyLockAgent","handle","PrivacyLock","forwardRef","open","defaultOpen","onOpenChange","onUnlock","onAccountPage","onSignOut","triggerIcon","triggerAriaLabel","triggerTooltip","title","description","unlockLabel","accountPageLabel","signOutLabel","className","rest","ref","t","useTranslation","uncontrolledOpen","setUncontrolledOpen","useState","isControlled","isOpen","setOpen","useCallback","next","latestOpenRef","useRef","triggerRef","useImperativeHandle","agentHandle","useMemo","useAgentRegistration","handleAction","callback","event","resolvedTriggerAriaLabel","resolvedTriggerTooltip","resolvedTitle","resolvedDescription","resolvedUnlockLabel","resolvedAccountPageLabel","resolvedSignOutLabel","RadixDialog","jsx","IconButton","EyeOff","jsxs","Logo","Button","User","LogOut"],"mappings":"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"}
|
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
import { jsx as e, jsxs as i, Fragment as I } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as S, useMemo as $, useImperativeHandle as j } from "react";
|
|
3
|
+
import { c as E } from "./index-D2ZczOXr.js";
|
|
4
|
+
import { useTranslation as V } from "react-i18next";
|
|
5
|
+
import { L as d } from "./link-DrD_cRUg.js";
|
|
6
|
+
import { S as f } from "./separator-CYU_bGFn.js";
|
|
7
|
+
import { L as _ } from "./logo-_Z-jLq80.js";
|
|
8
|
+
import { A as H, b as P, c as R, a as D } from "./accordion-CNcodXuO.js";
|
|
9
|
+
const z = "https://www.alfadocs.com", A = {
|
|
10
|
+
privacy: "/privacy-prenotazione-online",
|
|
11
|
+
terms: "/it/condizioni-di-utilizzo",
|
|
12
|
+
contacts: "/it/contattaci"
|
|
13
|
+
}, G = {
|
|
14
|
+
it: A,
|
|
15
|
+
en: {
|
|
16
|
+
privacy: "/en/privacy",
|
|
17
|
+
terms: "/en/terms-of-use",
|
|
18
|
+
contacts: "/en/contact-us"
|
|
19
|
+
},
|
|
20
|
+
de: {
|
|
21
|
+
privacy: "/de/datenschutz",
|
|
22
|
+
terms: "/de/nutzungsbedingungen",
|
|
23
|
+
contacts: "/de/kontakt"
|
|
24
|
+
},
|
|
25
|
+
fr: {
|
|
26
|
+
privacy: "/fr/confidentialite",
|
|
27
|
+
terms: "/fr/conditions-utilisation",
|
|
28
|
+
contacts: "/fr/contact"
|
|
29
|
+
},
|
|
30
|
+
es: {
|
|
31
|
+
privacy: "/es/privacidad",
|
|
32
|
+
terms: "/es/condiciones-uso",
|
|
33
|
+
contacts: "/es/contacto"
|
|
34
|
+
}
|
|
35
|
+
}, U = "https://";
|
|
36
|
+
function O(a) {
|
|
37
|
+
return !a || !a.startsWith(U) ? z : a.replace(/\/+$/, "");
|
|
38
|
+
}
|
|
39
|
+
function N(a, t, s) {
|
|
40
|
+
var m, p;
|
|
41
|
+
const n = (m = s == null ? void 0 : s[t]) == null ? void 0 : m[a];
|
|
42
|
+
if (n) return n;
|
|
43
|
+
const r = (p = G[a]) == null ? void 0 : p[t];
|
|
44
|
+
return r || A[t];
|
|
45
|
+
}
|
|
46
|
+
function Y(a, t, s) {
|
|
47
|
+
const n = O(t), r = (a || "it").split("-")[0];
|
|
48
|
+
return {
|
|
49
|
+
privacy: `${n}${N(r, "privacy", s)}`,
|
|
50
|
+
terms: `${n}${N(r, "terms", s)}`,
|
|
51
|
+
contacts: `${n}${N(r, "contacts", s)}`
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const B = [
|
|
55
|
+
"linkedin",
|
|
56
|
+
"youtube",
|
|
57
|
+
"instagram",
|
|
58
|
+
"facebook"
|
|
59
|
+
], K = {
|
|
60
|
+
linkedin: "https://www.linkedin.com/company/alfadocs",
|
|
61
|
+
youtube: "https://www.youtube.com/@alfadocs",
|
|
62
|
+
instagram: "https://www.instagram.com/alfadocs",
|
|
63
|
+
facebook: "https://www.facebook.com/alfadocs"
|
|
64
|
+
}, x = {
|
|
65
|
+
viewBox: "0 0 24 24",
|
|
66
|
+
fill: "currentColor",
|
|
67
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
68
|
+
}, W = (a) => /* @__PURE__ */ e("svg", { ...x, ...a, children: /* @__PURE__ */ e("path", { d: "M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.063 2.063 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" }) }), X = (a) => /* @__PURE__ */ e("svg", { ...x, ...a, children: /* @__PURE__ */ e("path", { d: "M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" }) }), q = (a) => /* @__PURE__ */ e("svg", { ...x, ...a, children: /* @__PURE__ */ e("path", { d: "M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881z" }) }), J = (a) => /* @__PURE__ */ e("svg", { ...x, ...a, children: /* @__PURE__ */ e("path", { d: "M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z" }) }), Q = {
|
|
69
|
+
linkedin: W,
|
|
70
|
+
youtube: X,
|
|
71
|
+
instagram: q,
|
|
72
|
+
facebook: J
|
|
73
|
+
}, Z = "AlfaDocs GmbH", ee = "P.IVA DE301955405", ae = E(
|
|
74
|
+
[
|
|
75
|
+
"ds:w-full",
|
|
76
|
+
"ds:text-[color:var(--muted-foreground)]",
|
|
77
|
+
"ds:text-[length:var(--font-size-sm)]",
|
|
78
|
+
"ds:bg-[var(--background)]"
|
|
79
|
+
].join(" "),
|
|
80
|
+
{
|
|
81
|
+
variants: {
|
|
82
|
+
variant: {
|
|
83
|
+
minimal: [
|
|
84
|
+
"ds:py-[var(--spacing-sm)]",
|
|
85
|
+
"ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
|
|
86
|
+
"ds:border-block-start ds:border-[var(--border)]"
|
|
87
|
+
].join(" "),
|
|
88
|
+
compact: [
|
|
89
|
+
"ds:py-[var(--spacing-md)]",
|
|
90
|
+
"ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
|
|
91
|
+
"ds:border-block-start ds:border-[var(--border)]"
|
|
92
|
+
].join(" "),
|
|
93
|
+
full: [
|
|
94
|
+
"ds:py-[var(--spacing-xl)]",
|
|
95
|
+
"ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)]",
|
|
96
|
+
"ds:bg-[var(--muted)]"
|
|
97
|
+
].join(" ")
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
defaultVariants: { variant: "compact" }
|
|
101
|
+
}
|
|
102
|
+
), te = /^(https?:\/\/|mailto:|tel:|\/(?!\/))/i;
|
|
103
|
+
function k(a) {
|
|
104
|
+
return te.test(a) ? a : "#";
|
|
105
|
+
}
|
|
106
|
+
function L({
|
|
107
|
+
copyright: a,
|
|
108
|
+
align: t = "center"
|
|
109
|
+
}) {
|
|
110
|
+
return /* @__PURE__ */ e(
|
|
111
|
+
"p",
|
|
112
|
+
{
|
|
113
|
+
className: [
|
|
114
|
+
"ds:m-0 ds:text-[color:var(--muted-foreground)]",
|
|
115
|
+
"ds:text-[length:var(--font-size-sm)]",
|
|
116
|
+
t === "center" ? "ds:text-center" : "ds:text-start"
|
|
117
|
+
].join(" "),
|
|
118
|
+
children: a
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
const se = S(
|
|
123
|
+
function({
|
|
124
|
+
variant: t,
|
|
125
|
+
marketingBaseUrl: s,
|
|
126
|
+
legalUrlOverrides: n,
|
|
127
|
+
linkGroups: r,
|
|
128
|
+
socials: m,
|
|
129
|
+
logoSlot: p,
|
|
130
|
+
extraNavSlot: h,
|
|
131
|
+
trustBadgesSlot: v,
|
|
132
|
+
id: g,
|
|
133
|
+
"aria-label": b
|
|
134
|
+
}, c) {
|
|
135
|
+
const { t: o, i18n: l } = V("ui"), u = $(
|
|
136
|
+
() => Y(l.language, s, n),
|
|
137
|
+
[l.language, s, n]
|
|
138
|
+
);
|
|
139
|
+
j(
|
|
140
|
+
c,
|
|
141
|
+
() => ({
|
|
142
|
+
getVariant: () => t,
|
|
143
|
+
getLegalUrls: () => u
|
|
144
|
+
}),
|
|
145
|
+
[t, u]
|
|
146
|
+
);
|
|
147
|
+
const C = (/* @__PURE__ */ new Date()).getFullYear(), y = o("footer.copyright", {
|
|
148
|
+
year: C,
|
|
149
|
+
entity: Z,
|
|
150
|
+
vat: ee
|
|
151
|
+
}), F = b ?? o("footer.nav.label"), w = {
|
|
152
|
+
privacy: o("footer.nav.privacy"),
|
|
153
|
+
terms: o("footer.nav.terms"),
|
|
154
|
+
contacts: o("footer.nav.contacts")
|
|
155
|
+
}, T = $(() => m !== void 0 ? m : B.map((M) => ({ network: M })), [m]);
|
|
156
|
+
return /* @__PURE__ */ i(
|
|
157
|
+
"footer",
|
|
158
|
+
{
|
|
159
|
+
id: g,
|
|
160
|
+
role: "contentinfo",
|
|
161
|
+
"aria-label": F,
|
|
162
|
+
"data-component": "public-footer",
|
|
163
|
+
"data-variant": t,
|
|
164
|
+
className: ae({ variant: t }),
|
|
165
|
+
children: [
|
|
166
|
+
t === "minimal" && /* @__PURE__ */ e(
|
|
167
|
+
ne,
|
|
168
|
+
{
|
|
169
|
+
legalUrls: u,
|
|
170
|
+
labels: w,
|
|
171
|
+
copyright: y,
|
|
172
|
+
trustBadgesSlot: v
|
|
173
|
+
}
|
|
174
|
+
),
|
|
175
|
+
t === "compact" && /* @__PURE__ */ e(
|
|
176
|
+
re,
|
|
177
|
+
{
|
|
178
|
+
legalUrls: u,
|
|
179
|
+
labels: w,
|
|
180
|
+
copyright: y,
|
|
181
|
+
extraNavSlot: h
|
|
182
|
+
}
|
|
183
|
+
),
|
|
184
|
+
t === "full" && /* @__PURE__ */ e(
|
|
185
|
+
ie,
|
|
186
|
+
{
|
|
187
|
+
legalUrls: u,
|
|
188
|
+
labels: w,
|
|
189
|
+
copyright: y,
|
|
190
|
+
linkGroups: r,
|
|
191
|
+
socials: T,
|
|
192
|
+
logoSlot: p,
|
|
193
|
+
extraNavSlot: h,
|
|
194
|
+
trustBadgesSlot: v,
|
|
195
|
+
t: o
|
|
196
|
+
}
|
|
197
|
+
)
|
|
198
|
+
]
|
|
199
|
+
}
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
);
|
|
203
|
+
function ne({
|
|
204
|
+
legalUrls: a,
|
|
205
|
+
labels: t,
|
|
206
|
+
copyright: s,
|
|
207
|
+
trustBadgesSlot: n
|
|
208
|
+
}) {
|
|
209
|
+
return /* @__PURE__ */ i("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-center ds:gap-x-[var(--spacing-sm)] ds:gap-y-[var(--spacing-sm)]", children: [
|
|
210
|
+
n && /* @__PURE__ */ e(
|
|
211
|
+
"span",
|
|
212
|
+
{
|
|
213
|
+
"data-slot": "trust-badges",
|
|
214
|
+
className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)] ds:me-[var(--spacing-sm)]",
|
|
215
|
+
children: n
|
|
216
|
+
}
|
|
217
|
+
),
|
|
218
|
+
/* @__PURE__ */ e(
|
|
219
|
+
d,
|
|
220
|
+
{
|
|
221
|
+
href: a.privacy,
|
|
222
|
+
external: !0,
|
|
223
|
+
externalIcon: !1,
|
|
224
|
+
intent: "subtle",
|
|
225
|
+
children: t.privacy
|
|
226
|
+
}
|
|
227
|
+
),
|
|
228
|
+
/* @__PURE__ */ e(f, { orientation: "vertical", className: "ds:h-4" }),
|
|
229
|
+
/* @__PURE__ */ e(
|
|
230
|
+
d,
|
|
231
|
+
{
|
|
232
|
+
href: a.terms,
|
|
233
|
+
external: !0,
|
|
234
|
+
externalIcon: !1,
|
|
235
|
+
intent: "subtle",
|
|
236
|
+
children: t.terms
|
|
237
|
+
}
|
|
238
|
+
),
|
|
239
|
+
/* @__PURE__ */ e(f, { orientation: "vertical", className: "ds:h-4" }),
|
|
240
|
+
/* @__PURE__ */ e("span", { children: s })
|
|
241
|
+
] });
|
|
242
|
+
}
|
|
243
|
+
function re({
|
|
244
|
+
legalUrls: a,
|
|
245
|
+
labels: t,
|
|
246
|
+
copyright: s,
|
|
247
|
+
extraNavSlot: n
|
|
248
|
+
}) {
|
|
249
|
+
return /* @__PURE__ */ i("div", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-sm)]", children: [
|
|
250
|
+
/* @__PURE__ */ i("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-center ds:gap-x-[var(--spacing-sm)] ds:gap-y-[var(--spacing-sm)]", children: [
|
|
251
|
+
/* @__PURE__ */ e(
|
|
252
|
+
d,
|
|
253
|
+
{
|
|
254
|
+
href: a.privacy,
|
|
255
|
+
external: !0,
|
|
256
|
+
externalIcon: !1,
|
|
257
|
+
intent: "subtle",
|
|
258
|
+
children: t.privacy
|
|
259
|
+
}
|
|
260
|
+
),
|
|
261
|
+
/* @__PURE__ */ e(f, { orientation: "vertical", className: "ds:h-4" }),
|
|
262
|
+
/* @__PURE__ */ e(
|
|
263
|
+
d,
|
|
264
|
+
{
|
|
265
|
+
href: a.terms,
|
|
266
|
+
external: !0,
|
|
267
|
+
externalIcon: !1,
|
|
268
|
+
intent: "subtle",
|
|
269
|
+
children: t.terms
|
|
270
|
+
}
|
|
271
|
+
),
|
|
272
|
+
/* @__PURE__ */ e(f, { orientation: "vertical", className: "ds:h-4" }),
|
|
273
|
+
/* @__PURE__ */ e(
|
|
274
|
+
d,
|
|
275
|
+
{
|
|
276
|
+
href: a.contacts,
|
|
277
|
+
external: !0,
|
|
278
|
+
externalIcon: !1,
|
|
279
|
+
intent: "subtle",
|
|
280
|
+
children: t.contacts
|
|
281
|
+
}
|
|
282
|
+
),
|
|
283
|
+
n && /* @__PURE__ */ i(I, { children: [
|
|
284
|
+
/* @__PURE__ */ e(f, { orientation: "vertical", className: "ds:h-4" }),
|
|
285
|
+
/* @__PURE__ */ e("span", { "data-slot": "extra-nav", children: n })
|
|
286
|
+
] })
|
|
287
|
+
] }),
|
|
288
|
+
/* @__PURE__ */ e(L, { copyright: s })
|
|
289
|
+
] });
|
|
290
|
+
}
|
|
291
|
+
function ce(a, t) {
|
|
292
|
+
return {
|
|
293
|
+
key: "legal",
|
|
294
|
+
links: [
|
|
295
|
+
{ href: a.privacy, label: t.privacy, external: !0 },
|
|
296
|
+
{ href: a.terms, label: t.terms, external: !0 },
|
|
297
|
+
{ href: a.contacts, label: t.contacts, external: !0 }
|
|
298
|
+
]
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
function ie({
|
|
302
|
+
legalUrls: a,
|
|
303
|
+
labels: t,
|
|
304
|
+
copyright: s,
|
|
305
|
+
linkGroups: n,
|
|
306
|
+
socials: r,
|
|
307
|
+
logoSlot: m,
|
|
308
|
+
extraNavSlot: p,
|
|
309
|
+
trustBadgesSlot: h,
|
|
310
|
+
t: v
|
|
311
|
+
}) {
|
|
312
|
+
const g = [
|
|
313
|
+
...n ?? [],
|
|
314
|
+
ce(a, t)
|
|
315
|
+
], b = /* @__PURE__ */ i(
|
|
316
|
+
"div",
|
|
317
|
+
{
|
|
318
|
+
"data-slot": "brand",
|
|
319
|
+
className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
|
|
320
|
+
children: [
|
|
321
|
+
/* @__PURE__ */ e("div", { className: "ds:inline-flex", children: m ?? /* @__PURE__ */ e(_, { variant: "wordmark", tone: "auto", "aria-label": "AlfaDocs" }) }),
|
|
322
|
+
r.length > 0 && /* @__PURE__ */ e(
|
|
323
|
+
"ul",
|
|
324
|
+
{
|
|
325
|
+
"data-slot": "socials",
|
|
326
|
+
className: "ds:list-none ds:m-0 ds:p-0 ds:flex ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
327
|
+
children: r.map((c) => {
|
|
328
|
+
const o = Q[c.network], l = c.href ?? K[c.network], u = v(`footer.social.aria.${c.network}`);
|
|
329
|
+
return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
330
|
+
d,
|
|
331
|
+
{
|
|
332
|
+
href: k(l),
|
|
333
|
+
external: !0,
|
|
334
|
+
externalIcon: !1,
|
|
335
|
+
intent: "subtle",
|
|
336
|
+
"aria-label": u,
|
|
337
|
+
className: "ds:inline-flex ds:items-center ds:justify-center ds:min-w-[var(--min-target-size)] ds:min-h-[var(--min-target-size)]",
|
|
338
|
+
children: /* @__PURE__ */ e(
|
|
339
|
+
o,
|
|
340
|
+
{
|
|
341
|
+
"aria-hidden": "true",
|
|
342
|
+
className: "ds:size-5",
|
|
343
|
+
focusable: "false"
|
|
344
|
+
}
|
|
345
|
+
)
|
|
346
|
+
}
|
|
347
|
+
) }, c.network);
|
|
348
|
+
})
|
|
349
|
+
}
|
|
350
|
+
)
|
|
351
|
+
]
|
|
352
|
+
}
|
|
353
|
+
);
|
|
354
|
+
return /* @__PURE__ */ i("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xl)]", children: [
|
|
355
|
+
/* @__PURE__ */ i("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xl)] ds:lg:flex-row ds:lg:items-start ds:lg:gap-[var(--spacing-xl)]", children: [
|
|
356
|
+
/* @__PURE__ */ e("div", { className: "ds:lg:w-[15rem] ds:lg:shrink-0", children: b }),
|
|
357
|
+
/* @__PURE__ */ i("div", { className: "ds:flex-1 ds:min-w-0", children: [
|
|
358
|
+
/* @__PURE__ */ e(
|
|
359
|
+
"div",
|
|
360
|
+
{
|
|
361
|
+
className: "ds:hidden ds:md:grid ds:md:grid-cols-2 ds:lg:grid-cols-4 ds:gap-[var(--spacing-lg)]",
|
|
362
|
+
"data-slot": "link-columns-grid",
|
|
363
|
+
"data-columns": g.length,
|
|
364
|
+
children: /* @__PURE__ */ e(oe, { columns: g, t: v })
|
|
365
|
+
}
|
|
366
|
+
),
|
|
367
|
+
/* @__PURE__ */ e("div", { className: "ds:md:hidden", "data-slot": "link-columns-accordion", children: /* @__PURE__ */ e(H, { type: "multiple", children: g.map((c, o) => /* @__PURE__ */ i(
|
|
368
|
+
P,
|
|
369
|
+
{
|
|
370
|
+
value: `${o}-${c.key}`,
|
|
371
|
+
children: [
|
|
372
|
+
/* @__PURE__ */ e(R, { children: v(`footer.group.${c.key}`, {
|
|
373
|
+
defaultValue: c.key
|
|
374
|
+
}) }),
|
|
375
|
+
/* @__PURE__ */ e(D, { children: /* @__PURE__ */ e("ul", { className: "ds:list-none ds:m-0 ds:p-0 ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: c.links.map((l) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
376
|
+
d,
|
|
377
|
+
{
|
|
378
|
+
href: k(l.href),
|
|
379
|
+
external: l.external,
|
|
380
|
+
externalIcon: !1,
|
|
381
|
+
intent: "subtle",
|
|
382
|
+
children: l.label
|
|
383
|
+
}
|
|
384
|
+
) }, `${c.key}-${l.href}-${l.label}`)) }) })
|
|
385
|
+
]
|
|
386
|
+
},
|
|
387
|
+
`${o}-${c.key}`
|
|
388
|
+
)) }) })
|
|
389
|
+
] })
|
|
390
|
+
] }),
|
|
391
|
+
/* @__PURE__ */ e(f, { orientation: "horizontal" }),
|
|
392
|
+
/* @__PURE__ */ i("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:sm:flex-row ds:sm:items-center ds:sm:justify-between", children: [
|
|
393
|
+
/* @__PURE__ */ e(L, { copyright: s, align: "start" }),
|
|
394
|
+
/* @__PURE__ */ i(
|
|
395
|
+
"div",
|
|
396
|
+
{
|
|
397
|
+
"data-slot": "bottom-legal",
|
|
398
|
+
className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)] ds:sm:justify-end",
|
|
399
|
+
children: [
|
|
400
|
+
/* @__PURE__ */ e(
|
|
401
|
+
d,
|
|
402
|
+
{
|
|
403
|
+
href: a.privacy,
|
|
404
|
+
external: !0,
|
|
405
|
+
externalIcon: !1,
|
|
406
|
+
intent: "subtle",
|
|
407
|
+
children: t.privacy
|
|
408
|
+
}
|
|
409
|
+
),
|
|
410
|
+
/* @__PURE__ */ e(f, { orientation: "vertical", className: "ds:h-4" }),
|
|
411
|
+
/* @__PURE__ */ e(
|
|
412
|
+
d,
|
|
413
|
+
{
|
|
414
|
+
href: a.terms,
|
|
415
|
+
external: !0,
|
|
416
|
+
externalIcon: !1,
|
|
417
|
+
intent: "subtle",
|
|
418
|
+
children: t.terms
|
|
419
|
+
}
|
|
420
|
+
),
|
|
421
|
+
(h || p) && /* @__PURE__ */ i(I, { children: [
|
|
422
|
+
/* @__PURE__ */ e(f, { orientation: "vertical", className: "ds:h-4" }),
|
|
423
|
+
h && /* @__PURE__ */ e(
|
|
424
|
+
"span",
|
|
425
|
+
{
|
|
426
|
+
"data-slot": "trust-badges",
|
|
427
|
+
className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]",
|
|
428
|
+
children: h
|
|
429
|
+
}
|
|
430
|
+
),
|
|
431
|
+
p && /* @__PURE__ */ e(
|
|
432
|
+
"span",
|
|
433
|
+
{
|
|
434
|
+
"data-slot": "extra-nav",
|
|
435
|
+
className: "ds:inline-flex ds:items-center",
|
|
436
|
+
children: p
|
|
437
|
+
}
|
|
438
|
+
)
|
|
439
|
+
] })
|
|
440
|
+
]
|
|
441
|
+
}
|
|
442
|
+
)
|
|
443
|
+
] })
|
|
444
|
+
] });
|
|
445
|
+
}
|
|
446
|
+
function oe({
|
|
447
|
+
columns: a,
|
|
448
|
+
t
|
|
449
|
+
}) {
|
|
450
|
+
return /* @__PURE__ */ e(I, { children: a.map((s, n) => /* @__PURE__ */ i(
|
|
451
|
+
"section",
|
|
452
|
+
{
|
|
453
|
+
"aria-labelledby": `public-footer-group-${n}-${s.key}`,
|
|
454
|
+
children: [
|
|
455
|
+
/* @__PURE__ */ e(
|
|
456
|
+
"h3",
|
|
457
|
+
{
|
|
458
|
+
id: `public-footer-group-${n}-${s.key}`,
|
|
459
|
+
className: "ds:m-0 ds:mb-[var(--spacing-sm)] ds:text-[color:var(--foreground)] ds:text-[length:var(--font-size-sm)] ds:font-medium",
|
|
460
|
+
children: t(`footer.group.${s.key}`, { defaultValue: s.key })
|
|
461
|
+
}
|
|
462
|
+
),
|
|
463
|
+
/* @__PURE__ */ e("ul", { className: "ds:list-none ds:m-0 ds:p-0 ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: s.links.map((r) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
464
|
+
d,
|
|
465
|
+
{
|
|
466
|
+
href: k(r.href),
|
|
467
|
+
external: r.external,
|
|
468
|
+
externalIcon: !1,
|
|
469
|
+
intent: "subtle",
|
|
470
|
+
children: r.label
|
|
471
|
+
}
|
|
472
|
+
) }, `${s.key}-${r.href}-${r.label}`)) })
|
|
473
|
+
]
|
|
474
|
+
},
|
|
475
|
+
`${n}-${s.key}`
|
|
476
|
+
)) });
|
|
477
|
+
}
|
|
478
|
+
se.displayName = "PublicFooter";
|
|
479
|
+
const ge = {
|
|
480
|
+
id: "public-footer",
|
|
481
|
+
capabilities: ["navigate"],
|
|
482
|
+
state: {
|
|
483
|
+
variant: {
|
|
484
|
+
type: "string",
|
|
485
|
+
description: "Active variant — one of `minimal`, `compact`, `full`.",
|
|
486
|
+
read: (a) => a.getVariant()
|
|
487
|
+
},
|
|
488
|
+
legalUrls: {
|
|
489
|
+
type: "object",
|
|
490
|
+
description: "Resolved legal URLs for the active locale + marketingBaseUrl + overrides: `{ privacy, terms, contacts }`.",
|
|
491
|
+
read: (a) => a.getLegalUrls()
|
|
492
|
+
}
|
|
493
|
+
},
|
|
494
|
+
actions: {},
|
|
495
|
+
domHooks: {
|
|
496
|
+
root: {
|
|
497
|
+
attr: "data-component",
|
|
498
|
+
value: "public-footer",
|
|
499
|
+
description: 'Marks the PublicFooter root region. The root also carries `data-variant="minimal|compact|full"` for CSS + agent selectors.'
|
|
500
|
+
},
|
|
501
|
+
instanceId: {
|
|
502
|
+
attr: "id",
|
|
503
|
+
sourceProp: "id",
|
|
504
|
+
description: "Sourced from the `id` prop when provided."
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
};
|
|
508
|
+
export {
|
|
509
|
+
z as D,
|
|
510
|
+
se as P,
|
|
511
|
+
B as S,
|
|
512
|
+
K as a,
|
|
513
|
+
Y as c,
|
|
514
|
+
ge as p
|
|
515
|
+
};
|
|
516
|
+
//# sourceMappingURL=public-footer.agent-CA29gxHJ.js.map
|