ghost 6.25.0 → 6.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/tryghost-i18n-6.25.1.tgz +0 -0
- package/components/{tryghost-parse-email-address-6.25.0.tgz → tryghost-parse-email-address-6.25.1.tgz} +0 -0
- package/core/built/admin/assets/{PolarAngleAxis-BNo3yZOE.js → PolarAngleAxis-C6ZeSpZB.js} +1 -1
- package/core/built/admin/assets/{_baseAssignValue-DwWJd_kU.js → _baseAssignValue-BKAl5FrV.js} +1 -1
- package/core/built/admin/assets/{a-large-small-DzN0AB7t.js → a-large-small-B_ulQCIs.js} +1 -1
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
- package/core/built/admin/assets/admin-x-settings/{code-editor-view-De3K_osj.mjs → code-editor-view-CBYT1gA1.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-bGxDzD13.mjs → index-CN5CixaU.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-5D8KqsFU.mjs → index-CPQODntW.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-BIUDn7ot.mjs → index-CgTfOd7g.mjs} +9 -9
- package/core/built/admin/assets/admin-x-settings/{modals-DuokUyAH.mjs → modals-_y-6HROx.mjs} +2 -2
- package/core/built/admin/assets/{at-sign-vqoOA4VZ.js → at-sign-B8xWKM0y.js} +1 -1
- package/core/built/admin/assets/{audience-CFjVlFTu.js → audience-CBOR--z9.js} +1 -1
- package/core/built/admin/assets/{avatar-flipboard-DuTJ0ty5.js → avatar-flipboard-IipGb_wZ.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-C1WkXrRJ.js → bluesky-sharing-CkI1QuAm.js} +1 -1
- package/core/built/admin/assets/{chart-Bs2L1q8g.js → chart-_slUcr-K.js} +1 -1
- package/core/built/admin/assets/{chunk.524.ed5714f505e821e549f3.js → chunk.524.5b9b463506a16221fc91.js} +6 -6
- package/core/built/admin/assets/{chunk.582.639cecaca9e77bd7dd4f.js → chunk.582.d8eae1661d753befaefd.js} +7 -7
- package/core/built/admin/assets/{chunk.603.5cb992da88800a9388f3.js → chunk.630.3dbb0231a2d871126a80.js} +4 -4
- package/core/built/admin/assets/{code-editor-view-DIH4grxv.js → code-editor-view-BWMqr2JV.js} +1 -1
- package/core/built/admin/assets/comments-BeoA0nfK.js +1 -0
- package/core/built/admin/assets/{content-helpers-Cr_DHEOl.js → content-helpers-CmTGdEmL.js} +1 -1
- package/core/built/admin/assets/{copy-w3c9zkaZ.js → copy-CDHcAPJw.js} +1 -1
- package/core/built/admin/assets/{data-list-D-K_XfF3.js → data-list-Crb1ffbp.js} +1 -1
- package/core/built/admin/assets/{deleted-feed-item-DK47iaMV.js → deleted-feed-item-DBW0zJQg.js} +1 -1
- package/core/built/admin/assets/{dropzone-BHWXAN0m.js → dropzone-B9JUsQlW.js} +3 -3
- package/core/built/admin/assets/{edit-profile-DCyHhZgx.js → edit-profile-Dz-IhetN.js} +1 -1
- package/core/built/admin/assets/{empty-indicator-DjmACVr2.js → empty-indicator-2QGnEbtY.js} +1 -1
- package/core/built/admin/assets/{en-Cl0b7CNW.js → en-BRQS1Z8j.js} +1 -1
- package/core/built/admin/assets/{feed-C5AauoXf.js → feed-T3kW9UJA.js} +1 -1
- package/core/built/admin/assets/filters-ChOMQQZW.js +1 -0
- package/core/built/admin/assets/{gh-chart-xjwu2HZo.js → gh-chart-fuWw60Ka.js} +1 -1
- package/core/built/admin/assets/{growth-DDyypj0q.js → growth-D9sCnmon.js} +1 -1
- package/core/built/admin/assets/{hash-Bowe71Lt.js → hash-CI1pQ1UC.js} +1 -1
- package/core/built/admin/assets/header-OevT95FI.js +1 -0
- package/core/built/admin/assets/{inbox-DS4qMjUb.js → inbox-DYY8-M1K.js} +1 -1
- package/core/built/admin/assets/{index-A6WmqYr6.js → index-8CZdLQzu.js} +1 -1
- package/core/built/admin/assets/{index-6Ag8SK_E.js → index-BDAOs7pI.js} +1 -1
- package/core/built/admin/assets/{index-B_XhekWb.js → index-BEEgMX-_.js} +1 -1
- package/core/built/admin/assets/index-BbveDn8H.css +1 -0
- package/core/built/admin/assets/{index-CfpTfwls.js → index-C-Cpbee5.js} +1 -1
- package/core/built/admin/assets/{index-4xuWCs9h.js → index-CCF2RKxR.js} +12 -12
- package/core/built/admin/assets/{index-JMWMnGGt.js → index-CEnfjH5h.js} +3 -3
- package/core/built/admin/assets/{index-N61Xkr32.js → index-CcFVbffG.js} +1 -1
- package/core/built/admin/assets/{index-CZK1A375.js → index-CyMlhfZJ.js} +1 -1
- package/core/built/admin/assets/{index-CFY2MOp4.js → index-DBZYUfjO.js} +1 -1
- package/core/built/admin/assets/{index-C8ssgmjI.js → index-DJa3pLmx.js} +1 -1
- package/core/built/admin/assets/{index-SDMWxO5r.js → index-DVqmhe-L.js} +1 -1
- package/core/built/admin/assets/{index-BCvRITTU.js → index-DW5aEj6O.js} +2 -2
- package/core/built/admin/assets/{index-CVvW6Q-y.js → index-DcFgRUSN.js} +1 -1
- package/core/built/admin/assets/{index-DX6vaEVx.js → index-DjgsxHeB.js} +1 -1
- package/core/built/admin/assets/{index-B8XuCPIT.js → index-mqQc8MVd.js} +1 -1
- package/core/built/admin/assets/{index-DqlHFtZD.js → index-qQZsxgFE.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-DL3I-AcK.js → koenig-lexical-CsbE6fpi.js} +1 -1
- package/core/built/admin/assets/kpis-Dw04ruBN.js +1 -0
- package/core/built/admin/assets/{label-DBwnwMrX.js → label-tBvn89sm.js} +1 -1
- package/core/built/admin/assets/{links-CnjcW0lg.js → links-Do4jcjIh.js} +1 -1
- package/core/built/admin/assets/{loader-circle-CGDGFypO.js → loader-circle-C8exRUku.js} +4 -4
- package/core/built/admin/assets/{lucide-react-BfVLf4Hw.js → lucide-react-4VO5Dwow.js} +1 -1
- package/core/built/admin/assets/{main-layout-C_UH037j.js → main-layout-BAqXRgAx.js} +1 -1
- package/core/built/admin/assets/{member-route-CKuE9uDU.js → member-route-D4n-RbQd.js} +1 -1
- package/core/built/admin/assets/members-DRLgwCgJ.js +15 -0
- package/core/built/admin/assets/{message-square-text-BDJyLbG2.js → message-square-text-CC_1bY-Q.js} +5 -5
- package/core/built/admin/assets/{minus-BM0xhFIQ.js → minus-DSyx9DCe.js} +1 -1
- package/core/built/admin/assets/{modals-B6ZySU0x.js → modals-AryZr_DA.js} +1 -1
- package/core/built/admin/assets/{moderation-CQMIGpv1.js → moderation-DwKm9LO-.js} +1 -1
- package/core/built/admin/assets/{newsletter-Dexg7vU8.js → newsletter-C0rydPGS.js} +1 -1
- package/core/built/admin/assets/{newsletters-CT4k07rm.js → newsletters-DKdmxfDG.js} +1 -1
- package/core/built/admin/assets/{note-CiemurXq.js → note-996Zos9G.js} +1 -1
- package/core/built/admin/assets/{overview-9TwqfzGq.js → overview-r17hlWAB.js} +1 -1
- package/core/built/admin/assets/{pagemenu-Dq744OgH.js → pagemenu-DzpB1AkZ.js} +17 -17
- package/core/built/admin/assets/{post-analytics-CcRhLDKA.js → post-analytics-AwufPVFE.js} +1 -1
- package/core/built/admin/assets/{post-analytics-context-COgn3d86.js → post-analytics-context-GFe0lMc-.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-DtBp2QSX.js → post-analytics-header-DmGyNvP9.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-BlOEKX3-.js → post-share-modal-CTpdCS2X.js} +1 -1
- package/core/built/admin/assets/posts/{comments-C4rwkXWy.mjs → comments-Cvt31uBs.mjs} +32 -31
- package/core/built/admin/assets/posts/{dialog-Chkt119L.mjs → dialog-DaViJlnd.mjs} +3 -3
- package/core/built/admin/assets/posts/{dropdown-menu-CvSs_ay2.mjs → dropdown-menu-B4KGMiRI.mjs} +5 -5
- package/core/built/admin/assets/posts/{empty-indicator-GyeO28CG.mjs → empty-indicator-BaD6pCXM.mjs} +2 -2
- package/core/built/admin/assets/posts/{filters-BD3A2GlB.mjs → filters-BsCI4RJg.mjs} +11 -7
- package/core/built/admin/assets/posts/{get-site-timezone-Baeue4hE.mjs → get-site-timezone-Bo-iI2bI.mjs} +2 -2
- package/core/built/admin/assets/posts/{growth-kmVbKjBt.mjs → growth-BJxIDp2o.mjs} +14 -14
- package/core/built/admin/assets/posts/header-7zhnErbb.mjs +100 -0
- package/core/built/admin/assets/posts/{heading-DV_WQJh4.mjs → heading-BCDx_eVF.mjs} +2 -2
- package/core/built/admin/assets/posts/{hooks-DQhsid0U.mjs → hooks-DQL2O_El.mjs} +2 -2
- package/core/built/admin/assets/posts/{index-CVum5OE6.mjs → index-0mEgtljt.mjs} +3 -3
- package/core/built/admin/assets/posts/{index-Bl1ReYmV.mjs → index-BTzJVQ6S.mjs} +10 -10
- package/core/built/admin/assets/posts/{input-C7qFEkmt.mjs → input-DaHXv92f.mjs} +2 -2
- package/core/built/admin/assets/posts/{kpis-DteuJY-D.mjs → kpis-GRsx6fPV.mjs} +10 -10
- package/core/built/admin/assets/posts/{links-eoZr0T0x.mjs → links-B1q_pqE9.mjs} +4 -4
- package/core/built/admin/assets/posts/{loading-indicator-Dj1SCL40.mjs → loading-indicator-DiYqXomj.mjs} +3 -3
- package/core/built/admin/assets/posts/{main-layout-Ct-TA0TH.mjs → main-layout-DeqPTJTe.mjs} +2 -2
- package/core/built/admin/assets/posts/{members-BY9oPKo4.mjs → members-LABk5yI5.mjs} +3055 -2831
- package/core/built/admin/assets/posts/{newsletter-BR1tln6E.mjs → newsletter-C_nbHBaP.mjs} +15 -15
- package/core/built/admin/assets/posts/{overview-j1ANMAQ2.mjs → overview-AJnKv4Ze.mjs} +16 -16
- package/core/built/admin/assets/posts/{post-analytics-DnG-Rolr.mjs → post-analytics-b_CKsePp.mjs} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-context-hiKFF4yE.mjs → post-analytics-context-D6jtpxxm.mjs} +5 -5
- package/core/built/admin/assets/posts/{post-analytics-header-OqAJ8SUL.mjs → post-analytics-header-R5UF_tF0.mjs} +11 -11
- package/core/built/admin/assets/posts/{post-share-modal-BWfujDu2.mjs → post-share-modal-y4BEOajk.mjs} +4 -4
- package/core/built/admin/assets/posts/{posts-CS9tqSJC.mjs → posts-C2hNrf1c.mjs} +2 -2
- package/core/built/admin/assets/posts/posts.js +1 -1
- package/core/built/admin/assets/posts/{reply-CX_EQh9X.mjs → reply-2Uvi3Kxb.mjs} +2 -2
- package/core/built/admin/assets/posts/{search-BqzdnPQb.mjs → search-se7meOnL.mjs} +2 -2
- package/core/built/admin/assets/posts/{select-CD5WLIrZ.mjs → select-DpUpauFg.mjs} +8 -8
- package/core/built/admin/assets/posts/{separator-DFPLsWCc.mjs → separator-CdBM46dw.mjs} +3 -3
- package/core/built/admin/assets/posts/{settings-lnEt3Kb-.mjs → settings-Chhj9xKP.mjs} +2 -2
- package/core/built/admin/assets/posts/{sheet-CkLfUqdH.mjs → sheet--k3SiDko.mjs} +3 -3
- package/core/built/admin/assets/posts/{skeleton-BZCi-IYy.mjs → skeleton-CUSLSLoY.mjs} +3 -3
- package/core/built/admin/assets/posts/{source-icon-C0k2hDC_.mjs → source-icon-BjYUIoXN.mjs} +3 -3
- package/core/built/admin/assets/posts/{stats-AHbSTqzG.mjs → stats-BRdXKaxM.mjs} +4 -4
- package/core/built/admin/assets/posts/{table-DMrf6wp5.mjs → table-Bgi_UcfL.mjs} +2 -2
- package/core/built/admin/assets/posts/{tabs-BH8GNJCe.mjs → tabs-DT8Bh72E.mjs} +14 -14
- package/core/built/admin/assets/posts/{tags-C5VV8Gd0.mjs → tags-BCFLnZYl.mjs} +61 -60
- package/core/built/admin/assets/posts/{tags-DucujdYI.mjs → tags-Kv2q0o3p.mjs} +2 -2
- package/core/built/admin/assets/posts/{use-scroll-restoration-C7A3TpAz.mjs → use-scroll-restoration-CLAUAal3.mjs} +6 -6
- package/core/built/admin/assets/posts/{virtual-list-window-BIGoc0th.mjs → virtual-list-window-CQDEqNBL.mjs} +180 -274
- package/core/built/admin/assets/posts/{web-DczNailO.mjs → web-CqN0MQU6.mjs} +18 -18
- package/core/built/admin/assets/{posts-Dr3u9yOp.js → posts-GvXDuhVG.js} +1 -1
- package/core/built/admin/assets/{referrers-6As_USul.js → referrers-Bd9pW-WX.js} +1 -1
- package/core/built/admin/assets/{repeat-D-Ki-Cg5.js → repeat-y6HlMgGO.js} +2 -2
- package/core/built/admin/assets/{reply-C4V0xZ2U.js → reply-Cc8ryI5v.js} +2 -2
- package/core/built/admin/assets/{select-Dt579MbD.js → select-CGr_5qad.js} +1 -1
- package/core/built/admin/assets/{settings-BMsoTszq.js → settings-BPsfSgg3.js} +1 -1
- package/core/built/admin/assets/{settings-Ck1Hqs1x.js → settings-BTd0Adha.js} +4 -4
- package/core/built/admin/assets/{sort-button-Bn325H3y.js → sort-button-k76_5HR2.js} +1 -1
- package/core/built/admin/assets/{source-icon-CNqsYZeA.js → source-icon-DMt0UskC.js} +1 -1
- package/core/built/admin/assets/{sprout-C9DbfYGe.js → sprout-Td9eaOoY.js} +2 -2
- package/core/built/admin/assets/{square-CWrI0H4v.js → square-Df8vEYlG.js} +1 -1
- package/core/built/admin/assets/stats/{audience-DBW5Xu1c.mjs → audience-DMTObpL8.mjs} +3 -3
- package/core/built/admin/assets/stats/{content-helpers-BR6DcWwH.mjs → content-helpers-ReMp9KJN.mjs} +4 -4
- package/core/built/admin/assets/stats/{index-CFvGHbAV.mjs → index-6L-yLKFX.mjs} +8 -8
- package/core/built/admin/assets/stats/{index-BuS4r1cs.mjs → index-CIUyjeP-.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-DKS4mzS-.mjs → index-CMSDpQm3.mjs} +11 -7
- package/core/built/admin/assets/stats/{index-ZjicrvMA.mjs → index-Ca-_KJzy.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-TeAxlGlY.mjs → index-CfO5yPSP.mjs} +5 -5
- package/core/built/admin/assets/stats/{sort-button-DbwzvVKL.mjs → sort-button-BB_M2CdZ.mjs} +3 -3
- package/core/built/admin/assets/stats/{stats-BatzfgdA.mjs → stats-B2nnuLeU.mjs} +2 -2
- package/core/built/admin/assets/stats/stats.js +1 -1
- package/core/built/admin/assets/stats/{tabs-B32ptD5t.mjs → tabs-DjJG-d3O.mjs} +3 -3
- package/core/built/admin/assets/stats/{use-growth-stats-DmTT2gKd.mjs → use-growth-stats-BMT5M7l6.mjs} +3 -3
- package/core/built/admin/assets/{stats-G4Ge9ETb.js → stats-Bs9ZbmXX.js} +1 -1
- package/core/built/admin/assets/{stats-view-Bx3oDAIW.js → stats-view-BWoPuaLz.js} +1 -1
- package/core/built/admin/assets/{step-1-y3anLU0g.js → step-1-BUvsuCs0.js} +1 -1
- package/core/built/admin/assets/{step-2-Dr1lGnHU.js → step-2-DI9ekXls.js} +1 -1
- package/core/built/admin/assets/{step-3-C_d2hvMs.js → step-3-DzT_XhaS.js} +2 -2
- package/core/built/admin/assets/{table-CbN_vbUx.js → table-BKqaEGAm.js} +1 -1
- package/core/built/admin/assets/{tabs-DFJzY5np.js → tabs-G6Ql8vbf.js} +1 -1
- package/core/built/admin/assets/tags-BHm-dlBs.js +1 -0
- package/core/built/admin/assets/{tags-Ddg8oG2Y.js → tags-_taMP0sJ.js} +1 -1
- package/core/built/admin/assets/{textarea-DikWsYMt.js → textarea-DcVuGYYq.js} +1 -1
- package/core/built/admin/assets/{tiers-B7qV_8mO.js → tiers-kv-xBoqQ.js} +1 -1
- package/core/built/admin/assets/{toggle-group-tXaaTD7P.js → toggle-group-DsatLdt7.js} +1 -1
- package/core/built/admin/assets/{topic-filter-bQtscKE6.js → topic-filter-DkJyIuAf.js} +1 -1
- package/core/built/admin/assets/{trash--VS50LgS.js → trash-BeZZgbn-.js} +1 -1
- package/core/built/admin/assets/{upload-Dz-DI9rQ.js → upload-BG7KNIn7.js} +4 -4
- package/core/built/admin/assets/{use-growth-stats-DNVioFUq.js → use-growth-stats-CNGdl44N.js} +1 -1
- package/core/built/admin/assets/{use-scroll-restoration-CxWEiCuS.js → use-scroll-restoration-CQ3w0W98.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-BA6xsVQO.js → use-simple-pagination-BeIJ_5Vv.js} +1 -1
- package/core/built/admin/assets/{user-plus-B0tpOnLM.js → user-plus-CMxR50-Y.js} +1 -1
- package/core/built/admin/assets/{user-round-check-caJYm0bB.js → user-round-check-2nhPmqP3.js} +1 -1
- package/core/built/admin/assets/virtual-list-window-Uq8oKYVG.js +4 -0
- package/core/built/admin/assets/{wallet-cards-DBM65lA_.js → wallet-cards-CJcVzH0D.js} +1 -1
- package/core/built/admin/assets/{web-CSXixG1S.js → web-BPwTFKrc.js} +1 -1
- package/core/built/admin/index.html +5 -5
- package/core/server/services/members/service.js +0 -22
- package/core/server/services/verification/verification-webhook-service.js +2 -2
- package/core/server/services/verification/verification-webhook-service.ts +2 -2
- package/core/server/services/verification-trigger.js +34 -69
- package/core/shared/labs.js +2 -2
- package/package.json +5 -5
- package/tsconfig.tsbuildinfo +1 -1
- package/components/tryghost-i18n-6.25.0.tgz +0 -0
- package/core/built/admin/assets/comments-gAnA10dK.js +0 -1
- package/core/built/admin/assets/filters-DzSJ1ez3.js +0 -1
- package/core/built/admin/assets/index-Chp0ODAU.css +0 -1
- package/core/built/admin/assets/kpis-Bm-hIEkf.js +0 -1
- package/core/built/admin/assets/members-CzztojNk.js +0 -15
- package/core/built/admin/assets/tags-D5g9tXZU.js +0 -1
- package/core/built/admin/assets/virtual-list-window-JdKgHS9L.js +0 -4
- package/core/shared/config/env/config.testing-browser.json +0 -98
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as u,j as e,z as b,a0 as Ne,d1 as Ce,bS as X,cC as we,d2 as ke,X as ye,B as h,bp as _e,ag as Se,ae as Z,af as $,cg as I,ch as D,ci as z,cj as F,cB as y,cM as Pe,D as E,v as O,w as B,x as H,aa as Le,ab as U,d3 as Re,d4 as Me,b0 as Te,aP as Ie,b1 as De,b2 as ze,b4 as S,y as Fe,d5 as $e,e as _,bB as ee,bR as P,am as Ee,G as V,bJ as Oe,bL as Be,bM as He,bN as Ue,aU as Ve,d6 as se}from"./index-JMWMnGGt.js";import{F as qe,c as Qe}from"./filters-DzSJ1ez3.js";import{c as Ae,u as We,M as w,a as Ke}from"./use-scroll-restoration-CxWEiCuS.js";import{M as Ge,F as q,a as te,D as Q,E as ae}from"./message-square-text-BDJyLbG2.js";import{a as Ye,F as Je,c as Xe,C as Ze,E as re}from"./loader-circle-CGDGFypO.js";import{H as Y,u as es,a as ss,L as ts}from"./virtual-list-window-JdKgHS9L.js";import{M as as}from"./main-layout-C_UH037j.js";import{C as ne,a as rs}from"./index-CFY2MOp4.js";import{L as ns}from"./label-DBwnwMrX.js";import{R as ls}from"./reply-C4V0xZ2U.js";import{E as le}from"./empty-indicator-DjmACVr2.js";import"./posts-Dr3u9yOp.js";const ie=u.forwardRef(({className:s,...t},a)=>e.jsx(ne,{ref:a,className:b("grid place-content-center peer h-4 w-4 shrink-0 rounded-xs border border-primary shadow focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",s),...t,children:e.jsx(rs,{className:b("grid place-content-center text-current"),children:e.jsx(Ne,{className:"size-4"})})}));ie.displayName=ne.displayName;const is=({children:s,className:t,...a})=>e.jsx("section",{className:b("flex gap-6 flex-col p-4 lg:p-8 size-full grow",t),...a,children:s});function os(s){return{value:s.id,label:s.name||"Unknown name",detail:s.email??"(Unknown email)"}}const cs=Ae({id:"posts.members.remote",buildBrowseSearchParams:s=>({limit:"100",order:"created_at DESC",...s?{search:s}:{}}),selectItems:s=>s?.members,useQuery:({enabled:s,searchParams:t})=>Ce({enabled:s,keepPreviousData:!0,searchParams:t}),toOption:os});function ds(){return cs()}const ms=({filters:s,onFiltersChange:t})=>{const a=We(),n=ds(),r=u.useMemo(()=>[{key:"author",label:"Author",type:"select",icon:e.jsx(X,{className:"size-4"}),searchable:!0,valueSource:n,className:"w-80",popoverContentClassName:"w-80",operators:[{value:"is",label:"is"},{value:"is_not",label:"is not"}]},{key:"post",label:"Post",type:"select",icon:e.jsx(we,{className:"size-4"}),searchable:!0,valueSource:a,className:"w-full max-w-80",popoverContentClassName:"w-full max-w-[calc(100vw-32px)] max-w-80",operators:[{value:"is",label:"is"},{value:"is_not",label:"is not"}]},{key:"body",label:"Text",type:"text",icon:e.jsx(Ge,{className:"size-4"}),placeholder:"Search comment text...",operators:[{value:"contains",label:"contains"},{value:"not_contains",label:"does not contain"}],defaultOperator:"contains",className:"w-full max-w-48",popoverContentClassName:"w-full max-w-48"},{key:"status",label:"Status",type:"select",icon:e.jsx(ke,{className:"size-4"}),options:[{value:"published",label:"Published"},{value:"hidden",label:"Hidden"}],operators:[{value:"is",label:"is"}],searchable:!1,hideOperatorSelect:!0},{key:"reported",label:"Reported",type:"select",icon:e.jsx(q,{className:"size-4"}),options:[{value:"true",label:"Yes"},{value:"false",label:"No"}],operators:[{value:"is",label:"is"}],searchable:!1,hideOperatorSelect:!0},{key:"created_at",label:"Date",type:"date",className:"w-full max-w-32",icon:e.jsx(Ye,{className:"size-4"}),operators:[{value:"is",label:"is"},{value:"before",label:"before"},{value:"after",label:"after"}]}],[n,a]),l=s.length>0,i=b("flex flex-row",!l&&"[grid-area:actions] pt-5 justify-start sm:justify-end sm:pt-0",l&&"col-start-1 col-end-4 row-start-3 pt-5");return e.jsx("div",{className:i,children:e.jsx(qe,{addButtonIcon:l?e.jsx(Je,{}):e.jsx(Xe,{}),addButtonText:l?"Add filter":"Filter",allowMultiple:!1,className:`[&>button]:order-last ${l?"[&>button]:border-none":"w-auto"}`,clearButtonClassName:"font-normal text-muted-foreground",clearButtonIcon:e.jsx(ye,{}),clearButtonText:"Clear",fields:r,filters:s,keyboardShortcut:"f",popoverAlign:l?"start":"end",showClearButton:l,showSearchInput:!1,onChange:t})})},us=({children:s})=>e.jsxs(Y,{className:"relative pb-6! md:sticky",variant:"inline-nav",children:[e.jsx(Y.Title,{children:"Comments"}),s]}),xs=({children:s})=>e.jsx(as,{children:e.jsx("div",{className:"grid w-full grow",children:e.jsx("div",{className:"flex h-full flex-col","data-testid":"comments-page",children:s})})});function hs({onClick:s,expanded:t}){return e.jsxs(h,{className:"shrink-0 gap-0.5 self-start p-0 text-base hover:bg-transparent",variant:"ghost",onClick:s,children:[t?"Show less":"Show more",t?e.jsx(Ze,{}):e.jsx(_e,{})]})}function oe({item:s}){const t=u.useRef(null),[a,n]=u.useState(!1),[r,l]=u.useState(!1);return u.useEffect(()=>{if(r)return;const i=()=>{t.current&&n(t.current.scrollHeight>t.current.clientHeight)};return i(),window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[s.html,r]),e.jsx("div",{className:"mt-1 flex flex-col gap-2",children:e.jsxs("div",{className:`flex max-w-full flex-col items-start ${s.status==="hidden"&&"opacity-50"}`,children:[e.jsx("div",{dangerouslySetInnerHTML:{__html:s.html||""},ref:t,className:b("prose flex-1 text-base max-w-[80ch] balance leading-[1.5em] [&_*]:leading-[1.5em] [&_*]:text-base [&_*]:font-normal [&_blockquote]:border-l-[3px] [&_blockquote]:border-foreground [&_blockquote]:p-0 [&_blockquote]:pl-3 [&_blockquote_p]:mt-0 [&_a]:underline",r?"-mb-1 [&_p]:mb-[0.85em]":"line-clamp-2 [&_p]:m-0 [&_blockquote+p]:mt-1 mb-1")}),a&&e.jsx(hs,{expanded:r,onClick:()=>l(!r)})]})})}const L="CommentsResponseType",ps=Se({dataType:L,path:"/comments/",defaultNextPageParams:(s,t)=>{var a,n;return(a=s.meta)!=null&&a.pagination.next?{...t,page:(((n=s.meta)==null?void 0:n.pagination.next)||1).toString()}:void 0},returnData:s=>{const{pages:t}=s,a=t.flatMap(r=>r.comments),n=t[t.length-1].meta;return{comments:a,meta:n,isEnd:n?n.pagination.pages===n.pagination.page:!0}}}),ce=s=>ps({...s,searchParams:{limit:"100",order:"created_at desc",include:"member,post,parent",...s?.searchParams}}),de=Z({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,status:"hidden"}]}),invalidateQueries:{dataType:L}}),me=Z({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,status:"published"}]}),invalidateQueries:{dataType:L}}),fs=$({dataType:L,path:s=>`/comments/${s}/`,defaultSearchParams:{include:"member,post,count.replies,count.direct_replies,count.likes,count.reports,parent,in_reply_to"}}),js=$({dataType:"CommentReportsResponseType",path:s=>`/comments/${s}/reports/`}),bs=(s,t)=>js(s,{...t}),gs=$({dataType:"CommentLikesResponseType",path:s=>`/comments/${s}/likes/`,defaultSearchParams:{include:"member",limit:"100",order:"created_at desc"}}),vs=(s,t)=>gs(s,{...t}),Ns=(s,t)=>ce({...t,searchParams:{filter:`(parent_id:${s}+in_reply_to_id:null),in_reply_to_id:${s}`,order:"created_at asc",include:"member,post,count.direct_replies,count.likes,count.reports,parent,in_reply_to",limit:"100"}});function Cs(s){const t=new Date(s);return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"numeric"}).format(t).replace(/(\d+),(\s+\d{4})/,"$1$2")}function ue({memberName:s,memberId:t,createdAt:a,isHidden:n,canComment:r,onAuthorClick:l,postTitle:i,onPostClick:o,className:c}){return e.jsxs("div",{className:b("flex items-baseline gap-4",c),children:[e.jsxs("div",{className:b("mb-1 flex min-w-0 items-center gap-x-1 text-sm",n&&"opacity-50"),children:[e.jsx("div",{className:"whitespace-nowrap",children:t&&l?e.jsx(h,{className:"flex h-auto items-center gap-1.5 truncate p-0 font-semibold text-primary hover:opacity-70",variant:"link",onClick:l,children:s||"Unknown"}):e.jsx("span",{className:"block truncate font-semibold",children:s||"Unknown"})}),r===!1&&e.jsx(I,{children:e.jsxs(D,{children:[e.jsx(z,{asChild:!0,children:e.jsx("span",{"data-testid":"commenting-disabled-indicator",children:e.jsx(te,{className:"size-3.5 text-muted-foreground"})})}),e.jsx(F,{children:"Comments disabled"})]})}),e.jsx(Q,{className:"shrink-0 text-muted-foreground/50",size:16}),e.jsx("div",{className:"shrink-0 whitespace-nowrap",children:a&&e.jsx(I,{children:e.jsxs(D,{children:[e.jsx(z,{asChild:!0,children:e.jsx("span",{className:"cursor-default text-sm text-muted-foreground",children:y(a)})}),e.jsx(F,{children:Cs(a)})]})})}),i&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"shrink-0 text-muted-foreground",children:"on"}),e.jsx("div",{className:"min-w-0 truncate",children:o?e.jsx(h,{className:"block h-auto w-full cursor-pointer truncate p-0 text-left font-medium text-gray-800 hover:opacity-70 dark:text-gray-400",variant:"link",onClick:o,children:i}):e.jsx("span",{className:"font-medium text-gray-800 dark:text-gray-400",children:i})})]})]}),n&&e.jsx(Pe,{variant:"secondary",children:"Hidden"})]})}function ws({open:s,memberName:t,onOpenChange:a,onConfirm:n}){const[r,l]=u.useState(!1),i=c=>{c||l(!1),a(c)},o=()=>{n(r),l(!1)};return e.jsx(E,{open:s,onOpenChange:i,children:e.jsxs(O,{className:"gap-5",children:[e.jsxs(B,{children:[e.jsx(H,{children:"Disable comments"}),e.jsxs(Le,{children:[t||"This member"," won't be able to comment in the future. You can re-enable commenting anytime."]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ie,{checked:r,id:"hide-comments",onCheckedChange:c=>l(c===!0)}),e.jsx(ns,{htmlFor:"hide-comments",children:"Hide all previous comments"})]}),e.jsxs(U,{children:[e.jsx(h,{variant:"outline",onClick:()=>i(!1),children:"Cancel"}),e.jsx(h,{onClick:o,children:"Disable comments"})]})]})})}function xe({comment:s}){const{mutate:t}=Re(),{mutate:a}=Me(),[n,r]=u.useState(!1),{id:l,post:i,member:o}=s,c=i?.url,m=o?.id,x=o?.can_comment,j=g=>{m&&(t({id:m,reason:`Disabled from comment ${l}`,hideComments:g}),r(!1))},f=()=>{m&&a({id:m})};return e.jsxs(e.Fragment,{children:[e.jsxs(Te,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(h,{className:"relative z-10 text-gray-800 hover:bg-secondary [&_svg]:size-4",size:"sm",variant:"ghost",children:e.jsx(De,{})})}),e.jsxs(ze,{align:"start",children:[c&&e.jsx(S,{asChild:!0,children:e.jsxs("a",{href:`${c}#ghost-comments-${l}`,rel:"noopener noreferrer",target:"_blank",children:[e.jsx(Fe,{className:"size-4"}),"View on post"]})}),m&&e.jsx(S,{asChild:!0,children:e.jsxs("a",{href:`#/members/${m}`,children:[e.jsx(X,{className:"size-4"}),"View member"]})}),m&&(x!==!1?e.jsxs(S,{onClick:()=>r(!0),children:[e.jsx(te,{className:"size-4"}),"Disable commenting"]}):e.jsxs(S,{onClick:f,children:[e.jsx($e,{className:"size-4"}),"Enable commenting"]}))]})]}),e.jsx(ws,{memberName:o?.name,open:n,onConfirm:j,onOpenChange:r})]})}function ks({comment:s,open:t,onOpenChange:a}){const{data:n,isLoading:r}=vs(s.id,{enabled:t}),l=n?.comment_likes??[],i=s.count?.likes??0,o=i-l.length;return e.jsx(E,{open:t,onOpenChange:a,children:e.jsxs(O,{"aria-describedby":void 0,children:[e.jsx(B,{children:e.jsxs(H,{children:[i," ",i===1?"like":"likes"]})}),e.jsx("div",{className:"overflow-hidden rounded-md border p-3",children:e.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[e.jsx(w,{avatarImage:s.member?.avatar_image,className:"shrink-0",memberId:s.member?.id}),e.jsxs("div",{className:"flex min-w-0 flex-col overflow-hidden",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1 text-sm",children:[e.jsx("span",{className:"shrink-0 font-semibold",children:s.member?.name||"Unknown"}),e.jsx(Q,{className:"shrink-0 text-muted-foreground/50",size:16}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:s.created_at&&y(s.created_at)}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:"on"}),e.jsx("span",{className:"min-w-0 truncate font-medium text-gray-800 dark:text-gray-400",children:s.post?.title||"Unknown post"})]}),e.jsx("div",{dangerouslySetInnerHTML:{__html:s.html||""},className:"prose mt-2 line-clamp-2 text-sm [&_*]:text-sm [&_*]:leading-[1.5em] [&_p]:m-0"})]})]})}),e.jsx("div",{className:"-mx-1 max-h-64 overflow-y-auto px-1",children:r?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(_,{size:"md"})}):e.jsxs("div",{className:"flex flex-col gap-3 pb-1",children:[l.map(c=>e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(w,{avatarImage:c.member?.avatar_image,memberId:c.member?.id}),e.jsx("div",{className:"absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-pink-500 text-white",children:e.jsx(ee,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:c.member?.name||"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:y(c.created_at)})]},c.id)),o>0&&e.jsxs("div",{className:"pt-1 text-center text-sm text-muted-foreground",children:["and ",o," more"]})]})}),e.jsx(U,{children:e.jsx(h,{onClick:()=>a(!1),children:"OK"})})]})})}function ys({comment:s,open:t,onOpenChange:a}){const{data:n,isLoading:r}=bs(s.id,{enabled:t}),l=n?.comment_reports??[],i=s.count?.reports??l.length;return e.jsx(E,{open:t,onOpenChange:a,children:e.jsxs(O,{"aria-describedby":void 0,children:[e.jsx(B,{children:e.jsxs(H,{children:[i," ",i===1?"report":"reports"]})}),e.jsx("div",{className:"overflow-hidden rounded-md border p-3",children:e.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[e.jsx(w,{avatarImage:s.member?.avatar_image,className:"shrink-0",memberId:s.member?.id}),e.jsxs("div",{className:"flex min-w-0 flex-col overflow-hidden",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1 text-sm",children:[e.jsx("span",{className:"shrink-0 font-semibold",children:s.member?.name||"Unknown"}),e.jsx(Q,{className:"shrink-0 text-muted-foreground/50",size:16}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:s.created_at&&y(s.created_at)}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:"on"}),e.jsx("span",{className:"min-w-0 truncate font-medium text-gray-800 dark:text-gray-400",children:s.post?.title||"Unknown post"})]}),e.jsx("div",{dangerouslySetInnerHTML:{__html:s.html||""},className:"prose mt-2 line-clamp-2 text-sm [&_*]:text-sm [&_*]:leading-[1.5em] [&_p]:m-0"})]})]})}),e.jsx("div",{className:"-mx-1 max-h-64 overflow-y-auto px-1",children:r?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(_,{size:"md"})}):e.jsx("div",{className:"flex flex-col gap-3 pb-1",children:l.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(w,{avatarImage:o.member?.avatar_image,memberId:o.member?.id}),e.jsx("div",{className:"absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-red text-white",children:e.jsx(q,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:o.member?.name||"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:y(o.created_at)})]},o.id))})}),e.jsx(U,{children:e.jsx(h,{onClick:()=>a(!1),children:"OK"})})]})})}function T({icon:s,count:t,label:a,to:n,onClick:r,className:l,testId:i}){const o=b("flex items-center gap-1 text-xs text-gray-800",l),c=e.jsxs(e.Fragment,{children:[s,e.jsx("span",{children:Ee(t)})]}),m=n||r;return e.jsx(I,{children:e.jsxs(D,{children:[e.jsx(z,{asChild:!0,children:n?e.jsx(V,{className:b(o,"cursor-pointer hover:opacity-70"),"data-testid":i,to:n,onClick:x=>{x.stopPropagation()},children:c}):r?e.jsx("button",{className:b(o,"cursor-pointer hover:opacity-70"),"data-testid":i,type:"button",onClick:x=>{x.stopPropagation(),r()},children:c}):e.jsx("div",{className:o,"data-testid":i,children:c})}),e.jsx(F,{children:m?`View ${a.toLowerCase()}`:a})]})})}function A(s,t){if(!t)return;const a=new URLSearchParams(s);return a.set("thread",`is:${t}`),`?${a.toString()}`}function he({comment:s,className:t}){const[a]=P(),[n,r]=u.useState(!1),[l,i]=u.useState(!1),o=A(a,s.id),c=s.count?.direct_replies??s.count?.replies??s.replies?.length??0,m=s.count?.likes??0,x=s.count?.reports??0,j=c>0,f=m>0,g=x>0;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:b("flex items-center gap-6",t),children:[e.jsx(T,{count:c,icon:e.jsx(ls,{size:16,strokeWidth:1.5}),label:"Replies",testId:"replies-metric",to:j?o:void 0}),e.jsx(T,{count:m,icon:e.jsx(ee,{size:16,strokeWidth:1.5}),label:"Likes",onClick:f?()=>r(!0):void 0}),e.jsx(T,{className:g?"font-semibold text-red":void 0,count:x,icon:e.jsx(q,{size:16,strokeWidth:1.5}),label:"Reports",onClick:g?()=>i(!0):void 0})]}),e.jsx(ks,{comment:s,open:n,onOpenChange:r}),e.jsx(ys,{comment:s,open:l,onOpenChange:i})]})}function _s({hasReplies:s}){return s?e.jsx("div",{className:"mb-2 h-full w-px grow rounded bg-gradient-to-b from-muted-foreground/20 from-70% to-transparent","data-testid":"replies-line"}):null}function pe({comment:s,isReply:t=!1,isSelectedComment:a=!1,selectedCommentId:n}){const[r]=P(),{mutate:l}=de(),{mutate:i}=me(),o=(s.replies?.length??0)>0||(s.count?.direct_replies??s.count?.replies??0)>0,c=!o||t?"mb-7":"mb-0";return e.jsxs("div",{className:`flex w-full flex-row ${c}`,children:[e.jsxs("div",{className:"mr-2 flex shrink-0 flex-col items-center justify-start md:mr-3",children:[e.jsx(w,{avatarImage:s.member?.avatar_image,className:"mb-3 shrink-0 md:mb-4",isHidden:s.status==="hidden",memberId:s.member?.id}),e.jsx(_s,{hasReplies:o&&!t})]}),e.jsx("div",{className:"grow",children:e.jsxs("div",{className:"w-full","data-testid":`comment-thread-row-${s.id}`,children:[e.jsxs("div",{className:"flex min-w-0 flex-col",children:[e.jsx(ue,{canComment:s.member?.can_comment,createdAt:s.created_at,isHidden:s.status==="hidden",memberId:s.member?.id,memberName:s.member?.name}),s.in_reply_to_snippet&&a&&e.jsxs("div",{className:`mb-1 line-clamp-1 text-sm ${s.status==="hidden"&&"opacity-50"}`,children:[e.jsx("span",{className:"text-muted-foreground",children:"Replied to:"})," ",e.jsx(V,{className:"text-sm font-normal text-muted-foreground hover:text-foreground","data-testid":"replied-to-link",to:A(r,s.in_reply_to_id||s.parent_id)||"",onClick:m=>{m.stopPropagation()},children:s.in_reply_to_snippet})]}),e.jsx(oe,{item:s}),e.jsxs("div",{className:"mt-4 flex flex-row flex-wrap items-center gap-3",children:[s.status==="published"&&e.jsxs(h,{className:"text-gray-800",size:"sm",variant:"outline",onClick:()=>l({id:s.id}),children:[e.jsx(ae,{}),e.jsx("span",{className:"max-md:hidden",children:"Hide"})]}),s.status==="hidden"&&e.jsxs(h,{className:"text-gray-800",size:"sm",variant:"outline",onClick:()=>i({id:s.id}),children:[e.jsx(re,{}),e.jsx("span",{className:"max-md:hidden",children:"Show"})]}),e.jsx(he,{comment:s}),e.jsx(xe,{comment:s})]})]}),o&&s.replies&&e.jsx("div",{className:"mt-7 mb-4 -ml-2 pl-2 md:mt-8 md:mb-0 md:-ml-3 md:pl-3",children:s.replies.map(m=>e.jsx(pe,{comment:m,isReply:!0,selectedCommentId:n},m.id))})]})})]})}const Ss=({selectedComment:s,replies:t,selectedCommentId:a,fetchNextPage:n,hasNextPage:r,isFetchingNextPage:l})=>{const i={...s,replies:t};return e.jsxs("div",{className:"flex flex-col","data-testid":"comment-thread-list",children:[e.jsx(pe,{comment:i,isSelectedComment:!0,selectedCommentId:a}),r&&e.jsx("div",{className:"flex justify-center pb-4",children:e.jsx(h,{disabled:l,variant:"outline",onClick:()=>n(),children:l?e.jsxs(e.Fragment,{children:[e.jsx(_,{size:"sm"}),"Loading..."]}):"Load more replies"})})]})},Ps=({commentId:s,open:t,onOpenChange:a})=>{const{data:n,isLoading:r,isError:l,fetchNextPage:i,hasNextPage:o,isFetchingNextPage:c}=Ns(s??"",{enabled:t&&!!s}),{data:m,isLoading:x,isError:j}=fs(s??"",{enabled:t&&!!s}),f=r||x,g=j||l&&!m,p=m?.comments?.[0],v=n?.comments||[];return e.jsx(Oe,{open:t,onOpenChange:a,children:e.jsxs(Be,{className:"overflow-y-auto px-6 pt-0 sm:max-w-[600px]",children:[e.jsx(He,{className:"sticky top-0 z-40 -mx-6 bg-background/60 p-6 backdrop-blur",children:e.jsx(Ue,{className:"text-md",children:"Thread"})}),p?.post&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h3",{className:"line-clamp-1 text-xl font-semibold text-foreground",children:p.post.title}),p.post.excerpt&&e.jsx("p",{className:"mt-1 line-clamp-2 text-sm text-muted-foreground",children:p.post.excerpt})]}),p.post.feature_image&&e.jsx("img",{alt:p.post.title||"Post feature image",className:"hidden aspect-video h-18 shrink-0 rounded object-cover lg:block",src:p.post.feature_image})]}),e.jsx(Ve,{className:"-mx-6 my-6 w-auto"})]}),e.jsx("div",{children:f?e.jsx("div",{className:"flex h-full items-center justify-center py-8",children:e.jsx(_,{size:"lg"})}):g||!p?e.jsx("div",{className:"flex h-full items-center justify-center py-8",children:e.jsx(le,{actions:e.jsx(h,{variant:"outline",onClick:()=>a(!1),children:"Back to comments"}),description:"This thread may have been deleted or doesn't exist.",title:"Thread not found",children:e.jsx(se,{})})}):e.jsx(Ss,{fetchNextPage:i,hasNextPage:o,isFetchingNextPage:c,replies:v,selectedComment:p,selectedCommentId:s??""})})]})})},J=({height:s})=>e.jsx("div",{"aria-hidden":"true",className:"flex",children:e.jsx("div",{className:"flex",style:{height:s}})}),Ls=u.forwardRef(function(t,a){return e.jsx("div",{ref:a,...t,"aria-hidden":"true",className:"relative flex flex-col",children:e.jsx("div",{className:"relative z-10 h-24 animate-pulse",children:e.jsx("div",{className:"h-full rounded-md bg-muted","data-testid":"loading-placeholder"})})})});function Rs({items:s,totalItems:t,hasNextPage:a,isFetchingNextPage:n,fetchNextPage:r,resetKey:l,onAddFilter:i,isLoading:o}){const c=u.useRef(null),{visibleItemCount:m,canLoadMore:x,loadMore:j}=es(t,{resetKey:l}),[f,g]=P(),[p,v]=u.useState(!1),[R,k]=u.useState(null),{mutate:W}=de(),{mutate:M}=me(),K=N=>{if(v(N),!N){const C=new URLSearchParams(f);C.delete("thread"),g(C,{replace:!0})}};u.useEffect(()=>{const N=f.get("thread");if(N){const C=N.match(/^is:(.+)$/);if(C&&C[1]){const d=C[1];k(d),v(!0)}else v(!1),k(null)}else v(!1),k(null)},[f]),Ke({parentRef:c,isLoading:o});const{visibleItems:je,spaceBefore:be,spaceAfter:ge}=ss({items:s,totalItems:m,hasNextPage:a,isFetchingNextPage:n,fetchNextPage:r,parentRef:c});return e.jsxs("div",{ref:c,className:"overflow-hidden",children:[e.jsx("div",{className:"flex flex-col","data-testid":"comments-list",children:e.jsxs("div",{className:"flex flex-col",children:[e.jsx(J,{height:be}),je.map(({key:N,virtualItem:C,item:d,props:G})=>C.index>s.length-1?e.jsx(Ls,{...G},N):e.jsxs("div",{...G,className:"grid w-full grid-cols-1 items-start justify-between gap-4 border-b p-3 hover:bg-muted/50 md:p-5 lg:grid-cols-[minmax(0,1fr)_144px]","data-testid":"comment-list-row",onClick:()=>{p&&K(!1)},children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(w,{avatarImage:d.member?.avatar_image,isHidden:d.status==="hidden",memberId:d.member?.id}),e.jsxs("div",{className:"flex min-w-0 flex-col",children:[e.jsx(ue,{canComment:d.member?.can_comment,createdAt:d.created_at,isHidden:d.status==="hidden",memberId:d.member?.id,memberName:d.member?.name,postTitle:d.post?.title,onAuthorClick:d.member?.id?()=>i("author",d.member.id):void 0,onPostClick:d.post?.id?()=>i("post",d.post.id):void 0}),d.in_reply_to_snippet&&e.jsxs("div",{className:`mb-1 line-clamp-1 max-w-3xl text-sm ${d.status==="hidden"&&"opacity-50"}`,children:[e.jsx("span",{className:"text-muted-foreground",children:"Replied to:"})," ",e.jsx(V,{className:"text-sm font-normal text-muted-foreground hover:text-foreground","data-testid":"replied-to-link",to:A(f,d.in_reply_to_id||d.parent_id)||"",onClick:ve=>{ve.stopPropagation()},children:d.in_reply_to_snippet})]}),e.jsx(oe,{item:d}),e.jsxs("div",{className:"mt-4 flex flex-row flex-nowrap items-center gap-3",children:[d.status==="published"&&e.jsxs(h,{className:"text-foreground",size:"sm",variant:"outline",onClick:()=>W({id:d.id}),children:[e.jsx(ae,{}),"Hide"]}),d.status==="hidden"&&e.jsxs(h,{className:"text-foreground",size:"sm",variant:"outline",onClick:()=>M({id:d.id}),children:[e.jsx(re,{}),"Show"]}),e.jsx(he,{className:"ml-2",comment:d}),e.jsx(xe,{comment:d})]})]})]}),e.jsx("div",{children:d.post?.feature_image?e.jsx("img",{alt:d.post.title||"Post feature image",className:`hidden aspect-video w-36 rounded object-cover lg:block ${d.status==="hidden"&&"opacity-50"}`,src:d.post.feature_image}):null})]},N)),e.jsx(J,{height:ge})]})}),x&&e.jsx(ts,{isLoading:n,onClick:j}),e.jsx(Ps,{commentId:R,open:p,onOpenChange:K})]})}const fe=["id","status","created_at","body","post","author","reported"];function Ms(s){const t=[];for(const a of s)if(a.values[0])switch(a.field){case"id":t.push(`id:'${a.values[0]}'`);break;case"status":t.push(`status:${a.values[0]}`);break;case"created_at":if(a.operator==="before"&&a.values[0])t.push(`created_at:<'${a.values[0]}'`);else if(a.operator==="after"&&a.values[0])t.push(`created_at:>'${a.values[0]}'`);else if(a.operator==="is"&&a.values[0]){const l=String(a.values[0]),i=new Date(l+"T00:00:00").toISOString(),o=new Date(l+"T23:59:59.999").toISOString();t.push(`created_at:>='${i}'+created_at:<='${o}'`)}break;case"body":const r=a.values[0].replace(/'/g,"\\'");a.operator==="contains"?t.push(`html:~'${r}'`):a.operator==="not_contains"&&t.push(`html:-~'${r}'`);break;case"post":a.operator==="is_not"?t.push(`post_id:-${a.values[0]}`):t.push(`post_id:${a.values[0]}`);break;case"author":a.operator==="is_not"?t.push(`member_id:-${a.values[0]}`):t.push(`member_id:${a.values[0]}`);break;case"reported":a.values[0]==="true"?t.push("count.reports:>0"):a.values[0]==="false"&&t.push("count.reports:0");break}return t.length?t.join("+"):void 0}function Ts(s){if(!s)return null;const t=s.indexOf(":");return t<=0?null:{operator:s.substring(0,t),value:s.substring(t+1)}}function Is(s){const t=[];for(const[a,n]of s.entries()){if(!fe.includes(a)||!n)continue;const r=Ts(n);r&&t.push({id:a,field:a,operator:r.operator,values:[r.value]})}return t}function Ds(s){const t=new URLSearchParams;for(const a of s)if(fe.includes(a.field)&&a.values[0]!==void 0){const n=`${a.operator}:${String(a.values[0])}`;t.set(a.field,n)}return t}function zs(){const[s,t]=P(),a=u.useMemo(()=>Is(s),[s]),n=u.useCallback((o,c={})=>{const m=typeof o=="function"?o(a):o,x=Ds(m),j=c.replace??!0;t(x,{replace:j})},[a,t]),r=u.useCallback(({replace:o=!0}={})=>{t(new URLSearchParams,{replace:o})},[t]),l=u.useMemo(()=>Ms(a),[a]),i=u.useMemo(()=>a.length===1&&a[0].field==="id",[a]);return{filters:a,nql:l,setFilters:n,clearFilters:r,isSingleIdFilter:i}}const Gs=()=>{const{filters:s,nql:t,setFilters:a,clearFilters:n,isSingleIdFilter:r}=zs(),l=u.useCallback((p,v,R="is")=>{a(k=>[...k.filter(M=>M.field!==p),Qe(p,R,[v])],{replace:!1})},[a]),{data:i,isError:o,isFetching:c,isFetchingNextPage:m,isRefetching:x,fetchNextPage:j,hasNextPage:f}=ce({searchParams:t?{filter:t}:{},keepPreviousData:!0}),g=c&&!m&&!x;return e.jsxs(xs,{children:[e.jsx(us,{children:!r&&e.jsx(ms,{filters:s,onFiltersChange:a})}),e.jsx(is,{children:g?e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(_,{size:"lg"})}):o?e.jsxs("div",{className:"mb-16 flex h-full flex-col items-center justify-center",children:[e.jsx("h2",{className:"mb-2 text-xl font-medium",children:"Error loading comments"}),e.jsx("p",{className:"mb-4 text-muted-foreground",children:"Please reload the page to try again"}),e.jsx(h,{onClick:()=>window.location.reload(),children:"Reload page"})]}):i?.comments.length?e.jsxs(e.Fragment,{children:[e.jsx(Rs,{fetchNextPage:j,hasNextPage:f,isFetchingNextPage:m,isLoading:c&&!m,items:i?.comments??[],resetKey:t??"",totalItems:i?.meta?.pagination?.total??0,onAddFilter:l}),r&&e.jsx("div",{className:"flex justify-center py-8",children:e.jsx(h,{variant:"outline",onClick:()=>n({replace:!1}),children:"Show all comments"})})]}):e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(le,{title:"No comments yet",children:e.jsx(se,{})})})})]})};export{Gs as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as s,at as lt,j as a,bT as ue,aK as oe,co as ot,cp as it,cq as ut,cr as ct,z as I,cs as dt,a0 as ce,ao as U,ct as ze,cu as Fe,cv as pt,cw as _e,X as Ke,b0 as mt,aP as vt,b2 as ft,b4 as ht,cx as xt,ch as gt,ci as bt,cj as yt}from"./index-JMWMnGGt.js";import{b as jt,L as Se}from"./loader-circle-CGDGFypO.js";var Ae=1,wt=.9,Nt=.8,St=.17,je=.1,we=.999,kt=.9999,Ct=.99,Et=/[\\\/_+.#"@\[\(\{&]/,zt=/[\\\/_+.#"@\[\(\{&]/g,Ft=/[\s-]/,We=/[\s-]/g;function ke(e,r,t,l,n,u,m){if(u===r.length)return n===e.length?Ae:Ct;var p=`${n},${u}`;if(m[p]!==void 0)return m[p];for(var h=l.charAt(u),f=t.indexOf(h,n),i=0,j,z,V,v;f>=0;)j=ke(e,r,t,l,f+1,u+1,m),j>i&&(f===n?j*=Ae:Et.test(e.charAt(f-1))?(j*=Nt,V=e.slice(n,f-1).match(zt),V&&n>0&&(j*=Math.pow(we,V.length))):Ft.test(e.charAt(f-1))?(j*=wt,v=e.slice(n,f-1).match(We),v&&n>0&&(j*=Math.pow(we,v.length))):(j*=St,n>0&&(j*=Math.pow(we,f-n))),e.charAt(f)!==r.charAt(u)&&(j*=kt)),(j<je&&t.charAt(f-1)===l.charAt(u+1)||l.charAt(u+1)===l.charAt(u)&&t.charAt(f-1)!==l.charAt(u))&&(z=ke(e,r,t,l,f+1,u+2,m),z*je>j&&(j=z*je)),j>i&&(i=j),f=t.indexOf(h,f+1);return m[p]=i,i}function Oe(e){return e.toLowerCase().replace(We," ")}function _t(e,r,t){return e=t&&t.length>0?`${e+" "+t.join(" ")}`:e,ke(e,r,Oe(e),Oe(r),0,0,{})}var It=Symbol.for("react.lazy"),ge=lt[" use ".trim().toString()];function Vt(e){return typeof e=="object"&&e!==null&&"then"in e}function Be(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===It&&"_payload"in e&&Vt(e._payload)}function Rt(e){const r=$t(e),t=s.forwardRef((l,n)=>{let{children:u,...m}=l;Be(u)&&typeof ge=="function"&&(u=ge(u._payload));const p=s.Children.toArray(u),h=p.find(Ot);if(h){const f=h.props.children,i=p.map(j=>j===h?s.Children.count(f)>1?s.Children.only(null):s.isValidElement(f)?f.props.children:null:j);return a.jsx(r,{...m,ref:n,children:s.isValidElement(f)?s.cloneElement(f,void 0,i):null})}return a.jsx(r,{...m,ref:n,children:u})});return t.displayName=`${e}.Slot`,t}function $t(e){const r=s.forwardRef((t,l)=>{let{children:n,...u}=t;if(Be(n)&&typeof ge=="function"&&(n=ge(n._payload)),s.isValidElement(n)){const m=Lt(n),p=Pt(u,n.props);return n.type!==s.Fragment&&(p.ref=l?ue(l,m):m),s.cloneElement(n,p)}return s.Children.count(n)>1?s.Children.only(null):null});return r.displayName=`${e}.SlotClone`,r}var At=Symbol("radix.slottable");function Ot(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===At}function Pt(e,r){const t={...r};for(const l in r){const n=e[l],u=r[l];/^on[A-Z]/.test(l)?n&&u?t[l]=(...p)=>{const h=u(...p);return n(...p),h}:n&&(t[l]=n):l==="style"?t[l]={...n,...u}:l==="className"&&(t[l]=[n,u].filter(Boolean).join(" "))}return{...e,...t}}function Lt(e){let r=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=r&&"isReactWarning"in r&&r.isReactWarning;return t?e.ref:(r=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=r&&"isReactWarning"in r&&r.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var Tt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],J=Tt.reduce((e,r)=>{const t=Rt(`Primitive.${r}`),l=s.forwardRef((n,u)=>{const{asChild:m,...p}=n,h=m?t:r;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(h,{...p,ref:u})});return l.displayName=`Primitive.${r}`,{...e,[r]:l}},{}),me='[cmdk-group=""]',Ne='[cmdk-group-items=""]',Mt='[cmdk-group-heading=""]',Ue='[cmdk-item=""]',Pe=`${Ue}:not([aria-disabled="true"])`,Ce="cmdk-item-select",se="data-value",Dt=(e,r,t)=>_t(e,r,t),Ge=s.createContext(void 0),fe=()=>s.useContext(Ge),He=s.createContext(void 0),Ie=()=>s.useContext(He),Ze=s.createContext(void 0),Xe=s.forwardRef((e,r)=>{let t=ne(()=>{var o,b;return{search:"",value:(b=(o=e.value)!=null?o:e.defaultValue)!=null?b:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),l=ne(()=>new Set),n=ne(()=>new Map),u=ne(()=>new Map),m=ne(()=>new Set),p=Ye(e),{label:h,children:f,value:i,onValueChange:j,filter:z,shouldFilter:V,loop:v,disablePointerSelection:S=!1,vimBindings:w=!0,...C}=e,_=oe(),O=oe(),$=oe(),P=s.useRef(null),g=Jt();te(()=>{if(i!==void 0){let o=i.trim();t.current.value=o,A.emit()}},[i]),te(()=>{g(6,T)},[]);let A=s.useMemo(()=>({subscribe:o=>(m.current.add(o),()=>m.current.delete(o)),snapshot:()=>t.current,setState:(o,b,E)=>{var x,d,c,y;if(!Object.is(t.current[o],b)){if(t.current[o]=b,o==="search")R(),q(),g(1,k);else if(o==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let N=document.getElementById($);N?N.focus():(x=document.getElementById(_))==null||x.focus()}if(g(7,()=>{var N;t.current.selectedItemId=(N=M())==null?void 0:N.id,A.emit()}),E||g(5,T),((d=p.current)==null?void 0:d.value)!==void 0){let N=b??"";(y=(c=p.current).onValueChange)==null||y.call(c,N);return}}A.emit()}},emit:()=>{m.current.forEach(o=>o())}}),[]),X=s.useMemo(()=>({value:(o,b,E)=>{var x;b!==((x=u.current.get(o))==null?void 0:x.value)&&(u.current.set(o,{value:b,keywords:E}),t.current.filtered.items.set(o,G(b,E)),g(2,()=>{q(),A.emit()}))},item:(o,b)=>(l.current.add(o),b&&(n.current.has(b)?n.current.get(b).add(o):n.current.set(b,new Set([o]))),g(3,()=>{R(),q(),t.current.value||k(),A.emit()}),()=>{u.current.delete(o),l.current.delete(o),t.current.filtered.items.delete(o);let E=M();g(4,()=>{R(),E?.getAttribute("id")===o&&k(),A.emit()})}),group:o=>(n.current.has(o)||n.current.set(o,new Set),()=>{u.current.delete(o),n.current.delete(o)}),filter:()=>p.current.shouldFilter,label:h||e["aria-label"],getDisablePointerSelection:()=>p.current.disablePointerSelection,listId:_,inputId:$,labelId:O,listInnerRef:P}),[]);function G(o,b){var E,x;let d=(x=(E=p.current)==null?void 0:E.filter)!=null?x:Dt;return o?d(o,t.current.search,b):0}function q(){if(!t.current.search||p.current.shouldFilter===!1)return;let o=t.current.filtered.items,b=[];t.current.filtered.groups.forEach(x=>{let d=n.current.get(x),c=0;d.forEach(y=>{let N=o.get(y);c=Math.max(N,c)}),b.push([x,c])});let E=P.current;K().sort((x,d)=>{var c,y;let N=x.getAttribute("id"),F=d.getAttribute("id");return((c=o.get(F))!=null?c:0)-((y=o.get(N))!=null?y:0)}).forEach(x=>{let d=x.closest(Ne);d?d.appendChild(x.parentElement===d?x:x.closest(`${Ne} > *`)):E.appendChild(x.parentElement===E?x:x.closest(`${Ne} > *`))}),b.sort((x,d)=>d[1]-x[1]).forEach(x=>{var d;let c=(d=P.current)==null?void 0:d.querySelector(`${me}[${se}="${encodeURIComponent(x[0])}"]`);c?.parentElement.appendChild(c)})}function k(){let o=K().find(E=>E.getAttribute("aria-disabled")!=="true"),b=o?.getAttribute(se);A.setState("value",b||void 0)}function R(){var o,b,E,x;if(!t.current.search||p.current.shouldFilter===!1){t.current.filtered.count=l.current.size;return}t.current.filtered.groups=new Set;let d=0;for(let c of l.current){let y=(b=(o=u.current.get(c))==null?void 0:o.value)!=null?b:"",N=(x=(E=u.current.get(c))==null?void 0:E.keywords)!=null?x:[],F=G(y,N);t.current.filtered.items.set(c,F),F>0&&d++}for(let[c,y]of n.current)for(let N of y)if(t.current.filtered.items.get(N)>0){t.current.filtered.groups.add(c);break}t.current.filtered.count=d}function T(){var o,b,E;let x=M();x&&(((o=x.parentElement)==null?void 0:o.firstChild)===x&&((E=(b=x.closest(me))==null?void 0:b.querySelector(Mt))==null||E.scrollIntoView({block:"nearest"})),x.scrollIntoView({block:"nearest"}))}function M(){var o;return(o=P.current)==null?void 0:o.querySelector(`${Ue}[aria-selected="true"]`)}function K(){var o;return Array.from(((o=P.current)==null?void 0:o.querySelectorAll(Pe))||[])}function W(o){let b=K()[o];b&&A.setState("value",b.getAttribute(se))}function B(o){var b;let E=M(),x=K(),d=x.findIndex(y=>y===E),c=x[d+o];(b=p.current)!=null&&b.loop&&(c=d+o<0?x[x.length-1]:d+o===x.length?x[0]:x[d+o]),c&&A.setState("value",c.getAttribute(se))}function Q(o){let b=M(),E=b?.closest(me),x;for(;E&&!x;)E=o>0?Xt(E,me):Yt(E,me),x=E?.querySelector(Pe);x?A.setState("value",x.getAttribute(se)):B(o)}let H=()=>W(K().length-1),pe=o=>{o.preventDefault(),o.metaKey?H():o.altKey?Q(1):B(1)},he=o=>{o.preventDefault(),o.metaKey?W(0):o.altKey?Q(-1):B(-1)};return s.createElement(J.div,{ref:r,tabIndex:-1,...C,"cmdk-root":"",onKeyDown:o=>{var b;(b=C.onKeyDown)==null||b.call(C,o);let E=o.nativeEvent.isComposing||o.keyCode===229;if(!(o.defaultPrevented||E))switch(o.key){case"n":case"j":{w&&o.ctrlKey&&pe(o);break}case"ArrowDown":{pe(o);break}case"p":case"k":{w&&o.ctrlKey&&he(o);break}case"ArrowUp":{he(o);break}case"Home":{o.preventDefault(),W(0);break}case"End":{o.preventDefault(),H();break}case"Enter":{o.preventDefault();let x=M();if(x){let d=new Event(Ce);x.dispatchEvent(d)}}}}},s.createElement("label",{"cmdk-label":"",htmlFor:X.inputId,id:X.labelId,style:er},h),ye(e,o=>s.createElement(He.Provider,{value:A},s.createElement(Ge.Provider,{value:X},o))))}),qt=s.forwardRef((e,r)=>{var t,l;let n=oe(),u=s.useRef(null),m=s.useContext(Ze),p=fe(),h=Ye(e),f=(l=(t=h.current)==null?void 0:t.forceMount)!=null?l:m?.forceMount;te(()=>{if(!f)return p.item(n,m?.id)},[f]);let i=Je(n,u,[e.value,e.children,u],e.keywords),j=Ie(),z=Y(g=>g.value&&g.value===i.current),V=Y(g=>f||p.filter()===!1?!0:g.search?g.filtered.items.get(n)>0:!0);s.useEffect(()=>{let g=u.current;if(!(!g||e.disabled))return g.addEventListener(Ce,v),()=>g.removeEventListener(Ce,v)},[V,e.onSelect,e.disabled]);function v(){var g,A;S(),(A=(g=h.current).onSelect)==null||A.call(g,i.current)}function S(){j.setState("value",i.current,!0)}if(!V)return null;let{disabled:w,value:C,onSelect:_,forceMount:O,keywords:$,...P}=e;return s.createElement(J.div,{ref:ue(u,r),...P,id:n,"cmdk-item":"",role:"option","aria-disabled":!!w,"aria-selected":!!z,"data-disabled":!!w,"data-selected":!!z,onPointerMove:w||p.getDisablePointerSelection()?void 0:S,onClick:w?void 0:v},e.children)}),Kt=s.forwardRef((e,r)=>{let{heading:t,children:l,forceMount:n,...u}=e,m=oe(),p=s.useRef(null),h=s.useRef(null),f=oe(),i=fe(),j=Y(V=>n||i.filter()===!1?!0:V.search?V.filtered.groups.has(m):!0);te(()=>i.group(m),[]),Je(m,p,[e.value,e.heading,h]);let z=s.useMemo(()=>({id:m,forceMount:n}),[n]);return s.createElement(J.div,{ref:ue(p,r),...u,"cmdk-group":"",role:"presentation",hidden:j?void 0:!0},t&&s.createElement("div",{ref:h,"cmdk-group-heading":"","aria-hidden":!0,id:f},t),ye(e,V=>s.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":t?f:void 0},s.createElement(Ze.Provider,{value:z},V))))}),Wt=s.forwardRef((e,r)=>{let{alwaysRender:t,...l}=e,n=s.useRef(null),u=Y(m=>!m.search);return!t&&!u?null:s.createElement(J.div,{ref:ue(n,r),...l,"cmdk-separator":"",role:"separator"})}),Bt=s.forwardRef((e,r)=>{let{onValueChange:t,...l}=e,n=e.value!=null,u=Ie(),m=Y(f=>f.search),p=Y(f=>f.selectedItemId),h=fe();return s.useEffect(()=>{e.value!=null&&u.setState("search",e.value)},[e.value]),s.createElement(J.input,{ref:r,...l,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":h.listId,"aria-labelledby":h.labelId,"aria-activedescendant":p,id:h.inputId,type:"text",value:n?e.value:m,onChange:f=>{n||u.setState("search",f.target.value),t?.(f.target.value)}})}),Ut=s.forwardRef((e,r)=>{let{children:t,label:l="Suggestions",...n}=e,u=s.useRef(null),m=s.useRef(null),p=Y(f=>f.selectedItemId),h=fe();return s.useEffect(()=>{if(m.current&&u.current){let f=m.current,i=u.current,j,z=new ResizeObserver(()=>{j=requestAnimationFrame(()=>{let V=f.offsetHeight;i.style.setProperty("--cmdk-list-height",V.toFixed(1)+"px")})});return z.observe(f),()=>{cancelAnimationFrame(j),z.unobserve(f)}}},[]),s.createElement(J.div,{ref:ue(u,r),...n,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":p,"aria-label":l,id:h.listId},ye(e,f=>s.createElement("div",{ref:ue(m,h.listInnerRef),"cmdk-list-sizer":""},f)))}),Gt=s.forwardRef((e,r)=>{let{open:t,onOpenChange:l,overlayClassName:n,contentClassName:u,container:m,...p}=e;return s.createElement(ot,{open:t,onOpenChange:l},s.createElement(it,{container:m},s.createElement(ut,{"cmdk-overlay":"",className:n}),s.createElement(ct,{"aria-label":e.label,"cmdk-dialog":"",className:u},s.createElement(Xe,{ref:r,...p}))))}),Ht=s.forwardRef((e,r)=>Y(t=>t.filtered.count===0)?s.createElement(J.div,{ref:r,...e,"cmdk-empty":"",role:"presentation"}):null),Zt=s.forwardRef((e,r)=>{let{progress:t,children:l,label:n="Loading...",...u}=e;return s.createElement(J.div,{ref:r,...u,"cmdk-loading":"",role:"progressbar","aria-valuenow":t,"aria-valuemin":0,"aria-valuemax":100,"aria-label":n},ye(e,m=>s.createElement("div",{"aria-hidden":!0},m)))}),re=Object.assign(Xe,{List:Ut,Item:qt,Input:Bt,Group:Kt,Separator:Wt,Dialog:Gt,Empty:Ht,Loading:Zt});function Xt(e,r){let t=e.nextElementSibling;for(;t;){if(t.matches(r))return t;t=t.nextElementSibling}}function Yt(e,r){let t=e.previousElementSibling;for(;t;){if(t.matches(r))return t;t=t.previousElementSibling}}function Ye(e){let r=s.useRef(e);return te(()=>{r.current=e}),r}var te=typeof window>"u"?s.useEffect:s.useLayoutEffect;function ne(e){let r=s.useRef();return r.current===void 0&&(r.current=e()),r}function Y(e){let r=Ie(),t=()=>e(r.snapshot());return s.useSyncExternalStore(r.subscribe,t,t)}function Je(e,r,t,l=[]){let n=s.useRef(),u=fe();return te(()=>{var m;let p=(()=>{var f;for(let i of t){if(typeof i=="string")return i.trim();if(typeof i=="object"&&"current"in i)return i.current?(f=i.current.textContent)==null?void 0:f.trim():n.current}})(),h=l.map(f=>f.trim());u.value(e,p,h),(m=r.current)==null||m.setAttribute(se,p),n.current=p}),n}var Jt=()=>{let[e,r]=s.useState(),t=ne(()=>new Map);return te(()=>{t.current.forEach(l=>l()),t.current=new Map},[e]),(l,n)=>{t.current.set(l,n),r({})}};function Qt(e){let r=e.type;return typeof r=="function"?r(e.props):"render"in r?r.render(e.props):e}function ye({asChild:e,children:r},t){return e&&s.isValidElement(r)?s.cloneElement(Qt(r),{ref:r.ref},t(r.props.children)):t(r)}var er={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function be({className:e,...r}){return a.jsx(re,{className:I("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...r})}function Ve({className:e,...r}){return a.jsxs("div",{className:"flex items-center border-b border-border px-3","cmdk-input-wrapper":"","data-slot":"command-input",children:[a.jsx(dt,{className:"me-2 size-4 shrink-0 opacity-50"}),a.jsx(re.Input,{className:I("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden text-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...r})]})}function Re({className:e,...r}){return a.jsx(re.List,{className:I("max-h-[300px] p-1 overflow-y-auto overflow-x-hidden",e),"data-slot":"command-list",...r})}function $e({...e}){return a.jsx(re.Empty,{className:"py-6 text-center text-sm","data-slot":"command-empty",...e})}function de({className:e,...r}){return a.jsx(re.Group,{className:I("overflow-hidden p-1.5 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),"data-slot":"command-group",...r})}function ie({className:e,...r}){return a.jsx(re.Separator,{className:I("-mx-1.5 h-px bg-border",e),"data-slot":"command-separator",...r})}function ee({className:e,...r}){return a.jsx(re.Item,{className:I("relative flex text-foreground cursor-default gap-2 select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0","[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:stroke-[1.5px]",e),"data-slot":"command-item",...r})}function hr({icon:e=ce,className:r,...t}){return a.jsx(e,{className:I("size-4 ms-auto text-primary",r),"data-check":"true","data-slot":"command-check",...t})}const le={addFilter:"",clearFilters:"Clear",searchFields:"Search fields...",noFieldsFound:"No fields found.",noResultsFound:"No results found.",loading:"Loading...",loadMore:"Load more",select:"Select...",true:"True",false:"False",min:"Min",max:"Max",to:"to",typeAndPressEnter:"Type and press Enter to add tag",selected:"selected",selectedCount:"selected",percent:"%",defaultCurrency:"$",defaultColor:"#000000",addFilterTitle:"",operators:{is:"is",isNot:"is not",isAnyOf:"is any of",isNotAnyOf:"is not any of",includesAll:"includes all",excludesAll:"excludes all",before:"before",after:"after",between:"between",notBetween:"not between",contains:"contains",notContains:"does not contain",startsWith:"starts with",endsWith:"ends with",isExactly:"is exactly",equals:"equals",notEquals:"not equals",greaterThan:"greater than",lessThan:"less than",overlaps:"overlaps",includes:"includes",excludes:"excludes",includesAllOf:"includes all of",includesAnyOf:"includes any of",empty:"is empty",notEmpty:"is not empty"},placeholders:{enterField:e=>`Enter ${e}...`,selectField:"Select...",searchField:e=>`Search ${e.toLowerCase()}...`,enterKey:"Enter key...",enterValue:"Enter value..."},helpers:{formatOperator:e=>e.replace(/_/g," ")},validation:{invalidEmail:"Invalid email format",invalidUrl:"Invalid URL format",invalidTel:"Invalid phone format",invalid:"Invalid input format"}},Qe=s.createContext({variant:"outline",size:"md",radius:"md",i18n:le,cursorPointer:!0,className:void 0,showAddButton:!0,addButtonText:void 0,addButtonIcon:void 0,addButtonClassName:void 0,addButton:void 0,showSearchInput:!0,trigger:void 0,allowMultiple:!0}),ae=()=>s.useContext(Qe),Ee=200,tr=U(["relative flex shrink-0 items-center text-foreground outline-hidden transition","has-[[data-slot=filters-input]:focus-visible]:ring-ring/30","has-[[data-slot=filters-input]:focus-visible]:border-ring","has-[[data-slot=filters-input]:focus-visible]:outline-hidden","has-[[data-slot=filters-input]:focus-visible]:ring-[3px]","has-[[data-slot=filters-input]:focus-visible]:z-1","has-[[data-slot=filters-input]:[aria-invalid=true]]:border","has-[[data-slot=filters-input]:[aria-invalid=true]]:border-solid","has-[[data-slot=filters-input]:[aria-invalid=true]]:border-destructive/60","has-[[data-slot=filters-input]:[aria-invalid=true]]:ring-destructive/10","dark:has-[[data-slot=filters-input]:[aria-invalid=true]]:border-destructive","dark:has-[[data-slot=filters-input]:[aria-invalid=true]]:ring-destructive/20"],{variants:{variant:{solid:"border-0 bg-secondary",outline:"border border-border bg-background"},size:{lg:"h-10 px-2.5 text-sm has-[[data-slot=filters-prefix]]:ps-0 has-[[data-slot=filters-suffix]]:pe-0",md:"h-[34px] px-2 text-sm has-[[data-slot=filters-prefix]]:ps-0 has-[[data-slot=filters-suffix]]:pe-0",sm:"h-8 px-2 text-xs has-[[data-slot=filters-prefix]]:ps-0 has-[[data-slot=filters-suffix]]:pe-0"},cursorPointer:{true:"cursor-pointer",false:""}},defaultVariants:{variant:"outline",size:"md",cursorPointer:!0}}),rr=U(["inline-flex shrink-0 items-center justify-center text-muted-foreground transition hover:text-foreground","focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden"],{variants:{variant:{solid:"bg-secondary",outline:"border border-s-0 border-border hover:bg-secondary"},size:{lg:"size-10 [&_svg:not([class*=size-])]:size-4",md:"size-[34px] [&_svg:not([class*=size-])]:size-3.5",sm:"size-8 [&_svg:not([class*=size-])]:size-3"},cursorPointer:{true:"cursor-pointer",false:""},radius:{md:"rounded-e-md",full:"rounded-e-full"}},defaultVariants:{variant:"outline",size:"md",radius:"md",cursorPointer:!0}}),Le=U(["inline-flex shrink-0 items-center justify-center text-foreground transition","[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:stroke-[1.5px]","focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden"],{variants:{variant:{solid:"border border-input hover:bg-secondary/60",outline:"border border-border hover:bg-accent"},size:{lg:"h-10 gap-1.5 px-4 text-sm [&_svg:not([class*=size-])]:size-4",md:"h-[34px] gap-1.5 px-3 text-sm [&_svg:not([class*=size-])]:size-4",sm:"h-8 gap-1.5 px-2.5 text-xs [&_svg:not([class*=size-])]:size-3.5"},radius:{md:"rounded-md",full:"rounded-full"},cursorPointer:{true:"cursor-pointer",false:""}},defaultVariants:{variant:"outline",size:"md",cursorPointer:!0}}),ar=U(["relative flex shrink-0 items-center whitespace-nowrap text-muted-foreground transition hover:text-foreground focus-visible:z-1 data-[state=open]:text-foreground","focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden"],{variants:{variant:{solid:"bg-secondary",outline:"border border-e-0 border-border bg-background hover:bg-secondary data-[state=open]:bg-secondary [&+[data-slot=filters-remove]]:border-s"},size:{lg:"h-10 gap-1.5 px-4 text-sm",md:"h-[34px] gap-0.5 px-3 text-sm",sm:"h-8 gap-1 px-2.5 text-xs"},cursorPointer:{true:"cursor-pointer",false:""}},defaultVariants:{variant:"outline",size:"md",cursorPointer:!0}}),sr=U(["flex shrink-0 items-center gap-1.5 px-1.5 py-1 text-foreground","[&_svg:not([class*=size-])]:size-4"],{variants:{variant:{solid:"bg-secondary",outline:"border border-e-0 border-border"},size:{lg:"h-10 gap-1.5 px-4 text-sm [&_svg:not([class*=size-])]:size-4",md:"h-[34px] gap-1.5 px-3 text-sm [&_svg:not([class*=size-])]:size-4",sm:"h-8 gap-0.5 px-2.5 text-xs [&_svg:not([class*=size-])]:size-3.5"},radius:{md:"rounded-s-md",full:"rounded-s-full"}},defaultVariants:{variant:"outline",size:"md"}}),ve=U(["relative flex min-w-0 shrink items-center gap-1 text-foreground transition focus-visible:z-1","focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden"],{variants:{variant:{solid:"bg-secondary",outline:"border border-border bg-background hover:bg-secondary has-[[data-slot=switch]]:hover:bg-transparent"},size:{lg:"h-10 gap-1.5 px-4 text-sm [&_svg:not([class*=size-])]:size-4",md:"h-[34px] gap-1.5 px-3 text-sm [&_svg:not([class*=size-])]:size-4",sm:"h-8 gap-0.5 px-2.5 text-xs [&_svg:not([class*=size-])]:size-3.5"},cursorPointer:{true:"cursor-pointer has-[[data-slot=switch]]:cursor-default",false:""}},defaultVariants:{variant:"outline",size:"md",cursorPointer:!0}}),Te=U("flex shrink-0 items-center justify-center text-foreground",{variants:{variant:{solid:"",outline:""},size:{lg:"h-10 px-4 text-sm",md:"h-[34px] px-3 text-sm",sm:"h-8 px-2.5 text-xs"}},defaultVariants:{variant:"outline",size:"md"}}),xe=U("flex shrink-0 items-center text-muted-foreground",{variants:{variant:{solid:"bg-secondary",outline:"border border-x-0 border-border bg-background"},size:{lg:"h-10 px-4 text-sm",md:"h-[34px] px-3 text-sm",sm:"h-8 px-2.5 text-xs"}},defaultVariants:{variant:"outline",size:"md"}}),nr=U("relative flex flex-wrap items-center",{variants:{variant:{solid:"gap-2",outline:""},size:{sm:"gap-1.5",md:"gap-2.5",lg:"gap-3.5"}},defaultVariants:{variant:"outline",size:"md"}}),lr=U("flex max-w-[calc(100vw-32px)] items-center",{variants:{variant:{solid:"gap-px",outline:""}},defaultVariants:{variant:"outline"}});function D({field:e,onChange:r,onBlur:t,onKeyDown:l,onInputChange:n,className:u,...m}){const p=ae(),[h,f]=s.useState(!0),[i,j]=s.useState(""),z=(C,_)=>!_||!C?!0:new RegExp(_).test(C),V=(C,_=!1)=>{if((C==="text"||C==="number")&&_)return p.i18n.validation.invalid;switch(C){case"email":return p.i18n.validation.invalidEmail;case"url":return p.i18n.validation.invalidUrl;case"tel":return p.i18n.validation.invalidTel;default:return p.i18n.validation.invalid}},v=C=>{r?.(C)},S=C=>{const _=C.target.value,O=e?.pattern||m.pattern;if(_&&O){let $=!0;e?.validation?$=e.validation(_):$=z(_,O),f($);const P=!!(e?.pattern||m.pattern);j($?"":V(e?.type||"",P))}else f(!0),j("");n&&n(C),t?.(C)},w=C=>{if(!h&&!["Tab","Escape","Enter","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(C.key)&&(f(!0),j("")),C.key==="Enter"&&n){const _={...C,target:C.target,currentTarget:C.currentTarget};n(_)}l?.(C)};return a.jsxs("div",{className:I("w-36",tr({variant:p.variant,size:p.size}),u),"data-slot":"filters-input-wrapper",children:[e?.prefix&&a.jsx("div",{className:Te({variant:p.variant,size:p.size}),"data-slot":"filters-prefix",children:e.prefix}),a.jsxs("div",{className:"flex w-full items-stretch",children:[a.jsx("input",{"aria-describedby":!h&&i?`${e?.key||"input"}-error`:void 0,"aria-invalid":!h,className:"w-full outline-hidden","data-slot":"filters-input",onBlur:S,onChange:v,onKeyDown:w,...m}),!h&&i&&a.jsxs(gt,{children:[a.jsx(bt,{asChild:!0,children:a.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 items-center",children:a.jsx(jt,{className:"size-3.5 text-destructive"})})}),a.jsx(yt,{children:a.jsx("p",{className:"text-sm",children:i})})]})]}),e?.suffix&&a.jsx("div",{className:I(Te({variant:p.variant,size:p.size})),"data-slot":"filters-suffix",children:e.suffix})]})}function or({className:e,icon:r=a.jsx(Ke,{}),...t}){const l=ae();return a.jsx("button",{className:I(rr({variant:l.variant,size:l.size,cursorPointer:l.cursorPointer,radius:l.radius}),e),"data-slot":"filters-remove",...t,type:"button",children:r})}const et=e=>"fields"in e&&Array.isArray(e.fields),tt=e=>!!(e.group&&e.fields),rt=e=>e.reduce((r,t)=>et(t)?[...r,...t.fields]:tt(t)?[...r,...t.fields]:[...r,t],[]),ir=e=>rt(e).reduce((t,l)=>(l.key&&(t[l.key]=l),t),{}),at=e=>({select:[{value:"is",label:e.operators.is},{value:"is_not",label:e.operators.isNot},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],multiselect:[{value:"is_any_of",label:e.operators.isAnyOf},{value:"is_not_any_of",label:e.operators.isNotAnyOf},{value:"includes_all",label:e.operators.includesAll},{value:"excludes_all",label:e.operators.excludesAll},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],date:[{value:"before",label:e.operators.before},{value:"after",label:e.operators.after},{value:"is",label:e.operators.is},{value:"is_not",label:e.operators.isNot},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],daterange:[{value:"between",label:e.operators.between},{value:"not_between",label:e.operators.notBetween},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],text:[{value:"contains",label:e.operators.contains},{value:"not_contains",label:e.operators.notContains},{value:"starts_with",label:e.operators.startsWith},{value:"ends_with",label:e.operators.endsWith},{value:"is",label:e.operators.isExactly},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],number:[{value:"equals",label:e.operators.equals},{value:"not_equals",label:e.operators.notEquals},{value:"greater_than",label:e.operators.greaterThan},{value:"less_than",label:e.operators.lessThan},{value:"between",label:e.operators.between},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],numberrange:[{value:"between",label:e.operators.between},{value:"overlaps",label:e.operators.overlaps},{value:"contains",label:e.operators.contains},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],boolean:[{value:"is",label:e.operators.is},{value:"is_not",label:e.operators.isNot},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],email:[{value:"contains",label:e.operators.contains},{value:"not_contains",label:e.operators.notContains},{value:"starts_with",label:e.operators.startsWith},{value:"ends_with",label:e.operators.endsWith},{value:"is",label:e.operators.isExactly},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],url:[{value:"contains",label:e.operators.contains},{value:"not_contains",label:e.operators.notContains},{value:"starts_with",label:e.operators.startsWith},{value:"ends_with",label:e.operators.endsWith},{value:"is",label:e.operators.isExactly},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],tel:[{value:"contains",label:e.operators.contains},{value:"not_contains",label:e.operators.notContains},{value:"starts_with",label:e.operators.startsWith},{value:"ends_with",label:e.operators.endsWith},{value:"is",label:e.operators.isExactly},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],time:[{value:"before",label:e.operators.before},{value:"after",label:e.operators.after},{value:"is",label:e.operators.is},{value:"between",label:e.operators.between},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}],datetime:[{value:"before",label:e.operators.before},{value:"after",label:e.operators.after},{value:"is",label:e.operators.is},{value:"between",label:e.operators.between},{value:"empty",label:e.operators.empty},{value:"not_empty",label:e.operators.notEmpty}]});at(le);const ur=(e,r,t)=>{if(e.operators)return e.operators;const l=at(t);let n=e.type||"select";return n==="select"&&r.length>1&&(n="multiselect"),n==="multiselect"||e.type==="multiselect"?l.multiselect:l[n]||l.select};function cr({field:e,operator:r,values:t,onChange:l}){var n;const u=ae(),m=ur(e,t,u.i18n),p=((n=m.find(h=>h.value===r))==null?void 0:n.label)||u.i18n.helpers.formatOperator(r);return e.hideOperatorSelect?a.jsx("div",{className:"flex items-center self-stretch border border-r-[0px] px-3 text-sm whitespace-nowrap text-muted-foreground",children:p}):a.jsxs(mt,{children:[a.jsx(vt,{className:ar({variant:u.variant,size:u.size}),children:p}),a.jsx(ft,{align:"start",className:"w-fit min-w-fit",children:m.map(h=>a.jsxs(ht,{className:"flex items-center justify-between",onClick:()=>l(h.value),children:[a.jsx("span",{children:h.label}),a.jsx(ce,{className:`ms-auto text-primary ${h.value===r?"opacity-100":"opacity-0"}`})]},h.value))})]})}function Me({searchable:e,label:r,searchInput:t,isSearching:l,className:n,onSearchChange:u}){const m=ae();return e?a.jsxs("div",{className:"relative",children:[a.jsx(Ve,{className:n,placeholder:m.i18n.placeholders.searchField(r||""),value:t,onValueChange:u}),l&&a.jsx(Se,{className:"pointer-events-none absolute top-1/2 right-3 size-4 -translate-y-1/2 animate-spin text-muted-foreground"})]}):null}function dr(e,r){const t=r.trim().toLowerCase();return t?e.filter(l=>{var n;return l.label.toLowerCase().includes(t)||((n=l.detail)==null?void 0:n.toLowerCase().includes(t))}):e}function De({contextLabel:e,selectedOptions:r,unselectedOptions:t,isInitialLoad:l,isLoadingMore:n,hasMore:u,onLoadMore:m,onSelectSelected:p,onSelectUnselected:h}){const f=ae();return a.jsxs(Re,{className:"outline-hidden",children:[l?a.jsxs("div",{className:"flex items-center justify-center py-6 text-sm text-muted-foreground",children:[a.jsx(Se,{className:"mr-2 size-4 animate-spin"}),f.i18n.loading]}):a.jsx($e,{children:f.i18n.noResultsFound}),r.length>0&&a.jsx(de,{heading:e,children:r.map(i=>a.jsxs(ee,{className:"group flex items-center gap-2",onSelect:()=>p(i),children:[i.icon&&i.icon,a.jsxs("div",{className:"flex flex-col overflow-hidden",children:[a.jsx("span",{className:"truncate text-accent-foreground",title:i.label,children:i.label}),i.detail&&a.jsx("span",{className:"truncate text-sm text-muted-foreground",title:i.detail,children:i.detail})]}),a.jsx(ce,{className:"ms-auto text-primary"})]},String(i.value)))}),t.length>0&&a.jsxs(a.Fragment,{children:[r.length>0&&a.jsx(ie,{}),a.jsx(de,{children:t.map(i=>a.jsxs(ee,{className:"group flex items-center gap-2",value:i.label+(i.detail?` - ${i.detail}`:""),onSelect:()=>h(i),children:[i.icon&&i.icon,a.jsxs("div",{className:"flex flex-col overflow-hidden",children:[a.jsx("span",{className:"truncate text-accent-foreground",title:i.label,children:i.label}),i.detail&&a.jsx("span",{className:"truncate text-sm text-muted-foreground",title:i.detail,children:i.detail})]}),a.jsx(ce,{className:"ms-auto text-primary opacity-0"})]},String(i.value)))})]}),u&&a.jsxs(a.Fragment,{children:[(r.length>0||t.length>0)&&a.jsx(ie,{}),a.jsx("div",{className:"p-1.5",children:a.jsxs("button",{className:"flex w-full items-center justify-center rounded-xs px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-50",disabled:n,type:"button",onClick:m,children:[n&&a.jsx(Se,{className:"mr-2 size-4 animate-spin"}),n?f.i18n.loading:f.i18n.loadMore]})})]})]})}function st({field:e,values:r,onChange:t,onClose:l,inline:n=!1,searchInput:u,onSearchChange:m,shouldClientFilter:p,isInitialLoad:h,isSearching:f,isLoadingMore:i,hasMore:j,onLoadMore:z}){var V;const[v,S]=s.useState(!1),[w,C]=s.useState([]),_=ae(),O=e.type==="multiselect"||r.length>1,$=s.useMemo(()=>e.value??r,[e.value,r]);s.useEffect(()=>{v&&e.searchable!==!1&&setTimeout(()=>{const k=document.querySelector("[cmdk-input]");k&&k.focus()},0)},[v,e.searchable]);const P=s.useMemo(()=>{var k;return((k=e.options)==null?void 0:k.filter(R=>$.includes(R.value)))||[]},[e.options,$]);s.useEffect(()=>{if($.length===0){C([]);return}P.length>0&&C(k=>{const R=[];for(const T of $){const M=P.find(K=>K.value===T)??k.find(K=>K.value===T);M&&R.push(M)}return R})},[P,$]);const g=s.useMemo(()=>$.length===0?[]:w.length>0?w:P,[w,$.length,P]),A=s.useMemo(()=>dr(g,u),[u,g]),X=((V=e.options)==null?void 0:V.filter(k=>!$.includes(k.value)))||[],G=k=>{m(k)},q=()=>{S(!1),setTimeout(()=>m(""),Ee),l?.()};return n?a.jsx("div",{className:"w-full",children:a.jsxs(be,{shouldFilter:p,children:[a.jsx(Me,{className:"h-8.5 pr-8 text-sm",isSearching:f,label:e.label,searchable:e.searchable!==!1,searchInput:u,onSearchChange:G}),a.jsx(De,{contextLabel:e.label||"Selected",hasMore:j,isInitialLoad:h,isLoadingMore:i,selectedOptions:A,unselectedOptions:X,onLoadMore:z,onSelectSelected:k=>{if(O){const R=$.filter(T=>T!==k.value);e.onValueChange?e.onValueChange(R):t(R)}else e.onValueChange?e.onValueChange([]):t([])},onSelectUnselected:k=>{if(O){const R=[...$,k.value];if(e.maxSelections&&R.length>e.maxSelections)return;e.onValueChange?e.onValueChange(R):t(R),e.autoCloseOnSelect&&l?.()}else e.onValueChange?e.onValueChange([k.value]):t([k.value]),l?.()}})]})}):a.jsxs(ze,{open:v,onOpenChange:k=>{S(k),k||setTimeout(()=>m(""),Ee)},children:[a.jsx(Fe,{className:I(ve({variant:_.variant,size:_.size,cursorPointer:_.cursorPointer}),e.triggerClassName??"max-w-[240px]"),children:a.jsx("div",{className:"flex min-w-0 items-center gap-1.5",children:e.customValueRenderer?e.customValueRenderer(r,e.options||[]):a.jsxs(a.Fragment,{children:[g.length>0&&g.some(k=>k.icon)&&a.jsx("div",{className:I("-space-x-0.5 flex shrink-0 items-center",e.selectedOptionsClassName),children:g.slice(0,3).map(k=>a.jsx("div",{children:k.icon},String(k.value)))}),g.length===1?a.jsx("span",{className:"min-w-0 truncate text-accent-foreground",title:g[0].detail?`${g[0].label} - ${g[0].detail}`:g[0].label,children:g[0].label}):g.length>1?`${g.length} ${_.i18n.selectedCount}`:_.i18n.select]})})}),a.jsx(_e,{align:"start",className:I("p-0 data-[state=closed]:animation-none! data-[state=closed]:duration-0!",e.className||"w-[200px]"),children:a.jsxs(be,{shouldFilter:p,children:[a.jsx(Me,{className:"h-[34px] pr-8 text-sm",isSearching:f,label:e.label,searchable:e.searchable!==!1,searchInput:u,onSearchChange:G}),a.jsx(De,{hasMore:j,isInitialLoad:h,isLoadingMore:i,selectedOptions:A,unselectedOptions:X,onLoadMore:z,onSelectSelected:k=>{t(O?r.filter(R=>R!==k.value):[]),O||(S(!1),q())},onSelectUnselected:k=>{if(O){const R=[...r,k.value];if(e.maxSelections&&R.length>e.maxSelections)return;t(R),e.autoCloseOnSelect&&q()}else t([k.value]),S(!1),q()}})]})})]})}function pr({field:e,values:r,onChange:t,onClose:l,inline:n=!1,searchInput:u,onSearchChange:m}){const p=s.useMemo(()=>e.value??r,[e.value,r]),h=e.valueSource.useOptions({query:u,selectedValues:p}),f=s.useMemo(()=>({...e,options:h.options}),[e,h.options]);return a.jsx(st,{field:f,hasMore:h.hasMore,inline:n,isInitialLoad:h.isInitialLoad,isLoadingMore:h.isLoadingMore,isSearching:h.isSearching,searchInput:u,shouldClientFilter:!1,values:r,onChange:t,onClose:l,onLoadMore:h.loadMore,onSearchChange:m})}function nt({field:e,values:r,onChange:t,onClose:l,inline:n=!1}){var u;const[m,p]=s.useState(""),h=((u=e.options)==null?void 0:u.length)??0;return e.valueSource?a.jsx(pr,{field:e,inline:n,searchInput:m,values:r,onChange:t,onClose:l,onSearchChange:p},e.valueSource.id):a.jsx(st,{field:e,hasMore:!1,inline:n,isInitialLoad:!!e.isLoading&&h===0,isLoadingMore:!1,isSearching:!!e.isLoading&&h>0,searchInput:m,shouldClientFilter:!0,values:r,onChange:t,onClose:l,onLoadMore:()=>{},onSearchChange:p})}function mr({field:e,values:r,onChange:t,operator:l}){var n,u;const[m,p]=s.useState(!1),[h,f]=s.useState(""),i=ae();if(s.useEffect(()=>{m&&e.searchable!==!1&&setTimeout(()=>{const v=document.querySelector("[cmdk-input]");v&&v.focus()},0)},[m,e.searchable]),l==="empty"||l==="not_empty")return null;if(e.customRenderer)return a.jsx("div",{className:ve({variant:i.variant,size:i.size,cursorPointer:i.cursorPointer}),children:e.customRenderer({field:e,values:r,onChange:t,operator:l})});if(e.type==="boolean"){const v=r[0]===!0,S=e.onLabel||i.i18n.true,w=e.offLabel||i.i18n.false;return a.jsx("div",{className:ve({variant:i.variant,size:i.size,cursorPointer:i.cursorPointer}),children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(xt,{checked:v,size:"sm",onCheckedChange:C=>t([C])}),e.onLabel&&e.offLabel&&a.jsx("span",{className:"text-xs text-muted-foreground",children:v?S:w})]})})}if(e.type==="time"){if(l==="between"){const v=r[0]||"",S=r[1]||"";return a.jsxs("div",{className:"flex items-center","data-slot":"filters-item",children:[a.jsx(D,{className:e.className,field:e,type:"time",value:v,onChange:w=>t([w.target.value,S]),onInputChange:e.onInputChange}),a.jsx("div",{className:xe({variant:i.variant,size:i.size}),"data-slot":"filters-between",children:i.i18n.to}),a.jsx(D,{className:e.className,field:e,type:"time",value:S,onChange:w=>t([v,w.target.value]),onInputChange:e.onInputChange})]})}return a.jsx(D,{className:e.className,field:e,type:"time",value:r[0]||"",onChange:v=>t([v.target.value]),onInputChange:e.onInputChange})}if(e.type==="datetime"){if(l==="between"){const v=r[0]||"",S=r[1]||"";return a.jsxs("div",{className:"flex items-center","data-slot":"filters-item",children:[a.jsx(D,{className:I("w-36 max-w-full",e.className),field:e,type:"datetime-local",value:v,onChange:w=>t([w.target.value,S]),onInputChange:e.onInputChange}),a.jsx("div",{className:xe({variant:i.variant,size:i.size}),"data-slot":"filters-between",children:i.i18n.to}),a.jsx(D,{className:I("w-36 max-w-full",e.className),field:e,type:"datetime-local",value:S,onChange:w=>t([v,w.target.value]),onInputChange:e.onInputChange})]})}return a.jsx(D,{className:I("w-36 max-w-full",e.className),field:e,type:"datetime-local",value:r[0]||"",onChange:v=>t([v.target.value]),onInputChange:e.onInputChange})}if(["email","url","tel"].includes(e.type||"")){const v=()=>{switch(e.type){case"email":return"email";case"url":return"url";case"tel":return"tel";default:return"text"}},S=()=>{switch(e.type){case"email":return"^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$";case"url":return"^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$";case"tel":return"^[\\+]?[1-9][\\d]{0,15}$";default:return}};return a.jsx(D,{className:e.className,field:e,pattern:e.pattern||S(),placeholder:e.placeholder||i.i18n.placeholders.enterField(e.type||"text"),type:v(),value:r[0]||"",onChange:w=>t([w.target.value]),onInputChange:e.onInputChange})}if(e.type==="daterange"){const v=r[0]||"",S=r[1]||"";return a.jsxs("div",{className:ve({variant:i.variant,size:i.size,cursorPointer:i.cursorPointer}),children:[a.jsx(D,{className:I("w-24 max-w-full",e.className),field:e,type:"date",value:v,onChange:w=>t([w.target.value,S]),onInputChange:e.onInputChange}),a.jsx("div",{className:xe({variant:i.variant,size:i.size}),"data-slot":"filters-between",children:i.i18n.to}),a.jsx(D,{className:I("w-24 max-w-full",e.className),field:e,type:"date",value:S,onChange:w=>t([v,w.target.value]),onInputChange:e.onInputChange})]})}if(e.type==="text"||e.type==="number"){if(e.type==="number"&&l==="between"){const v=r[0]||"",S=r[1]||"";return a.jsxs("div",{className:"flex items-center","data-slot":"filters-item",children:[a.jsx(D,{className:I("w-16 max-w-full",e.className),field:e,max:e.max,min:e.min,pattern:e.pattern,placeholder:i.i18n.min,step:e.step,type:"number",value:v,onChange:w=>t([w.target.value,S]),onInputChange:e.onInputChange}),a.jsx("div",{className:xe({variant:i.variant,size:i.size}),"data-slot":"filters-between",children:i.i18n.to}),a.jsx(D,{className:I("w-16 max-w-full",e.className),field:e,max:e.max,min:e.min,pattern:e.pattern,placeholder:i.i18n.max,step:e.step,type:"number",value:S,onChange:w=>t([v,w.target.value]),onInputChange:e.onInputChange})]})}return a.jsx("div",{className:"flex items-center","data-slot":"filters-item",children:a.jsx(D,{className:I("w-36",e.className),field:e,max:e.type==="number"?e.max:void 0,min:e.type==="number"?e.min:void 0,pattern:e.pattern,placeholder:e.placeholder,step:e.type==="number"?e.step:void 0,type:e.type==="number"?"number":"text",value:r[0]||"",onChange:v=>t([v.target.value]),onInputChange:e.onInputChange})})}if(e.type==="date")return a.jsx(D,{className:I("w-16",e.className),field:e,type:"date",value:r[0]||"",onChange:v=>t([v.target.value]),onInputChange:e.onInputChange});if(e.type==="select"||e.type==="multiselect")return a.jsx(nt,{field:e,values:r,onChange:t});const j=r.length>1,z=((n=e.options)==null?void 0:n.filter(v=>r.includes(v.value)))||[],V=((u=e.options)==null?void 0:u.filter(v=>!r.includes(v.value)))||[];return a.jsxs(ze,{open:m,onOpenChange:v=>{p(v),v||setTimeout(()=>f(""),Ee)},children:[a.jsx(Fe,{className:ve({variant:i.variant,size:i.size,cursorPointer:i.cursorPointer}),children:a.jsx("div",{className:"flex w-full min-w-0 items-center gap-1.5",children:e.customValueRenderer?e.customValueRenderer(r,e.options||[]):a.jsxs(a.Fragment,{children:[z.length>0&&a.jsx("div",{className:"flex shrink-0 items-center -space-x-1.5",children:z.slice(0,3).map(v=>a.jsx("div",{children:v.icon},String(v.value)))}),z.length===1?a.jsx("span",{className:"min-w-0 truncate text-accent-foreground",title:z[0].detail?`${z[0].label} - ${z[0].detail}`:z[0].label,children:z[0].label}):z.length>1?`${z.length} ${i.i18n.selectedCount}`:i.i18n.select]})})}),a.jsx(_e,{className:I("w-36 p-0 data-[state=closed]:animation-none! data-[state=closed]:duration-0!",e.popoverContentClassName),children:a.jsxs(be,{children:[e.searchable!==!1&&a.jsx(Ve,{className:"h-[34px] text-sm",placeholder:i.i18n.placeholders.searchField(e.label||""),value:h,onValueChange:f}),a.jsxs(Re,{className:"outline-hidden",children:[a.jsx($e,{children:i.i18n.noResultsFound}),z.length>0&&a.jsx(de,{children:z.map(v=>a.jsxs(ee,{className:"group flex items-center gap-2",onSelect:()=>{t(j?r.filter(S=>S!==v.value):[]),j||p(!1)},children:[v.icon&&v.icon,a.jsx("span",{className:"truncate text-accent-foreground",children:v.label}),a.jsx(ce,{className:"ms-auto text-primary"})]},String(v.value)))}),V.length>0&&a.jsxs(a.Fragment,{children:[z.length>0&&a.jsx(ie,{}),a.jsx(de,{children:V.map(v=>a.jsxs(ee,{className:"group flex items-center gap-2",value:v.label,onSelect:()=>{if(j){const S=[...r,v.value];if(e.maxSelections&&S.length>e.maxSelections)return;t(S)}else t([v.value]),p(!1)},children:[v.icon&&v.icon,a.jsx("span",{className:"truncate text-accent-foreground",children:v.label}),a.jsx(ce,{className:"ms-auto text-primary opacity-0"})]},String(v.value)))})]})]})]})})]})}function xr({filters:e,fields:r,onChange:t,className:l,showAddButton:n=!0,addButtonText:u,addButtonIcon:m,addButtonClassName:p,addButton:h,showClearButton:f=!1,clearButtonText:i,clearButtonIcon:j,clearButtonClassName:z,clearButton:V,onClear:v,variant:S="outline",size:w="md",radius:C="md",i18n:_,showSearchInput:O=!0,cursorPointer:$=!0,trigger:P,allowMultiple:g=!0,popoverContentClassName:A,popoverAlign:X="start",keyboardShortcut:G,onActiveFieldChange:q}){const[k,R]=s.useState(!1),[T,M]=s.useState(null),[K,W]=s.useState([]);s.useEffect(()=>{q?.(T)},[T,q]),s.useEffect(()=>{if(!G)return;const d=c=>{const y=c.target;y.tagName==="INPUT"||y.tagName==="TEXTAREA"||y.isContentEditable||c.key.toLowerCase()===G.toLowerCase()&&!c.metaKey&&!c.ctrlKey&&!c.altKey&&(c.preventDefault(),R(N=>!N))};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[G]),s.useEffect(()=>{k&&setTimeout(()=>{const d=document.querySelector("[cmdk-input]");if(d)d.focus();else{const c=document.querySelector("[cmdk-root]");c&&c.focus()}},0)},[k,T,O]);const B={...le,..._,operators:{...le.operators,..._?.operators},placeholders:{...le.placeholders,..._?.placeholders},validation:{...le.validation,..._?.validation}},Q=s.useMemo(()=>ir(r),[r]),H=T?Q[T]:null,pe=s.useCallback((d,c)=>{t(e.map(y=>{if(y.id===d){const N={...y,...c};return(c.operator==="empty"||c.operator==="not_empty")&&(N.values=[]),N}return y}))},[e,t]),he=s.useCallback(d=>{t(e.filter(c=>c.id!==d))},[e,t]),o=s.useCallback(()=>{R(!1),M(null),W([])},[]),b=s.useCallback(d=>{const c=Q[d];if(!c?.key)return;if(c.type==="select"||c.type==="multiselect"){if(M(c.key),!g&&c.type==="multiselect"){const L=e.find(Z=>Z.field===d);W(L?L.values:[])}else W([]);return}const y=c.defaultOperator||(c.type==="daterange"||c.type==="numberrange"?"between":"is");let N=[];c.defaultValue!==void 0?N=[c.defaultValue]:["text","number","date","email","url","tel","time","datetime"].includes(c.type||"")?N=[""]:c.type==="daterange"?N=["",""]:c.type==="numberrange"?N=[c.min||0,c.max||100]:c.type==="boolean"&&(N=[!1]);const F=qe(d,y,N);t([...e,F]),o()},[g,o,Q,e,t]),E=s.useCallback((d,c,y=!0)=>{if(!d.key)return;if(!g){const L=e.find(Z=>Z.field===d.key);if(L){t(e.map(Z=>Z.id===L.id?{...Z,values:c}:Z)),W(c),y&&o();return}}const N=d.defaultOperator||(d.type==="multiselect"?"is_any_of":"is"),F=qe(d.key,N,c);t([...e,F]),y?o():W(c)},[g,o,e,t]),x=s.useMemo(()=>rt(r).filter(c=>!c.key||c.type==="separator"?!1:g?!0:!e.some(y=>y.field===c.key)),[r,e,g]);return a.jsx(Qe.Provider,{value:{variant:S,size:w,radius:C,i18n:B,cursorPointer:$,className:l,showAddButton:n,addButtonText:u,addButtonIcon:m,addButtonClassName:p,addButton:h,showSearchInput:O,trigger:P,allowMultiple:g},children:a.jsxs("div",{className:I(nr({variant:S,size:w}),e.length>0&&"w-full",f&&e.length>0&&"sm:pr-24",l),children:[e.map(d=>{const c=Q[d.field];return c?a.jsxs("div",{className:lr({variant:S}),"data-slot":"filter-item",children:[a.jsxs("div",{className:sr({variant:S,size:w,radius:C}),children:[c.icon,c.label]}),a.jsx(cr,{field:c,operator:d.operator,values:d.values,onChange:y=>pe(d.id,{operator:y})}),a.jsx(mr,{field:c,operator:d.operator,values:d.values,onChange:y=>pe(d.id,{values:y})}),a.jsx(or,{onClick:()=>he(d.id)})]},d.id):null}),n&&x.length>0&&a.jsxs(ze,{open:k,onOpenChange:d=>{R(d),d||(M(null),W([]))},children:[a.jsx(Fe,{asChild:!0,children:h||a.jsxs("button",{className:I(Le({variant:S,size:w,cursorPointer:$,radius:C}),p),title:B.addFilterTitle,type:"button",children:[m||a.jsx(pt,{}),u||B.addFilter]})}),a.jsx(_e,{align:X,className:I("p-0 data-[state=closed]:animation-none! data-[state=closed]:duration-0!",H?.className||A||"w-[220px]"),children:H?a.jsx(nt,{field:H,inline:!0,values:K,onChange:d=>{const c=H.type==="select";E(H,d,c)},onClose:o}):a.jsxs(be,{className:"outline-hidden",tabIndex:O?void 0:0,children:[O&&a.jsx(Ve,{className:"h-[34px]",placeholder:B.searchFields}),a.jsxs(Re,{className:"outline-hidden",children:[a.jsx($e,{children:B.noFieldsFound}),r.map((d,c)=>{if(et(d)){const N=d.fields.filter(F=>F.type==="separator"||g?!0:!e.some(L=>L.field===F.key));return N.length===0?null:a.jsx(de,{heading:d.group||"Fields",children:N.map((F,L)=>{if(F.type==="separator"){const Z=F.key??`${d.group??`group-${c}`}-separator-${L}`;return a.jsx(ie,{},Z)}return a.jsxs(ee,{className:"min-w-0",onSelect:()=>F.key&&b(F.key),children:[F.icon,a.jsx("span",{className:"truncate",children:F.label})]},F.key??`${d.group??`group-${c}`}-field-${L}`)})},d.group||`group-${c}`)}if(tt(d)){const N=d.fields.filter(F=>F.type==="separator"||g?!0:!e.some(L=>L.field===F.key));return N.length===0?null:a.jsx(de,{heading:d.group||"Fields",children:N.map(F=>{if(F.type==="separator"){const L=F.key||`${d.group||`group-${c}`}-separator-${F.label||Math.random()}`;return a.jsx(ie,{},L)}return a.jsxs(ee,{className:"min-w-0",onSelect:()=>F.key&&b(F.key),children:[F.icon,a.jsx("span",{className:"truncate",children:F.label})]},F.key)})},d.group||`group-${c}`)}const y=d;if(y.type==="separator"){const N=y.key||`flat-separator-${y.label||c}`;return a.jsx(ie,{},N)}return!g&&e.some(N=>N.field===y.key)?null:a.jsxs(ee,{className:"min-w-0",onSelect:()=>y.key&&b(y.key),children:[y.icon,a.jsx("span",{className:"truncate",children:y.label})]},y.key)})]})]})})]}),f&&e.length>0&&(V||a.jsxs("button",{className:I(Le({variant:S,size:w,cursorPointer:$,radius:C}),"border-0 bg-transparent hover:bg-transparent hover:text-foreground","sm:absolute sm:right-0 sm:top-0",z),type:"button",onClick:()=>{v?v():t([])},children:[j||a.jsx(Ke,{}),i||B.clearFilters]}))]})})}const qe=(e,r,t=[])=>({id:`${Date.now()}-${Math.random().toString(36).substring(2,11)}`,field:e,operator:r||"is",values:t});export{be as C,xr as F,Re as a,$e as b,qe as c,de as d,ee as e,hr as f};
|