@alfadocs/ui-kit-debug 0.25.0 → 0.25.2
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-CXngC-1u.js +1743 -0
- package/dist/_chunks/booking-CXngC-1u.js.map +1 -0
- package/dist/_chunks/{calendar-zy0tUUVG.js → calendar-9eOXumpH.js} +113 -142
- package/dist/_chunks/calendar-9eOXumpH.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/{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-CeEfEAxh.js} +2 -2
- package/dist/_chunks/{contact-card-CjG7c-1q.js.map → contact-card-CeEfEAxh.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-B8V_sNPy.js} +2 -2
- package/dist/_chunks/{header-DqmKROIY.js.map → header-B8V_sNPy.js.map} +1 -1
- 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/{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/patient-shell-Bq8CjRYF.js +173 -0
- package/dist/_chunks/{patient-shell-B164drIa.js.map → patient-shell-Bq8CjRYF.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-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/{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-CgpYgBkW.js → slot-grid-DoodeQGZ.js} +4 -4
- package/dist/_chunks/{slot-grid-CgpYgBkW.js.map → slot-grid-DoodeQGZ.js.map} +1 -1
- 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-B8kpbtjh.js +35 -0
- package/dist/_chunks/stethoscope-B8kpbtjh.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 +56 -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.agent.d.ts +4 -0
- package/dist/components/booking/booking.agent.d.ts.map +1 -0
- package/dist/components/booking/booking.d.ts +91 -0
- package/dist/components/booking/booking.d.ts.map +1 -0
- package/dist/components/booking/index.d.ts +4 -0
- package/dist/components/booking/index.d.ts.map +1 -0
- package/dist/components/booking/index.js +6 -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/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 +60 -48
- 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 +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/key-value-pair/index.js +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/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-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/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 +1090 -46
- package/dist/i18n/config.js.map +1 -1
- package/dist/i18n/locales/ar.d.ts +58 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/de.d.ts +58 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/el.d.ts +58 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/es.d.ts +58 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/fr.d.ts +58 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/hi.d.ts +58 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/ja.d.ts +58 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/nl.d.ts +58 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.d.ts +58 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pt.d.ts +58 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/ro.d.ts +58 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ru.d.ts +58 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/sq.d.ts +58 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sv.d.ts +58 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/tr.d.ts +58 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/zh.d.ts +58 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/resources.d.ts +116 -0
- package/dist/i18n/resources.d.ts.map +1 -1
- package/dist/index.js +270 -269
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +59 -1
- package/dist/locales/de.json +59 -1
- package/dist/locales/el.json +59 -1
- package/dist/locales/en.json +59 -1
- package/dist/locales/es.json +59 -1
- package/dist/locales/fr.json +59 -1
- package/dist/locales/hi.json +59 -1
- package/dist/locales/it.json +59 -1
- package/dist/locales/ja.json +59 -1
- package/dist/locales/nl.json +59 -1
- package/dist/locales/pl.json +59 -1
- package/dist/locales/pt.json +59 -1
- package/dist/locales/ro.json +59 -1
- package/dist/locales/ru.json +59 -1
- package/dist/locales/sq.json +59 -1
- package/dist/locales/sv.json +59 -1
- package/dist/locales/tr.json +59 -1
- package/dist/locales/zh.json +59 -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 +5 -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/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/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/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,8 +1,8 @@
|
|
|
1
1
|
import { jsx as e, jsxs as V } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as c, useMemo as x, Children as C, isValidElement as T, useContext as R, useState as
|
|
2
|
+
import { forwardRef as c, useMemo as x, Children as C, isValidElement as T, useContext as R, useState as b, useCallback as j, createContext as P } from "react";
|
|
3
3
|
import { c as m } from "./index-D2ZczOXr.js";
|
|
4
4
|
import { useTranslation as z } from "react-i18next";
|
|
5
|
-
import { I as A } from "./icon-button-
|
|
5
|
+
import { I as A } from "./icon-button-BRHSSFmZ.js";
|
|
6
6
|
import { C as S } from "./check-DPdL_Sm7.js";
|
|
7
7
|
import { C as B } from "./copy-B00HK7tj.js";
|
|
8
8
|
function E(s) {
|
|
@@ -11,7 +11,7 @@ function E(s) {
|
|
|
11
11
|
function M(s) {
|
|
12
12
|
return s === "fixed" ? "minmax(0,2fr)" : "minmax(0,1fr)";
|
|
13
13
|
}
|
|
14
|
-
const
|
|
14
|
+
const y = P({
|
|
15
15
|
layout: "inline",
|
|
16
16
|
density: "default",
|
|
17
17
|
divider: "none",
|
|
@@ -65,26 +65,36 @@ const b = P({
|
|
|
65
65
|
layout: "inline",
|
|
66
66
|
hasIcons: !1,
|
|
67
67
|
copyable: !1,
|
|
68
|
-
className: "ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-
|
|
68
|
+
className: "ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-baseline"
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
71
|
layout: "inline",
|
|
72
72
|
hasIcons: !1,
|
|
73
73
|
copyable: !0,
|
|
74
|
-
className: "ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-
|
|
74
|
+
className: "ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>button]:col-start-3 ds:[&>button]:self-start"
|
|
75
75
|
},
|
|
76
|
-
/* ----- inline / with icons -----
|
|
76
|
+
/* ----- inline / with icons -----
|
|
77
|
+
`items-baseline` aligns Term (`type-label` 14 px / 1.4 lh) and
|
|
78
|
+
Detail (`type-body` 16 px / 1.6 lh) by their text baselines so
|
|
79
|
+
their cap-heights line up — without it Detail's larger
|
|
80
|
+
line-box pushed plain-text values visibly below the label.
|
|
81
|
+
Per-cell overrides keep the icon at row-top (with the
|
|
82
|
+
`mt-[5px]` cap-height nudge intact) and the copy button at
|
|
83
|
+
row-start too. Chip cells (Badges / Tags inside the Detail
|
|
84
|
+
column) baseline-align via their internal text baseline; the
|
|
85
|
+
shift is sub-pixel and the chip rows remain visually anchored
|
|
86
|
+
with the row's label. */
|
|
77
87
|
{
|
|
78
88
|
layout: "inline",
|
|
79
89
|
hasIcons: !0,
|
|
80
90
|
copyable: !1,
|
|
81
|
-
className: "ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-start"
|
|
91
|
+
className: "ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>[data-dl-icon-slot]]:self-start"
|
|
82
92
|
},
|
|
83
93
|
{
|
|
84
94
|
layout: "inline",
|
|
85
95
|
hasIcons: !0,
|
|
86
96
|
copyable: !0,
|
|
87
|
-
className: "ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-start ds:[&>button]:col-start-4"
|
|
97
|
+
className: "ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>[data-dl-icon-slot]]:self-start ds:[&>button]:col-start-4 ds:[&>button]:self-start"
|
|
88
98
|
},
|
|
89
99
|
/* ----- stacked / no icons / no copyable ----- */
|
|
90
100
|
{
|
|
@@ -122,26 +132,26 @@ const b = P({
|
|
|
122
132
|
layout: "responsive",
|
|
123
133
|
hasIcons: !1,
|
|
124
134
|
copyable: !1,
|
|
125
|
-
className: "ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-
|
|
135
|
+
className: "ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-baseline ds:max-sm:flex ds:max-sm:flex-col ds:max-sm:gap-[var(--spacing-xs)]"
|
|
126
136
|
},
|
|
127
137
|
{
|
|
128
138
|
layout: "responsive",
|
|
129
139
|
hasIcons: !1,
|
|
130
140
|
copyable: !0,
|
|
131
|
-
className: "ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-
|
|
141
|
+
className: "ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>button]:col-start-3 ds:[&>button]:self-start ds:max-sm:flex ds:max-sm:flex-col ds:max-sm:gap-[var(--spacing-xs)]"
|
|
132
142
|
},
|
|
133
143
|
/* ----- responsive / with icons ----- */
|
|
134
144
|
{
|
|
135
145
|
layout: "responsive",
|
|
136
146
|
hasIcons: !0,
|
|
137
147
|
copyable: !1,
|
|
138
|
-
className: "ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-start ds:max-sm:grid-cols-[auto_minmax(0,1fr)] ds:max-sm:gap-x-[var(--spacing-sm)] ds:max-sm:gap-y-[var(--spacing-xs)] ds:max-sm:[&>dt]:col-start-2 ds:max-sm:[&>dd]:col-start-2 ds:max-sm:[&>[data-dl-icon-slot]]:row-span-full"
|
|
148
|
+
className: "ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>[data-dl-icon-slot]]:self-start ds:max-sm:grid-cols-[auto_minmax(0,1fr)] ds:max-sm:gap-x-[var(--spacing-sm)] ds:max-sm:gap-y-[var(--spacing-xs)] ds:max-sm:[&>dt]:col-start-2 ds:max-sm:[&>dd]:col-start-2 ds:max-sm:[&>[data-dl-icon-slot]]:row-span-full"
|
|
139
149
|
},
|
|
140
150
|
{
|
|
141
151
|
layout: "responsive",
|
|
142
152
|
hasIcons: !0,
|
|
143
153
|
copyable: !0,
|
|
144
|
-
className: "ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-start ds:[&>button]:col-start-4 ds:max-sm:grid-cols-[auto_minmax(0,1fr)_auto] ds:max-sm:gap-x-[var(--spacing-sm)] ds:max-sm:gap-y-[var(--spacing-xs)] ds:max-sm:[&>dt]:col-start-2 ds:max-sm:[&>dd]:col-start-2 ds:max-sm:[&>[data-dl-icon-slot]]:row-span-full ds:max-sm:[&>button]:col-start-3 ds:max-sm:[&>button]:row-span-full"
|
|
154
|
+
className: "ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>[data-dl-icon-slot]]:self-start ds:[&>button]:col-start-4 ds:[&>button]:self-start ds:max-sm:grid-cols-[auto_minmax(0,1fr)_auto] ds:max-sm:gap-x-[var(--spacing-sm)] ds:max-sm:gap-y-[var(--spacing-xs)] ds:max-sm:[&>dt]:col-start-2 ds:max-sm:[&>dd]:col-start-2 ds:max-sm:[&>[data-dl-icon-slot]]:row-span-full ds:max-sm:[&>button]:col-start-3 ds:max-sm:[&>button]:row-span-full"
|
|
145
155
|
}
|
|
146
156
|
],
|
|
147
157
|
defaultVariants: {
|
|
@@ -160,8 +170,8 @@ const b = P({
|
|
|
160
170
|
children: o,
|
|
161
171
|
style: d,
|
|
162
172
|
...u
|
|
163
|
-
},
|
|
164
|
-
const
|
|
173
|
+
}, f) => {
|
|
174
|
+
const v = x(
|
|
165
175
|
() => C.toArray(o).some(
|
|
166
176
|
(i) => T(i) && i.props.icon != null
|
|
167
177
|
),
|
|
@@ -175,13 +185,13 @@ const b = P({
|
|
|
175
185
|
[d, t]
|
|
176
186
|
);
|
|
177
187
|
return /* @__PURE__ */ e(
|
|
178
|
-
|
|
188
|
+
y.Provider,
|
|
179
189
|
{
|
|
180
|
-
value: { layout: s, density: a, divider: r, hasIcons:
|
|
190
|
+
value: { layout: s, density: a, divider: r, hasIcons: v },
|
|
181
191
|
children: /* @__PURE__ */ e(
|
|
182
192
|
"dl",
|
|
183
193
|
{
|
|
184
|
-
ref:
|
|
194
|
+
ref: f,
|
|
185
195
|
className: O({
|
|
186
196
|
layout: s,
|
|
187
197
|
density: a,
|
|
@@ -210,11 +220,11 @@ const w = c(
|
|
|
210
220
|
children: o,
|
|
211
221
|
...d
|
|
212
222
|
}, u) => {
|
|
213
|
-
const { layout:
|
|
223
|
+
const { layout: f, divider: v, hasIcons: l } = R(y), { t: i } = z(), [h, g] = b(!1), [I, n] = b(""), L = j(async () => {
|
|
214
224
|
if (a)
|
|
215
225
|
try {
|
|
216
|
-
await navigator.clipboard.writeText(a),
|
|
217
|
-
|
|
226
|
+
await navigator.clipboard.writeText(a), g(!0), n(i("keyValuePair.copied")), setTimeout(() => {
|
|
227
|
+
g(!1), n("");
|
|
218
228
|
}, 2e3);
|
|
219
229
|
} catch {
|
|
220
230
|
n(i("keyValuePair.notAvailable")), setTimeout(() => n(""), 3e3);
|
|
@@ -227,8 +237,8 @@ const w = c(
|
|
|
227
237
|
{
|
|
228
238
|
ref: u,
|
|
229
239
|
className: q({
|
|
230
|
-
layout:
|
|
231
|
-
divider:
|
|
240
|
+
layout: f,
|
|
241
|
+
divider: v,
|
|
232
242
|
copyable: s,
|
|
233
243
|
hasIcons: l,
|
|
234
244
|
className: p
|
|
@@ -240,7 +250,7 @@ const w = c(
|
|
|
240
250
|
{
|
|
241
251
|
"data-dl-icon-slot": !0,
|
|
242
252
|
"aria-hidden": "true",
|
|
243
|
-
className: "ds:inline-flex ds:size-4 ds:shrink-0 ds:mt-
|
|
253
|
+
className: "ds:inline-flex ds:size-4 ds:shrink-0 ds:mt-[5px] ds:items-center ds:justify-center ds:[&_svg]:size-4 ds:text-[color:var(--description-list-icon-color)]",
|
|
244
254
|
children: t
|
|
245
255
|
}
|
|
246
256
|
),
|
|
@@ -306,4 +316,4 @@ const Z = Object.assign(k, {
|
|
|
306
316
|
export {
|
|
307
317
|
Z as D
|
|
308
318
|
};
|
|
309
|
-
//# sourceMappingURL=description-list-
|
|
319
|
+
//# sourceMappingURL=description-list-yl3y3QKg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"description-list-yl3y3QKg.js","sources":["../../src/components/description-list/description-list.tsx"],"sourcesContent":["import {\n Children,\n createContext,\n forwardRef,\n isValidElement,\n useCallback,\n useContext,\n useMemo,\n useState,\n type CSSProperties,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Copy, Check } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\n\n/* ------------------------------------------------------------------ */\n/* labelWidth → label / value track resolver */\n/* */\n/* The `inline` / `responsive` layouts render a two- or three-column */\n/* grid (icon? · label · value · copy?). The label column's width is */\n/* parameterised so consumers can pick the right behaviour for the */\n/* surrounding container: */\n/* */\n/* - `auto` (default): label sizes to its intrinsic content; the */\n/* value column takes the remainder. Long labels wrap word-by-word */\n/* in narrow contexts instead of being squeezed into a 1fr column */\n/* that can collapse below the longest word. */\n/* - `fixed`: legacy ⅓ / ⅔ ratio (label `minmax(0,1fr)`, value */\n/* `minmax(0,2fr)`). Use for wide forms where consistent alignment */\n/* across rows is more important than fitting the longest label. */\n/* - any CSS length / track size (`'8rem'`, `'min-content'`, …): */\n/* forces the label column to that width. */\n/* */\n/* The resolved values are surfaced as `--description-list-label-track` */\n/* and `--description-list-value-track` on the root `<dl>` so each Row */\n/* can compose them with the icon / copy auto columns it needs. */\n/* ------------------------------------------------------------------ */\n\ntype LabelWidthPreset = 'auto' | 'fixed';\nexport type DescriptionListLabelWidth = LabelWidthPreset | (string & {});\n\nfunction resolveLabelTrack(labelWidth: DescriptionListLabelWidth): string {\n // `auto` uses `fit-content(50%)` rather than the bare `auto` keyword.\n // CSS `auto` resolves to `minmax(min-content, max-content)`, which can't\n // shrink the term column below the dt's max-content in a narrow container\n // (the failure mode booking-website hit with long Italian medical labels\n // in a 320 px Carousel slide). `fit-content(50%)` clamps to\n // `max(min-content, min(50%-of-container, max-content))`:\n // - in narrow containers it caps at 50 % of the row width, leaving the\n // other half for the detail column; the dt wraps at word boundaries\n // via `overflow-wrap: break-word`.\n // - in wide containers it expands to the dt's max-content, so short\n // labels don't stretch unnecessarily.\n if (labelWidth === 'auto') return 'fit-content(50%)';\n if (labelWidth === 'fixed') return 'minmax(0,1fr)';\n return labelWidth;\n}\n\nfunction resolveValueTrack(labelWidth: DescriptionListLabelWidth): string {\n return labelWidth === 'fixed' ? 'minmax(0,2fr)' : 'minmax(0,1fr)';\n}\n\n/* ------------------------------------------------------------------ */\n/* Context */\n/* ------------------------------------------------------------------ */\n\ninterface DescriptionListContextShape {\n layout: 'inline' | 'stacked' | 'responsive';\n density: 'default' | 'compact';\n divider: 'none' | 'between' | 'bordered';\n /**\n * True when at least one direct child Row was rendered with a\n * non-null `icon` prop. Every Row in the list then reserves a\n * leading icon column (rendering a `size-4` empty placeholder\n * when this row has no icon) so the grid's `auto` column resolves\n * to the same width across all rows and sibling Rows align.\n */\n hasIcons: boolean;\n}\n\nconst DescriptionListContext = createContext<DescriptionListContextShape>({\n layout: 'inline',\n density: 'default',\n divider: 'none',\n hasIcons: false,\n});\n\n/* ------------------------------------------------------------------ */\n/* CVA — root <dl> */\n/* ------------------------------------------------------------------ */\n\nconst descriptionListVariants = cva('ds:flex ds:flex-col', {\n variants: {\n layout: {\n inline: '',\n stacked: '',\n responsive: '',\n },\n density: {\n default: 'ds:gap-[var(--spacing-md)]',\n compact: 'ds:gap-[var(--spacing-sm)]',\n },\n divider: {\n none: '',\n between: '',\n bordered: '',\n },\n },\n defaultVariants: {\n layout: 'inline',\n density: 'default',\n divider: 'none',\n },\n});\n\n/* ------------------------------------------------------------------ */\n/* CVA — row <div> */\n/* */\n/* The grid template is selected per (layout × hasIcons × copyable). */\n/* Inline / responsive (above sm) layouts use a 2-, 3-, or 4-column */\n/* grid. Stacked layouts use flex-col when there are no icons, and a */\n/* 2- or 3-column grid when icons are present (so the icon can sit at */\n/* the leading edge of the dt/dd stack without breaking the dl/dt/dd */\n/* parent-child relationship the HTML5 spec requires). */\n/* */\n/* The icon column is `auto` — it resolves to the icon wrapper's */\n/* intrinsic box (`size-4` = 1rem), which matches the empty placeholder */\n/* rendered on rows without an icon. That keeps sibling rows aligned */\n/* even when only some rows carry an icon. */\n/* */\n/* The copy IconButton is pinned to the trailing column via */\n/* `[&>button]:col-start-N` so it does not wrap to an unrelated cell */\n/* when the row also contains multiple `<dd>` siblings. */\n/* ------------------------------------------------------------------ */\n\nconst descriptionListRowVariants = cva('', {\n variants: {\n layout: {\n inline: '',\n stacked: '',\n responsive: '',\n },\n divider: {\n none: '',\n between:\n 'ds:[&:not(:last-child)]:border-b ds:[&:not(:last-child)]:border-[color:var(--border)] ds:[&:not(:last-child)]:pb-[var(--spacing-md)]',\n bordered:\n 'ds:border ds:border-[color:var(--border)] ds:rounded-[var(--radius-sm)] ds:p-[var(--spacing-sm)]',\n },\n copyable: {\n true: '',\n false: '',\n },\n hasIcons: {\n true: '',\n false: '',\n },\n },\n compoundVariants: [\n /* ----- inline / no icons ----- */\n {\n layout: 'inline',\n hasIcons: false,\n copyable: false,\n className:\n 'ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-baseline',\n },\n {\n layout: 'inline',\n hasIcons: false,\n copyable: true,\n className:\n 'ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>button]:col-start-3 ds:[&>button]:self-start',\n },\n /* ----- inline / with icons -----\n `items-baseline` aligns Term (`type-label` 14 px / 1.4 lh) and\n Detail (`type-body` 16 px / 1.6 lh) by their text baselines so\n their cap-heights line up — without it Detail's larger\n line-box pushed plain-text values visibly below the label.\n Per-cell overrides keep the icon at row-top (with the\n `mt-[5px]` cap-height nudge intact) and the copy button at\n row-start too. Chip cells (Badges / Tags inside the Detail\n column) baseline-align via their internal text baseline; the\n shift is sub-pixel and the chip rows remain visually anchored\n with the row's label. */\n {\n layout: 'inline',\n hasIcons: true,\n copyable: false,\n className:\n 'ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>[data-dl-icon-slot]]:self-start',\n },\n {\n layout: 'inline',\n hasIcons: true,\n copyable: true,\n className:\n 'ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>[data-dl-icon-slot]]:self-start ds:[&>button]:col-start-4 ds:[&>button]:self-start',\n },\n /* ----- stacked / no icons / no copyable ----- */\n {\n layout: 'stacked',\n hasIcons: false,\n copyable: false,\n className: 'ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]',\n },\n /* ----- stacked / no icons / copyable — 2-col grid so the copy\n button sits in a trailing column instead of below dd ----- */\n {\n layout: 'stacked',\n hasIcons: false,\n copyable: true,\n className:\n 'ds:grid ds:grid-cols-[minmax(0,1fr)_auto] ds:gap-x-[var(--spacing-sm)] ds:gap-y-[var(--spacing-xs)] ds:items-start ds:[&>button]:col-start-2 ds:[&>button]:row-span-full',\n },\n /* ----- stacked / with icons — explicit grid so dt/dd remain\n direct children of the row div while the icon sits at the\n leading edge of the column-2 stack. `labelWidth` does not\n apply here (single content column). ----- */\n {\n layout: 'stacked',\n hasIcons: true,\n copyable: false,\n className:\n 'ds:grid ds:grid-cols-[auto_minmax(0,1fr)] ds:gap-x-[var(--spacing-sm)] ds:gap-y-[var(--spacing-xs)] ds:items-start ds:[&>dt]:col-start-2 ds:[&>dd]:col-start-2 ds:[&>[data-dl-icon-slot]]:row-span-full',\n },\n {\n layout: 'stacked',\n hasIcons: true,\n copyable: true,\n className:\n 'ds:grid ds:grid-cols-[auto_minmax(0,1fr)_auto] ds:gap-x-[var(--spacing-sm)] ds:gap-y-[var(--spacing-xs)] ds:items-start ds:[&>dt]:col-start-2 ds:[&>dd]:col-start-2 ds:[&>[data-dl-icon-slot]]:row-span-full ds:[&>button]:col-start-3 ds:[&>button]:row-span-full',\n },\n /* ----- responsive / no icons (inline above sm, stacked below) ----- */\n {\n layout: 'responsive',\n hasIcons: false,\n copyable: false,\n className:\n 'ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-baseline ds:max-sm:flex ds:max-sm:flex-col ds:max-sm:gap-[var(--spacing-xs)]',\n },\n {\n layout: 'responsive',\n hasIcons: false,\n copyable: true,\n className:\n 'ds:grid ds:grid-cols-[var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>button]:col-start-3 ds:[&>button]:self-start ds:max-sm:flex ds:max-sm:flex-col ds:max-sm:gap-[var(--spacing-xs)]',\n },\n /* ----- responsive / with icons ----- */\n {\n layout: 'responsive',\n hasIcons: true,\n copyable: false,\n className:\n 'ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>[data-dl-icon-slot]]:self-start ds:max-sm:grid-cols-[auto_minmax(0,1fr)] ds:max-sm:gap-x-[var(--spacing-sm)] ds:max-sm:gap-y-[var(--spacing-xs)] ds:max-sm:[&>dt]:col-start-2 ds:max-sm:[&>dd]:col-start-2 ds:max-sm:[&>[data-dl-icon-slot]]:row-span-full',\n },\n {\n layout: 'responsive',\n hasIcons: true,\n copyable: true,\n className:\n 'ds:grid ds:grid-cols-[auto_var(--description-list-label-track)_var(--description-list-value-track)_auto] ds:gap-[var(--spacing-md)] ds:items-baseline ds:[&>[data-dl-icon-slot]]:self-start ds:[&>button]:col-start-4 ds:[&>button]:self-start ds:max-sm:grid-cols-[auto_minmax(0,1fr)_auto] ds:max-sm:gap-x-[var(--spacing-sm)] ds:max-sm:gap-y-[var(--spacing-xs)] ds:max-sm:[&>dt]:col-start-2 ds:max-sm:[&>dd]:col-start-2 ds:max-sm:[&>[data-dl-icon-slot]]:row-span-full ds:max-sm:[&>button]:col-start-3 ds:max-sm:[&>button]:row-span-full',\n },\n ],\n defaultVariants: {\n layout: 'inline',\n divider: 'none',\n copyable: false,\n hasIcons: false,\n },\n});\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\nexport interface DescriptionListProps extends React.HTMLAttributes<HTMLDListElement> {\n layout?: 'inline' | 'stacked' | 'responsive';\n density?: 'default' | 'compact';\n divider?: 'none' | 'between' | 'bordered';\n /**\n * Width of the term column in `inline` and `responsive` layouts.\n *\n * - `'auto'` (default): the term column sizes to its intrinsic content\n * per row, so labels wrap at word boundaries in narrow contexts (carousel\n * cards, sidebar panels) and the detail column takes the remaining inline\n * space. **Sibling rows do NOT share column widths under this preset** —\n * each row's columns size to its own content. Use this when intrinsic\n * per-row sizing matters more than vertical alignment of values.\n * - `'fixed'`: ⅓ / ⅔ split — term column is `minmax(0, 1fr)` and detail\n * column is `minmax(0, 2fr)`. Sibling rows share the same proportional\n * widths, so values align vertically across rows. Use this when shared\n * value-column alignment matters (the typical use case for a list of\n * contact rows, profile fields, or any tabular-feeling metadata).\n * - any CSS track size (`'8rem'`, `'min-content'`, `'40%'`, …): pins the\n * term column to that width and lets the detail column take the rest.\n *\n * Ignored when `layout=\"stacked\"` (single content column).\n */\n labelWidth?: DescriptionListLabelWidth;\n}\n\nexport interface DescriptionListRowProps extends React.HTMLAttributes<HTMLDivElement> {\n /** When true, shows a copy-to-clipboard button using KeyValuePair's established mechanism */\n copyable?: boolean;\n /** Text written to the clipboard when copyable=true */\n copyText?: string;\n /** Label used in the copy button's aria-label: \"Copy {copyLabel}\". Falls back to copyText. */\n copyLabel?: string;\n /**\n * Optional decorative icon rendered at the leading edge of the row.\n * Pass a `lucide-react` icon (or any single React element) for visual\n * consistency. The wrapper applies `aria-hidden=\"true\"` and paints\n * the icon with `var(--description-list-icon-color)` (defaults to\n * `--muted-foreground`); consumers can recolour the slot via that\n * token without forking the component.\n *\n * When any row in the list passes an `icon`, every row reserves a\n * leading icon column so values align across siblings — including\n * rows that did not pass an icon.\n *\n * Type is `ReactElement` (not the broader `ReactNode`) so the intent\n * is clear at the call site: this slot is for a single SVG/icon,\n * not arbitrary fragments, strings, or numbers.\n */\n icon?: React.ReactElement | null;\n}\n\nexport type DescriptionListTermProps = React.HTMLAttributes<HTMLElement>;\n\nexport interface DescriptionListDetailProps extends React.HTMLAttributes<HTMLElement> {\n /** Right-aligns numeric values via text-end */\n numeric?: boolean;\n}\n\n/* ------------------------------------------------------------------ */\n/* Root — <dl> */\n/* ------------------------------------------------------------------ */\n\nconst DescriptionListRoot = forwardRef<HTMLDListElement, DescriptionListProps>(\n (\n {\n layout = 'inline',\n density = 'default',\n divider = 'none',\n labelWidth = 'auto',\n className,\n children,\n style,\n ...props\n },\n ref,\n ) => {\n // Detect whether any direct child Row carries a non-null `icon` prop.\n // `Children.toArray` flattens nested arrays from `.map()` calls; fragments\n // (`<>…</>`) and deeper wrappers (HOCs, custom containers) are NOT\n // unwrapped. Consumers who hit that edge case can force the icon column\n // by passing `icon={<></>}` on at least one direct-child Row.\n const hasIcons = useMemo(\n () =>\n Children.toArray(children).some(\n (child) =>\n isValidElement(child) &&\n (child.props as { icon?: unknown }).icon != null,\n ),\n [children],\n );\n\n // Inline style — permitted per 23-constraints §Runtime-computed dimensions\n // (CSS custom property setter; the grid-template-columns rule that\n // consumes these variables lives in CVA on each Row).\n const gridStyle = useMemo<CSSProperties>(\n () =>\n ({\n ...style,\n '--description-list-label-track': resolveLabelTrack(labelWidth),\n '--description-list-value-track': resolveValueTrack(labelWidth),\n }) as CSSProperties,\n [style, labelWidth],\n );\n\n return (\n <DescriptionListContext.Provider\n value={{ layout, density, divider, hasIcons }}\n >\n <dl\n ref={ref}\n className={descriptionListVariants({\n layout,\n density,\n divider,\n className,\n })}\n data-component=\"description-list\"\n data-label-width={\n labelWidth === 'auto' || labelWidth === 'fixed'\n ? labelWidth\n : 'custom'\n }\n // eslint-disable-next-line react/forbid-dom-props -- 23-constraints §Runtime-computed dimensions: labelWidth resolves to a CSS track size set on `--description-list-label-track`. The grid-template-columns rule that consumes the variable lives in CVA on each Row.\n style={gridStyle}\n {...props}\n >\n {children}\n </dl>\n </DescriptionListContext.Provider>\n );\n },\n);\nDescriptionListRoot.displayName = 'DescriptionList';\n\n/* ------------------------------------------------------------------ */\n/* Row — <div> that groups a <dt> with its <dd>(s) */\n/* ------------------------------------------------------------------ */\n\nconst DescriptionListRow = forwardRef<HTMLDivElement, DescriptionListRowProps>(\n (\n {\n copyable = false,\n copyText,\n copyLabel,\n icon,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const { layout, divider, hasIcons } = useContext(DescriptionListContext);\n const { t } = useTranslation();\n const [copied, setCopied] = useState(false);\n const [announcement, setAnnouncement] = useState('');\n\n const handleCopy = useCallback(async () => {\n if (!copyText) {\n if (import.meta.env.DEV) {\n console.warn(\n 'DescriptionList.Row: copyable=true but no copyText provided. Copy is a no-op.',\n );\n }\n return;\n }\n try {\n await navigator.clipboard.writeText(copyText);\n setCopied(true);\n setAnnouncement(t('keyValuePair.copied'));\n setTimeout(() => {\n setCopied(false);\n setAnnouncement('');\n }, 2000);\n } catch {\n setAnnouncement(t('keyValuePair.notAvailable'));\n setTimeout(() => setAnnouncement(''), 3000);\n }\n }, [copyText, t]);\n\n const ariaLabel = t('keyValuePair.copy', {\n label: copyLabel ?? copyText ?? '',\n });\n\n return (\n <div\n ref={ref}\n className={descriptionListRowVariants({\n layout,\n divider,\n copyable,\n hasIcons,\n className,\n })}\n {...props}\n >\n {/* Icon slot — rendered on every row when the list has any icons\n so column-1 width is consistent across siblings. The wrapper\n is `size-4` regardless of whether it contains an SVG, so the\n grid's `auto` column resolves to the same 1rem width for\n both icon-bearing and icon-less rows. `aria-hidden` keeps SR\n announcements as \"term: definition\" without an interstitial\n icon role. */}\n {hasIcons && (\n <span\n data-dl-icon-slot\n aria-hidden=\"true\"\n // Cap-height alignment for the icon vs the label's first\n // line. The previous `mt-0.5` (2 px) left the icon\n // visibly above the label — `type-label` at 14 px /\n // 1.4 lh has its cap-height roughly 5 px below the row\n // top, so a 16 px icon centred at row+10 was painting\n // above the label's letter tops. `mt-[5px]` lands the\n // icon's visible glyph (after lucide's internal ~2 px\n // padding) right on the label cap-height.\n // `align-self` defers to the parent grid's\n // `items-start` so the icon stays anchored to the row's\n // first line — multi-line values (badge chips, wrapped\n // text) don't drag the icon down.\n className=\"ds:inline-flex ds:size-4 ds:shrink-0 ds:mt-[5px] ds:items-center ds:justify-center ds:[&_svg]:size-4 ds:text-[color:var(--description-list-icon-color)]\"\n >\n {icon}\n </span>\n )}\n {children}\n {copyable && (\n <IconButton\n icon={copied ? <Check /> : <Copy />}\n size=\"sm\"\n aria-label={ariaLabel}\n onClick={handleCopy}\n intent=\"ghost\"\n className=\"ds:self-start\"\n />\n )}\n {copyable && (\n <span role=\"status\" className=\"ds:sr-only\">\n {announcement}\n </span>\n )}\n </div>\n );\n },\n);\nDescriptionListRow.displayName = 'DescriptionList.Row';\n\n/* ------------------------------------------------------------------ */\n/* CVA — term <dt> */\n/* ------------------------------------------------------------------ */\n\n// Term / Detail use `overflow-wrap: break-word` (not `anywhere`) so natural-\n// language content wraps at word boundaries first. `anywhere` introduces a\n// soft-wrap opportunity at every character boundary, which combines with\n// `minmax(0, …)` grid tracks to break Italian / German labels mid-word in\n// narrow contexts (carousel cards, sidebar panels). `break-word` still breaks\n// genuinely unbreakable strings — URLs, hashes, long IDs — at the column\n// edge, so transaction IDs and email addresses don't push the layout wider.\nconst descriptionListTermVariants = cva(\n 'type-label ds:text-[color:var(--muted-foreground)] ds:text-start ds:[overflow-wrap:break-word] ds:[word-break:normal]',\n);\n\n/* ------------------------------------------------------------------ */\n/* CVA — detail <dd> */\n/* ------------------------------------------------------------------ */\n\nconst descriptionListDetailVariants = cva(\n 'type-body ds:text-[color:var(--foreground)] ds:m-0 ds:[overflow-wrap:break-word] ds:[word-break:normal]',\n {\n variants: {\n numeric: {\n true: 'ds:text-end',\n false: 'ds:text-start',\n },\n },\n defaultVariants: {\n numeric: false,\n },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Term — <dt> */\n/* ------------------------------------------------------------------ */\n\nconst DescriptionListTerm = forwardRef<HTMLElement, DescriptionListTermProps>(\n ({ className, ...props }, ref) => (\n <dt\n ref={ref as React.Ref<HTMLElement>}\n className={descriptionListTermVariants({ className })}\n {...props}\n />\n ),\n);\nDescriptionListTerm.displayName = 'DescriptionList.Term';\n\n/* ------------------------------------------------------------------ */\n/* Detail — <dd> */\n/* ------------------------------------------------------------------ */\n\nconst DescriptionListDetail = forwardRef<\n HTMLElement,\n DescriptionListDetailProps\n>(({ numeric = false, className, ...props }, ref) => (\n <dd\n ref={ref as React.Ref<HTMLElement>}\n className={descriptionListDetailVariants({ numeric, className })}\n {...props}\n />\n));\nDescriptionListDetail.displayName = 'DescriptionList.Detail';\n\n/* ------------------------------------------------------------------ */\n/* Compound export */\n/* ------------------------------------------------------------------ */\n\nexport const DescriptionList = Object.assign(DescriptionListRoot, {\n Row: DescriptionListRow,\n Term: DescriptionListTerm,\n Detail: DescriptionListDetail,\n});\n"],"names":["resolveLabelTrack","labelWidth","resolveValueTrack","DescriptionListContext","createContext","descriptionListVariants","cva","descriptionListRowVariants","DescriptionListRoot","forwardRef","layout","density","divider","className","children","style","props","ref","hasIcons","useMemo","Children","child","isValidElement","gridStyle","jsx","DescriptionListRow","copyable","copyText","copyLabel","icon","useContext","t","useTranslation","copied","setCopied","useState","announcement","setAnnouncement","handleCopy","useCallback","ariaLabel","jsxs","IconButton","Check","Copy","descriptionListTermVariants","descriptionListDetailVariants","DescriptionListTerm","DescriptionListDetail","numeric","DescriptionList"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { useRef as R, useEffect as T, useMemo as O, forwardRef as d, useContext
|
|
|
3
3
|
import * as t from "@radix-ui/react-dialog";
|
|
4
4
|
import { c as k } from "./index-D2ZczOXr.js";
|
|
5
5
|
import { useTranslation as E } from "react-i18next";
|
|
6
|
-
import { I } from "./icon-button-
|
|
6
|
+
import { I } from "./icon-button-BRHSSFmZ.js";
|
|
7
7
|
import { u as B } from "./use-controllable-state-BiY4xTzM.js";
|
|
8
8
|
import { u as S } from "./registry-C9nwlNyL.js";
|
|
9
9
|
import { X as A } from "./x-CCcI3eJp.js";
|
|
@@ -212,4 +212,4 @@ export {
|
|
|
212
212
|
J as D,
|
|
213
213
|
H as d
|
|
214
214
|
};
|
|
215
|
-
//# sourceMappingURL=dialog-
|
|
215
|
+
//# sourceMappingURL=dialog-BBXqpZIt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-DUomPCRS.js","sources":["../../src/components/dialog/dialog.agent.ts","../../src/components/dialog/dialog.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { DialogHandle } from './dialog';\n\n/**\n * Dialog wraps Radix Dialog. The curated handle (`DialogHandle`) bridges the\n * Radix controlled-or-uncontrolled `open` state so an agent can observe and\n * drive the dialog without owning the React state itself.\n */\nexport const dialogAgent: AgentAdapter<DialogHandle> = {\n id: 'dialog',\n capabilities: ['open', 'close', 'dismiss'],\n state: {\n isOpen: {\n type: 'boolean',\n description: 'True when the dialog is currently open.',\n read: (handle) => handle.getIsOpen(),\n },\n },\n actions: {\n open: {\n safety: 'read',\n description: 'Open the dialog.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'write',\n description: 'Close the dialog. Reversible by reopening.',\n invoke: (handle) => {\n handle.close();\n },\n },\n dismiss: {\n safety: 'destructive',\n description:\n 'Dismiss the dialog. Loses any in-progress input that has not been committed.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'dialog' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop on Dialog.Root.',\n },\n },\n};\n","import {\n createContext,\n forwardRef,\n useContext,\n useEffect,\n useMemo,\n useRef,\n type ComponentPropsWithoutRef,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { X } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useAgentRegistration } from '../../agent';\nimport { dialogAgent } from './dialog.agent';\n\nconst OVERLAY_CLASSES = [\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]',\n 'ds:bg-[var(--background)]/[var(--opacity-70)]',\n 'ds:backdrop-blur-sm',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in-0',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst CONTENT_BASE = [\n 'ds:fixed ds:z-[var(--z-modal)]',\n 'ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]',\n 'ds:shadow-[var(--shadow-xl)]',\n 'ds:p-[var(--spacing-lg)]',\n 'ds:focus-visible:outline-none',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in-0 ds:data-[state=open]:zoom-in-95',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=closed]:zoom-out-95',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst CENTERED =\n 'ds:start-1/2 ds:top-1/2 ds:-translate-x-1/2 ds:-translate-y-1/2 ds:w-[calc(100%-var(--spacing-lg)*2)]';\n\nconst contentVariants = cva(CONTENT_BASE, {\n variants: {\n size: {\n sm: `${CENTERED} ds:max-w-[448px] ds:rounded-[var(--radius-lg)] ds:overflow-y-auto ds:max-h-[85dvh]`,\n md: `${CENTERED} ds:max-w-[560px] ds:rounded-[var(--radius-lg)] ds:overflow-y-auto ds:max-h-[85dvh]`,\n lg: `${CENTERED} ds:max-w-[720px] ds:rounded-[var(--radius-lg)] ds:overflow-y-auto ds:max-h-[85dvh]`,\n fullscreen:\n 'ds:start-0 ds:top-0 ds:w-[100dvw] ds:h-[100dvh] ds:max-w-none ds:rounded-none ds:overflow-y-auto',\n },\n },\n defaultVariants: { size: 'md' },\n});\n\n// Curated agent-readiness handle — see dialog.agent.ts.\nexport interface DialogHandle {\n getIsOpen: () => boolean;\n open: () => void;\n close: () => void;\n}\n\nexport interface DialogRootProps extends ComponentPropsWithoutRef<\n typeof RadixDialog.Root\n> {\n /** Opaque instance id — forwarded to Dialog.Content as `data-component-id`. */\n id?: string;\n}\n\nconst DialogIdContext = createContext<string | undefined>(undefined);\n\nconst DialogRoot = ({\n children,\n id,\n open: openProp,\n defaultOpen,\n onOpenChange,\n ...props\n}: DialogRootProps) => {\n const [openRaw, setOpen] = useControllableState<boolean>({\n value: openProp,\n defaultValue: defaultOpen ?? false,\n onChange: onOpenChange,\n });\n const open = openRaw ?? false;\n\n const openRef = useRef(open);\n useEffect(() => {\n openRef.current = open;\n }, [open]);\n\n const handle = useMemo<DialogHandle>(\n () => ({\n getIsOpen: () => openRef.current,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [setOpen],\n );\n useAgentRegistration(dialogAgent, handle, id);\n\n return (\n <DialogIdContext.Provider value={id}>\n <RadixDialog.Root open={open} onOpenChange={setOpen} {...props}>\n {children}\n </RadixDialog.Root>\n </DialogIdContext.Provider>\n );\n};\nDialogRoot.displayName = 'Dialog.Root';\n\nconst DialogTrigger = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Trigger>\n>(({ children, ...props }, ref) => (\n <RadixDialog.Trigger ref={ref} {...props}>\n {children}\n </RadixDialog.Trigger>\n));\nDialogTrigger.displayName = 'Dialog.Trigger';\n\nconst DialogClose = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Close>\n>(({ children, ...props }, ref) => (\n <RadixDialog.Close ref={ref} {...props}>\n {children}\n </RadixDialog.Close>\n));\nDialogClose.displayName = 'Dialog.Close';\n\nexport interface DialogContentProps\n extends\n Omit<ComponentPropsWithoutRef<typeof RadixDialog.Content>, 'role'>,\n VariantProps<typeof contentVariants> {\n size?: 'sm' | 'md' | 'lg' | 'fullscreen';\n variant?: 'default' | 'alert' | 'confirmation';\n hideCloseButton?: boolean;\n className?: string;\n children: ReactNode;\n}\n\nconst DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(\n (\n {\n size = 'md',\n variant = 'default',\n hideCloseButton = true,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const instanceId = useContext(DialogIdContext);\n // Only forward `role` when we actually need to override Radix's default\n // (`role=\"dialog\"`). Passing `role={undefined}` explicitly wins over\n // Radix's internal assignment and strips the attribute entirely.\n const roleOverride =\n variant === 'alert' ? { role: 'alertdialog' as const } : {};\n\n return (\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n data-component=\"dialog-overlay\"\n className={OVERLAY_CLASSES}\n />\n <RadixDialog.Content\n ref={ref}\n {...roleOverride}\n data-component=\"dialog\"\n data-component-id={instanceId}\n className={contentVariants({ size, className })}\n {...props}\n >\n {children}\n\n {!hideCloseButton && (\n <div className=\"ds:absolute ds:end-[var(--spacing-md)] ds:top-[var(--spacing-md)]\">\n <RadixDialog.Close asChild>\n <IconButton\n icon={<X />}\n intent=\"ghost\"\n size=\"sm\"\n aria-label={t('common.close', 'Close')}\n />\n </RadixDialog.Close>\n </div>\n )}\n </RadixDialog.Content>\n </RadixDialog.Portal>\n );\n },\n);\nDialogContent.displayName = 'Dialog.Content';\n\nconst DialogHeader = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:pe-[var(--spacing-xl)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nDialogHeader.displayName = 'Dialog.Header';\n\nconst DialogTitle = forwardRef<\n HTMLHeadingElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Title>\n>(({ className, ...props }, ref) => (\n <RadixDialog.Title\n ref={ref}\n className={['type-title-card ds:break-words', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nDialogTitle.displayName = 'Dialog.Title';\n\nconst DialogDescription = forwardRef<\n HTMLParagraphElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Description>\n>(({ className, ...props }, ref) => (\n <RadixDialog.Description\n ref={ref}\n className={['type-body-sm ds:text-[var(--muted-foreground)]', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nDialogDescription.displayName = 'Dialog.Description';\n\ninterface DialogFooterProps extends HTMLAttributes<HTMLDivElement> {\n divider?: boolean;\n}\n\nconst DialogFooter = forwardRef<HTMLDivElement, DialogFooterProps>(\n ({ className, divider = false, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n 'ds:flex ds:items-center ds:justify-end ds:gap-[var(--spacing-sm)]',\n 'ds:mt-[var(--spacing-md)]',\n divider &&\n 'ds:border-t ds:border-[color:var(--border)] ds:pt-[var(--spacing-md)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nDialogFooter.displayName = 'Dialog.Footer';\n\nexport const Dialog = Object.assign(DialogRoot, {\n Root: DialogRoot,\n Trigger: DialogTrigger,\n Content: DialogContent,\n Header: DialogHeader,\n Title: DialogTitle,\n Description: DialogDescription,\n Footer: DialogFooter,\n Close: DialogClose,\n});\n\nexport type { DialogFooterProps };\n"],"names":["dialogAgent","handle","OVERLAY_CLASSES","CONTENT_BASE","CENTERED","contentVariants","cva","DialogIdContext","createContext","DialogRoot","children","id","openProp","defaultOpen","onOpenChange","props","openRaw","setOpen","useControllableState","open","openRef","useRef","useEffect","useMemo","useAgentRegistration","jsx","RadixDialog","DialogTrigger","forwardRef","ref","DialogClose","DialogContent","size","variant","hideCloseButton","className","t","useTranslation","instanceId","useContext","roleOverride","jsxs","IconButton","X","DialogHeader","DialogTitle","DialogDescription","DialogFooter","divider","Dialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dialog-BBXqpZIt.js","sources":["../../src/components/dialog/dialog.agent.ts","../../src/components/dialog/dialog.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { DialogHandle } from './dialog';\n\n/**\n * Dialog wraps Radix Dialog. The curated handle (`DialogHandle`) bridges the\n * Radix controlled-or-uncontrolled `open` state so an agent can observe and\n * drive the dialog without owning the React state itself.\n */\nexport const dialogAgent: AgentAdapter<DialogHandle> = {\n id: 'dialog',\n capabilities: ['open', 'close', 'dismiss'],\n state: {\n isOpen: {\n type: 'boolean',\n description: 'True when the dialog is currently open.',\n read: (handle) => handle.getIsOpen(),\n },\n },\n actions: {\n open: {\n safety: 'read',\n description: 'Open the dialog.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'write',\n description: 'Close the dialog. Reversible by reopening.',\n invoke: (handle) => {\n handle.close();\n },\n },\n dismiss: {\n safety: 'destructive',\n description:\n 'Dismiss the dialog. Loses any in-progress input that has not been committed.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'dialog' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop on Dialog.Root.',\n },\n },\n};\n","import {\n createContext,\n forwardRef,\n useContext,\n useEffect,\n useMemo,\n useRef,\n type ComponentPropsWithoutRef,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { X } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useAgentRegistration } from '../../agent';\nimport { dialogAgent } from './dialog.agent';\n\nconst OVERLAY_CLASSES = [\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]',\n 'ds:bg-[var(--background)]/[var(--opacity-70)]',\n 'ds:backdrop-blur-sm',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in-0',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst CONTENT_BASE = [\n 'ds:fixed ds:z-[var(--z-modal)]',\n 'ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]',\n 'ds:shadow-[var(--shadow-xl)]',\n 'ds:p-[var(--spacing-lg)]',\n 'ds:focus-visible:outline-none',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in-0 ds:data-[state=open]:zoom-in-95',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=closed]:zoom-out-95',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst CENTERED =\n 'ds:start-1/2 ds:top-1/2 ds:-translate-x-1/2 ds:-translate-y-1/2 ds:w-[calc(100%-var(--spacing-lg)*2)]';\n\nconst contentVariants = cva(CONTENT_BASE, {\n variants: {\n size: {\n sm: `${CENTERED} ds:max-w-[448px] ds:rounded-[var(--radius-lg)] ds:overflow-y-auto ds:max-h-[85dvh]`,\n md: `${CENTERED} ds:max-w-[560px] ds:rounded-[var(--radius-lg)] ds:overflow-y-auto ds:max-h-[85dvh]`,\n lg: `${CENTERED} ds:max-w-[720px] ds:rounded-[var(--radius-lg)] ds:overflow-y-auto ds:max-h-[85dvh]`,\n fullscreen:\n 'ds:start-0 ds:top-0 ds:w-[100dvw] ds:h-[100dvh] ds:max-w-none ds:rounded-none ds:overflow-y-auto',\n },\n },\n defaultVariants: { size: 'md' },\n});\n\n// Curated agent-readiness handle — see dialog.agent.ts.\nexport interface DialogHandle {\n getIsOpen: () => boolean;\n open: () => void;\n close: () => void;\n}\n\nexport interface DialogRootProps extends ComponentPropsWithoutRef<\n typeof RadixDialog.Root\n> {\n /** Opaque instance id — forwarded to Dialog.Content as `data-component-id`. */\n id?: string;\n}\n\nconst DialogIdContext = createContext<string | undefined>(undefined);\n\nconst DialogRoot = ({\n children,\n id,\n open: openProp,\n defaultOpen,\n onOpenChange,\n ...props\n}: DialogRootProps) => {\n const [openRaw, setOpen] = useControllableState<boolean>({\n value: openProp,\n defaultValue: defaultOpen ?? false,\n onChange: onOpenChange,\n });\n const open = openRaw ?? false;\n\n const openRef = useRef(open);\n useEffect(() => {\n openRef.current = open;\n }, [open]);\n\n const handle = useMemo<DialogHandle>(\n () => ({\n getIsOpen: () => openRef.current,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [setOpen],\n );\n useAgentRegistration(dialogAgent, handle, id);\n\n return (\n <DialogIdContext.Provider value={id}>\n <RadixDialog.Root open={open} onOpenChange={setOpen} {...props}>\n {children}\n </RadixDialog.Root>\n </DialogIdContext.Provider>\n );\n};\nDialogRoot.displayName = 'Dialog.Root';\n\nconst DialogTrigger = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Trigger>\n>(({ children, ...props }, ref) => (\n <RadixDialog.Trigger ref={ref} {...props}>\n {children}\n </RadixDialog.Trigger>\n));\nDialogTrigger.displayName = 'Dialog.Trigger';\n\nconst DialogClose = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Close>\n>(({ children, ...props }, ref) => (\n <RadixDialog.Close ref={ref} {...props}>\n {children}\n </RadixDialog.Close>\n));\nDialogClose.displayName = 'Dialog.Close';\n\nexport interface DialogContentProps\n extends\n Omit<ComponentPropsWithoutRef<typeof RadixDialog.Content>, 'role'>,\n VariantProps<typeof contentVariants> {\n size?: 'sm' | 'md' | 'lg' | 'fullscreen';\n variant?: 'default' | 'alert' | 'confirmation';\n hideCloseButton?: boolean;\n className?: string;\n children: ReactNode;\n}\n\nconst DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(\n (\n {\n size = 'md',\n variant = 'default',\n hideCloseButton = true,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const instanceId = useContext(DialogIdContext);\n // Only forward `role` when we actually need to override Radix's default\n // (`role=\"dialog\"`). Passing `role={undefined}` explicitly wins over\n // Radix's internal assignment and strips the attribute entirely.\n const roleOverride =\n variant === 'alert' ? { role: 'alertdialog' as const } : {};\n\n return (\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n data-component=\"dialog-overlay\"\n className={OVERLAY_CLASSES}\n />\n <RadixDialog.Content\n ref={ref}\n {...roleOverride}\n data-component=\"dialog\"\n data-component-id={instanceId}\n className={contentVariants({ size, className })}\n {...props}\n >\n {children}\n\n {!hideCloseButton && (\n <div className=\"ds:absolute ds:end-[var(--spacing-md)] ds:top-[var(--spacing-md)]\">\n <RadixDialog.Close asChild>\n <IconButton\n icon={<X />}\n intent=\"ghost\"\n size=\"sm\"\n aria-label={t('common.close', 'Close')}\n />\n </RadixDialog.Close>\n </div>\n )}\n </RadixDialog.Content>\n </RadixDialog.Portal>\n );\n },\n);\nDialogContent.displayName = 'Dialog.Content';\n\nconst DialogHeader = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:pe-[var(--spacing-xl)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nDialogHeader.displayName = 'Dialog.Header';\n\nconst DialogTitle = forwardRef<\n HTMLHeadingElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Title>\n>(({ className, ...props }, ref) => (\n <RadixDialog.Title\n ref={ref}\n className={['type-title-card ds:break-words', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nDialogTitle.displayName = 'Dialog.Title';\n\nconst DialogDescription = forwardRef<\n HTMLParagraphElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Description>\n>(({ className, ...props }, ref) => (\n <RadixDialog.Description\n ref={ref}\n className={['type-body-sm ds:text-[var(--muted-foreground)]', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nDialogDescription.displayName = 'Dialog.Description';\n\ninterface DialogFooterProps extends HTMLAttributes<HTMLDivElement> {\n divider?: boolean;\n}\n\nconst DialogFooter = forwardRef<HTMLDivElement, DialogFooterProps>(\n ({ className, divider = false, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n 'ds:flex ds:items-center ds:justify-end ds:gap-[var(--spacing-sm)]',\n 'ds:mt-[var(--spacing-md)]',\n divider &&\n 'ds:border-t ds:border-[color:var(--border)] ds:pt-[var(--spacing-md)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nDialogFooter.displayName = 'Dialog.Footer';\n\nexport const Dialog = Object.assign(DialogRoot, {\n Root: DialogRoot,\n Trigger: DialogTrigger,\n Content: DialogContent,\n Header: DialogHeader,\n Title: DialogTitle,\n Description: DialogDescription,\n Footer: DialogFooter,\n Close: DialogClose,\n});\n\nexport type { DialogFooterProps };\n"],"names":["dialogAgent","handle","OVERLAY_CLASSES","CONTENT_BASE","CENTERED","contentVariants","cva","DialogIdContext","createContext","DialogRoot","children","id","openProp","defaultOpen","onOpenChange","props","openRaw","setOpen","useControllableState","open","openRef","useRef","useEffect","useMemo","useAgentRegistration","jsx","RadixDialog","DialogTrigger","forwardRef","ref","DialogClose","DialogContent","size","variant","hideCloseButton","className","t","useTranslation","instanceId","useContext","roleOverride","jsxs","IconButton","X","DialogHeader","DialogTitle","DialogDescription","DialogFooter","divider","Dialog"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as s, jsxs as E } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo as I, forwardRef as j, useState as R, useCallback as M, useEffect as P, useRef as X, createContext as Ne, useContext as Se, isValidElement as we, cloneElement as Fe, useImperativeHandle as yt, useLayoutEffect as Tt } from "react";
|
|
3
3
|
import { S as xt } from "./skeleton-CZbwyJAA.js";
|
|
4
|
-
import { E as Ct } from "./empty-state-
|
|
4
|
+
import { E as Ct } from "./empty-state-BLy7tigq.js";
|
|
5
5
|
import { c as Nt } from "./index-D2ZczOXr.js";
|
|
6
6
|
import { useTranslation as F } from "react-i18next";
|
|
7
7
|
import { useGridFilter as J, AgGridReact as St } from "ag-grid-react";
|
|
8
8
|
import { ModuleRegistry as wt, AllCommunityModule as Ft } from "ag-grid-community";
|
|
9
9
|
import { B as _ } from "./button-DD_0Xdmr.js";
|
|
10
|
-
import { I as B } from "./icon-button-
|
|
11
|
-
import { P as Z } from "./popover
|
|
10
|
+
import { I as B } from "./icon-button-BRHSSFmZ.js";
|
|
11
|
+
import { P as Z } from "./popover-D0slaBB9.js";
|
|
12
12
|
import { C as Re } from "./checkbox-mwbrPZDY.js";
|
|
13
13
|
import { T as fe } from "./text-input-CakysYnD.js";
|
|
14
14
|
import { T as ae } from "./tag-CQmHRM4Y.js";
|
|
@@ -23,12 +23,12 @@ import { F as kt } from "./file-spreadsheet-zUkY8rJ2.js";
|
|
|
23
23
|
import Et from "i18next";
|
|
24
24
|
import { S as Ee } from "./select-C92AT_OZ.js";
|
|
25
25
|
import { u as It } from "./registry-C9nwlNyL.js";
|
|
26
|
-
import { D as Ie } from "./date-range-picker-
|
|
26
|
+
import { D as Ie } from "./date-range-picker-DYgHzMOo.js";
|
|
27
27
|
import { M as zt } from "./multi-select-CyspR5ZF.js";
|
|
28
|
-
import { A as ze } from "./autocomplete-
|
|
28
|
+
import { A as ze } from "./autocomplete-CUh0f7Dj.js";
|
|
29
29
|
import { N as ee } from "./number-input-BZXu6bPY.js";
|
|
30
30
|
import { B as At } from "./badge-cLYVGlMh.js";
|
|
31
|
-
import { A as Ae } from "./avatar-
|
|
31
|
+
import { A as Ae } from "./avatar-D_H4emLo.js";
|
|
32
32
|
import { T as Pt } from "./tooltip-DHik5yRI.js";
|
|
33
33
|
import { T as he } from "./timestamp-BV2lC-wV.js";
|
|
34
34
|
import { S as Ot } from "./square-check-big-Jr-0202D.js";
|
|
@@ -2346,4 +2346,4 @@ export {
|
|
|
2346
2346
|
Ve as q,
|
|
2347
2347
|
gn as u
|
|
2348
2348
|
};
|
|
2349
|
-
//# sourceMappingURL=editable-currency-cell-renderer-
|
|
2349
|
+
//# sourceMappingURL=editable-currency-cell-renderer-DSReCae7.js.map
|