ghost 6.24.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.1.tgz +0 -0
- package/core/boot.js +3 -1
- package/core/built/admin/assets/{PolarAngleAxis-7TlIQL3R.js → PolarAngleAxis-C6ZeSpZB.js} +1 -1
- package/core/built/admin/assets/{_baseAssignValue-DJsCJz6y.js → _baseAssignValue-BKAl5FrV.js} +1 -1
- package/core/built/admin/assets/{a-large-small-BnBpzYwl.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-DC4NtDDM.js → at-sign-B8xWKM0y.js} +1 -1
- package/core/built/admin/assets/{audience-CC5U4UxI.js → audience-CBOR--z9.js} +1 -1
- package/core/built/admin/assets/{avatar-flipboard-_GQfQXQc.js → avatar-flipboard-IipGb_wZ.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-BKyzPl9y.js → bluesky-sharing-CkI1QuAm.js} +1 -1
- package/core/built/admin/assets/{chart-BCQFlmhJ.js → chart-_slUcr-K.js} +1 -1
- package/core/built/admin/assets/{chunk.423.dae9a3bbe7845c3a3cfc.js → chunk.434.de8a15730373eccfeefe.js} +13 -101
- package/core/built/admin/assets/{chunk.524.b5e454aa74df4428420c.js → chunk.524.5b9b463506a16221fc91.js} +6 -6
- package/core/built/admin/assets/{chunk.582.20635869be68725e6d5c.js → chunk.582.d8eae1661d753befaefd.js} +7 -7
- package/core/built/admin/assets/{chunk.123.1255d9e815f933dfdc57.js → chunk.630.3dbb0231a2d871126a80.js} +8 -6
- package/core/built/admin/assets/{code-editor-view-BXnjo7qe.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-CQXipRWa.js → content-helpers-CmTGdEmL.js} +1 -1
- package/core/built/admin/assets/{copy-B-MxRWPu.js → copy-CDHcAPJw.js} +1 -1
- package/core/built/admin/assets/{data-list-B2sqn7IE.js → data-list-Crb1ffbp.js} +1 -1
- package/core/built/admin/assets/{deleted-feed-item-DQi676Dy.js → deleted-feed-item-DBW0zJQg.js} +1 -1
- package/core/built/admin/assets/{dropzone-GgOCfK2j.js → dropzone-B9JUsQlW.js} +3 -3
- package/core/built/admin/assets/{edit-profile-COx5FmF9.js → edit-profile-Dz-IhetN.js} +1 -1
- package/core/built/admin/assets/{empty-indicator-Bf4Dqk72.js → empty-indicator-2QGnEbtY.js} +1 -1
- package/core/built/admin/assets/{en-BkI47Ou-.js → en-BRQS1Z8j.js} +1 -1
- package/core/built/admin/assets/{feed-Dzc-8jwd.js → feed-T3kW9UJA.js} +1 -1
- package/core/built/admin/assets/filters-ChOMQQZW.js +1 -0
- package/core/built/admin/assets/{gh-chart-Ch6dYUac.js → gh-chart-fuWw60Ka.js} +1 -1
- package/core/built/admin/assets/{ghost-69e448feab2cb78aba64f7177fa4d6f0.js → ghost-78b4a517ac907213ab47708eef33bc6f.js} +423 -542
- package/core/built/admin/assets/{growth-BIBJdcm6.js → growth-D9sCnmon.js} +1 -1
- package/core/built/admin/assets/{hash-BGd7HEsT.js → hash-CI1pQ1UC.js} +1 -1
- package/core/built/admin/assets/header-OevT95FI.js +1 -0
- package/core/built/admin/assets/{inbox-CFzKvW3h.js → inbox-DYY8-M1K.js} +1 -1
- package/core/built/admin/assets/{index-Dy8dCc8t.js → index-8CZdLQzu.js} +4 -4
- package/core/built/admin/assets/{index-DIO8ceib.js → index-BDAOs7pI.js} +1 -1
- package/core/built/admin/assets/{index-BZyG96u1.js → index-BEEgMX-_.js} +1 -1
- package/core/built/admin/assets/index-BbveDn8H.css +1 -0
- package/core/built/admin/assets/{index-BYXKsmpv.js → index-C-Cpbee5.js} +1 -1
- package/core/built/admin/assets/{index-DDJAHYHQ.js → index-CCF2RKxR.js} +12 -12
- package/core/built/admin/assets/{index-ZuWSQ3L6.js → index-CEnfjH5h.js} +93 -93
- package/core/built/admin/assets/{index-_WMp37yL.js → index-CcFVbffG.js} +1 -1
- package/core/built/admin/assets/{index-DpZazR71.js → index-CyMlhfZJ.js} +1 -1
- package/core/built/admin/assets/{index-DM98UB_U.js → index-DBZYUfjO.js} +1 -1
- package/core/built/admin/assets/{index-D0gRP4Gp.js → index-DJa3pLmx.js} +1 -1
- package/core/built/admin/assets/{index-n5opb8tL.js → index-DVqmhe-L.js} +1 -1
- package/core/built/admin/assets/{index-S2DGJkmz.js → index-DW5aEj6O.js} +2 -2
- package/core/built/admin/assets/{index-CvX5YYEz.js → index-DcFgRUSN.js} +1 -1
- package/core/built/admin/assets/{index-7NTHsKgE.js → index-DjgsxHeB.js} +1 -1
- package/core/built/admin/assets/index-mqQc8MVd.js +1 -0
- package/core/built/admin/assets/{index-CsHjDdYB.js → index-qQZsxgFE.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-8qAZ5o1x.js → koenig-lexical-CsbE6fpi.js} +1 -1
- package/core/built/admin/assets/kpis-Dw04ruBN.js +1 -0
- package/core/built/admin/assets/{label-CofMdj8x.js → label-tBvn89sm.js} +1 -1
- package/core/built/admin/assets/{links-MSlYSad1.js → links-Do4jcjIh.js} +1 -1
- package/core/built/admin/assets/{loader-circle-CF5G2g_Z.js → loader-circle-C8exRUku.js} +4 -4
- package/core/built/admin/assets/{lucide-react-DZiAu6PQ.js → lucide-react-4VO5Dwow.js} +1 -1
- package/core/built/admin/assets/{main-layout-DEVUkqt_.js → main-layout-BAqXRgAx.js} +1 -1
- package/core/built/admin/assets/{member-route-mLKS-PsA.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-DESy3kSk.js → message-square-text-CC_1bY-Q.js} +5 -5
- package/core/built/admin/assets/{minus-DVNwSjD6.js → minus-DSyx9DCe.js} +1 -1
- package/core/built/admin/assets/{modals-FYjLOMaQ.js → modals-AryZr_DA.js} +13 -13
- package/core/built/admin/assets/{moderation-u4WS46a-.js → moderation-DwKm9LO-.js} +1 -1
- package/core/built/admin/assets/{newsletter-Cj0UCg4J.js → newsletter-C0rydPGS.js} +1 -1
- package/core/built/admin/assets/{newsletters-_UvhdBE3.js → newsletters-DKdmxfDG.js} +1 -1
- package/core/built/admin/assets/{note-CRnFryTp.js → note-996Zos9G.js} +1 -1
- package/core/built/admin/assets/{overview-Cr0dGxEU.js → overview-r17hlWAB.js} +1 -1
- package/core/built/admin/assets/{pagemenu-BqoDENpI.js → pagemenu-DzpB1AkZ.js} +17 -17
- package/core/built/admin/assets/{post-analytics-DIr_rDtL.js → post-analytics-AwufPVFE.js} +1 -1
- package/core/built/admin/assets/{post-analytics-context-WA--pwK5.js → post-analytics-context-GFe0lMc-.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-D97SoEaV.js → post-analytics-header-DmGyNvP9.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-DBxR7WCX.js → post-share-modal-CTpdCS2X.js} +1 -1
- package/core/built/admin/assets/posts/{comments-Bswx2dzs.mjs → comments-Cvt31uBs.mjs} +597 -674
- package/core/built/admin/assets/posts/{dialog-67vvNv8e.mjs → dialog-DaViJlnd.mjs} +3 -3
- package/core/built/admin/assets/posts/{dropdown-menu-BKZfsAPJ.mjs → dropdown-menu-B4KGMiRI.mjs} +5 -5
- package/core/built/admin/assets/posts/{empty-indicator-DTmBQa_3.mjs → empty-indicator-BaD6pCXM.mjs} +2 -2
- package/core/built/admin/assets/posts/filters-BsCI4RJg.mjs +2835 -0
- package/core/built/admin/assets/posts/{get-site-timezone-D75cHSJ1.mjs → get-site-timezone-Bo-iI2bI.mjs} +2 -2
- package/core/built/admin/assets/posts/{growth-BqJWjpAp.mjs → growth-BJxIDp2o.mjs} +14 -14
- package/core/built/admin/assets/posts/header-7zhnErbb.mjs +100 -0
- package/core/built/admin/assets/posts/{heading-DXxLDQ96.mjs → heading-BCDx_eVF.mjs} +2 -2
- package/core/built/admin/assets/posts/{hooks-pVotzebr.mjs → hooks-DQL2O_El.mjs} +2 -2
- package/core/built/admin/assets/posts/{index-DZ1HzbGS.mjs → index-0mEgtljt.mjs} +3 -3
- package/core/built/admin/assets/posts/{index-By5yPnMZ.mjs → index-BTzJVQ6S.mjs} +10 -10
- package/core/built/admin/assets/posts/{input-DdXe2Fjm.mjs → input-DaHXv92f.mjs} +2 -2
- package/core/built/admin/assets/posts/{kpis-1MXZeSC9.mjs → kpis-GRsx6fPV.mjs} +10 -10
- package/core/built/admin/assets/posts/{links-DGzzdzsH.mjs → links-B1q_pqE9.mjs} +4 -4
- package/core/built/admin/assets/posts/{loading-indicator-CSj2spwS.mjs → loading-indicator-DiYqXomj.mjs} +3 -3
- package/core/built/admin/assets/posts/{main-layout-CGs25JVH.mjs → main-layout-DeqPTJTe.mjs} +2 -2
- package/core/built/admin/assets/posts/{members-BRcED5fL.mjs → members-LABk5yI5.mjs} +4102 -3442
- package/core/built/admin/assets/posts/{newsletter-D706LlgM.mjs → newsletter-C_nbHBaP.mjs} +15 -15
- package/core/built/admin/assets/posts/{overview-5dG5ypjx.mjs → overview-AJnKv4Ze.mjs} +16 -16
- package/core/built/admin/assets/posts/{post-analytics-wvNuOa4c.mjs → post-analytics-b_CKsePp.mjs} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-context-BqnFe05q.mjs → post-analytics-context-D6jtpxxm.mjs} +5 -5
- package/core/built/admin/assets/posts/{post-analytics-header-Dsi5l6hb.mjs → post-analytics-header-R5UF_tF0.mjs} +11 -11
- package/core/built/admin/assets/posts/{post-share-modal-DWe35McY.mjs → post-share-modal-y4BEOajk.mjs} +4 -4
- package/core/built/admin/assets/posts/posts-C2hNrf1c.mjs +37 -0
- package/core/built/admin/assets/posts/posts.js +1 -1
- package/core/built/admin/assets/posts/{reply-B4vwBMwj.mjs → reply-2Uvi3Kxb.mjs} +2 -2
- package/core/built/admin/assets/posts/{search-DQuB1WMm.mjs → search-se7meOnL.mjs} +2 -2
- package/core/built/admin/assets/posts/{select-BMPHyOdQ.mjs → select-DpUpauFg.mjs} +8 -8
- package/core/built/admin/assets/posts/{separator-DgZ2VF9r.mjs → separator-CdBM46dw.mjs} +3 -3
- package/core/built/admin/assets/posts/{settings-D-wnf7Qg.mjs → settings-Chhj9xKP.mjs} +2 -2
- package/core/built/admin/assets/posts/{sheet-SOdCzxUt.mjs → sheet--k3SiDko.mjs} +3 -3
- package/core/built/admin/assets/posts/{skeleton-Du7JXZ_1.mjs → skeleton-CUSLSLoY.mjs} +3 -3
- package/core/built/admin/assets/posts/{source-icon-DcBtKbCl.mjs → source-icon-BjYUIoXN.mjs} +3 -3
- package/core/built/admin/assets/posts/{stats-CeLav-Hu.mjs → stats-BRdXKaxM.mjs} +4 -4
- package/core/built/admin/assets/posts/{table-DlaJMBps.mjs → table-Bgi_UcfL.mjs} +2 -2
- package/core/built/admin/assets/posts/{tabs-BQQbtw2g.mjs → tabs-DT8Bh72E.mjs} +14 -14
- package/core/built/admin/assets/posts/tags-BCFLnZYl.mjs +399 -0
- package/core/built/admin/assets/posts/{tags-CLyaNf39.mjs → tags-Kv2q0o3p.mjs} +2 -2
- package/core/built/admin/assets/posts/use-scroll-restoration-CLAUAal3.mjs +517 -0
- package/core/built/admin/assets/posts/{use-infinite-virtual-scroll-B_NwiBXK.mjs → virtual-list-window-CQDEqNBL.mjs} +246 -262
- package/core/built/admin/assets/posts/{web-TEVKbXSI.mjs → web-CqN0MQU6.mjs} +18 -18
- package/core/built/admin/assets/posts-GvXDuhVG.js +1 -0
- package/core/built/admin/assets/{referrers-J4vexZCf.js → referrers-Bd9pW-WX.js} +1 -1
- package/core/built/admin/assets/{repeat-BxOK9zhN.js → repeat-y6HlMgGO.js} +2 -2
- package/core/built/admin/assets/{reply-BoTN-eE0.js → reply-Cc8ryI5v.js} +2 -2
- package/core/built/admin/assets/{select-Bd1zcqox.js → select-CGr_5qad.js} +1 -1
- package/core/built/admin/assets/{settings-D72z6T_a.js → settings-BPsfSgg3.js} +1 -1
- package/core/built/admin/assets/{settings-BGbGoa4s.js → settings-BTd0Adha.js} +19 -19
- package/core/built/admin/assets/{sort-button-BOLTpImz.js → sort-button-k76_5HR2.js} +1 -1
- package/core/built/admin/assets/{source-icon-BqEM5MvU.js → source-icon-DMt0UskC.js} +1 -1
- package/core/built/admin/assets/{sprout-Bf-wc2Vo.js → sprout-Td9eaOoY.js} +2 -2
- package/core/built/admin/assets/{square-Cj_bJ0HZ.js → square-Df8vEYlG.js} +1 -1
- package/core/built/admin/assets/stats/{audience-BiHYBUzT.mjs → audience-DMTObpL8.mjs} +3 -3
- package/core/built/admin/assets/stats/{content-helpers-CIXZiyCm.mjs → content-helpers-ReMp9KJN.mjs} +4 -4
- package/core/built/admin/assets/stats/{index-CkKk-p14.mjs → index-6L-yLKFX.mjs} +8 -8
- package/core/built/admin/assets/stats/{index-DBB8Oih1.mjs → index-CIUyjeP-.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-9zQR4gr0.mjs → index-CMSDpQm3.mjs} +3626 -3513
- package/core/built/admin/assets/stats/{index-DErXBfDM.mjs → index-Ca-_KJzy.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-DMSmQLxG.mjs → index-CfO5yPSP.mjs} +5 -5
- package/core/built/admin/assets/stats/{sort-button-BqY7GFaO.mjs → sort-button-BB_M2CdZ.mjs} +3 -3
- package/core/built/admin/assets/stats/{stats-BeJgKX2G.mjs → stats-B2nnuLeU.mjs} +4 -4
- package/core/built/admin/assets/stats/stats.js +1 -1
- package/core/built/admin/assets/stats/{tabs-CPz357mW.mjs → tabs-DjJG-d3O.mjs} +3 -3
- package/core/built/admin/assets/stats/{use-growth-stats-WMYXBQE3.mjs → use-growth-stats-BMT5M7l6.mjs} +3 -3
- package/core/built/admin/assets/{stats-DWpHtRym.js → stats-Bs9ZbmXX.js} +1 -1
- package/core/built/admin/assets/stats-view-BWoPuaLz.js +1 -0
- package/core/built/admin/assets/{step-1-Bjya9Gt0.js → step-1-BUvsuCs0.js} +1 -1
- package/core/built/admin/assets/{step-2-CJ6I8JNc.js → step-2-DI9ekXls.js} +1 -1
- package/core/built/admin/assets/{step-3-3fs6Y2Kj.js → step-3-DzT_XhaS.js} +2 -2
- package/core/built/admin/assets/{table-B4zlzEDP.js → table-BKqaEGAm.js} +1 -1
- package/core/built/admin/assets/{tabs-mR5oJGm5.js → tabs-G6Ql8vbf.js} +1 -1
- package/core/built/admin/assets/tags-BHm-dlBs.js +1 -0
- package/core/built/admin/assets/{tags-CsgMtkFL.js → tags-_taMP0sJ.js} +1 -1
- package/core/built/admin/assets/{textarea-CQjEvapR.js → textarea-DcVuGYYq.js} +1 -1
- package/core/built/admin/assets/{tiers-CQE0v797.js → tiers-kv-xBoqQ.js} +1 -1
- package/core/built/admin/assets/{toggle-group-CR-Z-bJL.js → toggle-group-DsatLdt7.js} +1 -1
- package/core/built/admin/assets/{topic-filter-_NyD55eH.js → topic-filter-DkJyIuAf.js} +1 -1
- package/core/built/admin/assets/{trash-BFSLkv0z.js → trash-BeZZgbn-.js} +1 -1
- package/core/built/admin/assets/{upload-BTxT4v2z.js → upload-BG7KNIn7.js} +4 -4
- package/core/built/admin/assets/{use-growth-stats-BGymNu5O.js → use-growth-stats-CNGdl44N.js} +1 -1
- package/core/built/admin/assets/use-scroll-restoration-CQ3w0W98.js +1 -0
- package/core/built/admin/assets/{use-simple-pagination-Cq7Afp_c.js → use-simple-pagination-BeIJ_5Vv.js} +1 -1
- package/core/built/admin/assets/{user-plus-DMl69yKl.js → user-plus-CMxR50-Y.js} +1 -1
- package/core/built/admin/assets/{user-round-check-CVuZXUPz.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-zHR_y6Sp.js → wallet-cards-CJcVzH0D.js} +1 -1
- package/core/built/admin/assets/{web-CmFHgeQw.js → web-BPwTFKrc.js} +1 -1
- package/core/built/admin/index.html +7 -7
- package/core/frontend/helpers/ghost_head.js +1 -4
- package/core/server/data/migrations/versions/6.25/2026-03-26-15-47-00-insert-default-email-design-settings-row.js +42 -0
- package/core/server/data/migrations/versions/6.25/2026-03-30-20-22-25-add-email-design-setting-permissions.js +44 -0
- package/core/server/data/migrations/versions/6.25/2026-03-30-22-16-43-add-email-design-setting-id-to-automated-emails.js +8 -0
- package/core/server/data/migrations/versions/6.25/2026-03-31-13-12-10-backfill-automated-emails-email-design-setting-id.js +45 -0
- package/core/server/data/migrations/versions/6.25/2026-03-31-20-31-19-drop-nullable-on-automated-emails-email-design-setting-id.js +3 -0
- package/core/server/data/schema/fixtures/fixtures.json +35 -0
- package/core/server/data/schema/schema.js +1 -0
- package/core/server/data/seeders/importers/comment-reports-importer.js +1 -3
- package/core/server/data/seeders/importers/comments-importer.js +3 -2
- package/core/server/data/seeders/importers/email-batches-importer.js +3 -3
- package/core/server/data/seeders/importers/email-recipients-importer.js +6 -6
- package/core/server/data/seeders/importers/emails-importer.js +4 -3
- package/core/server/data/seeders/importers/members-click-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-created-events-importer.js +2 -1
- package/core/server/data/seeders/importers/members-feedback-importer.js +3 -4
- package/core/server/data/seeders/importers/members-login-events-importer.js +3 -2
- package/core/server/data/seeders/importers/members-status-events-importer.js +1 -2
- package/core/server/data/seeders/importers/members-stripe-customers-importer.js +2 -1
- package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +4 -2
- package/core/server/data/seeders/importers/members-subscribe-events-importer.js +1 -2
- package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +3 -1
- package/core/server/data/seeders/importers/offer-redemptions-importer.js +3 -3
- package/core/server/data/seeders/utils/database-date.js +26 -1
- package/core/server/models/automated-email.js +27 -0
- package/core/server/models/email-design-setting.js +27 -0
- package/core/server/services/members/service.js +0 -22
- package/core/server/services/stripe/service.js +1 -2
- 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/server/services/webhooks/webhook-trigger.js +1 -1
- package/core/shared/labs.js +2 -2
- package/package.json +10 -28
- package/tsconfig.tsbuildinfo +1 -1
- package/yarn.lock +423 -107
- package/components/tryghost-i18n-6.24.0.tgz +0 -0
- package/components/tryghost-parse-email-address-6.24.0.tgz +0 -0
- package/core/built/admin/assets/comments-CteqV7ZN.js +0 -1
- package/core/built/admin/assets/filters-DXXaCya7.js +0 -1
- package/core/built/admin/assets/index-QB-va_sk.css +0 -1
- package/core/built/admin/assets/index-nBUk6L1X.js +0 -1
- package/core/built/admin/assets/kpis-Cv75oSPY.js +0 -1
- package/core/built/admin/assets/members-DcElgZ2t.js +0 -15
- package/core/built/admin/assets/posts/filters-Ds_ZaYIU.mjs +0 -2722
- package/core/built/admin/assets/posts/posts-DI5YQFp4.mjs +0 -17
- package/core/built/admin/assets/posts/tags-CjwolIiT.mjs +0 -395
- package/core/built/admin/assets/posts/use-scroll-restoration-YSR5jwQl.mjs +0 -232
- package/core/built/admin/assets/posts-CJHEP4C-.js +0 -1
- package/core/built/admin/assets/stats-view-CcyaLPwj.js +0 -1
- package/core/built/admin/assets/tags-DEFC6GpD.js +0 -1
- package/core/built/admin/assets/use-infinite-virtual-scroll-CNqGwgHd.js +0 -4
- package/core/built/admin/assets/use-scroll-restoration-BWtb0NrS.js +0 -1
- package/core/shared/config/env/config.testing-browser.json +0 -98
- /package/core/built/admin/assets/{chunk.423.dae9a3bbe7845c3a3cfc.js.LICENSE.txt → chunk.434.de8a15730373eccfeefe.js.LICENSE.txt} +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as u,j as e,z as w,a0 as ge,d0 as Z,d1 as ve,aL as J,cC as Ne,d2 as Ce,X as we,d3 as ke,B as j,bu as ye,ag as _e,ae as ee,af as E,ck as D,cl as F,cm as $,cn as z,cB as S,cM as Se,D as O,v as B,w as H,x as U,aa as Pe,ab as V,d4 as Le,d5 as Me,b5 as Re,aU as Ie,b6 as Te,b7 as De,b9 as M,y as Fe,d6 as $e,e as P,bG as se,bW as R,am as ze,G as q,bO as Ee,bQ as Oe,bR as Be,bS as He,aZ as Ue,d7 as te}from"./index-ZuWSQ3L6.js";import{F as Ve,c as qe}from"./filters-DXXaCya7.js";import{u as Ae,g as Qe}from"./posts-CJHEP4C-.js";import{M as We,F as A,a as ae,D as Q,E as re}from"./message-square-text-DESy3kSk.js";import{a as Ge,F as Ke,c as Ye,C as Xe,E as ne}from"./loader-circle-CF5G2g_Z.js";import{H as K,u as Ze}from"./use-infinite-virtual-scroll-CNqGwgHd.js";import{M as Je}from"./main-layout-DEVUkqt_.js";import{M as _,u as es}from"./use-scroll-restoration-BWtb0NrS.js";import{C as ie,a as ss}from"./index-DM98UB_U.js";import{L as ts}from"./label-CofMdj8x.js";import{R as as}from"./reply-BoTN-eE0.js";import{E as le}from"./empty-indicator-Bf4Dqk72.js";const oe=u.forwardRef(({className:s,...a},t)=>e.jsx(ie,{ref:t,className:w("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),...a,children:e.jsx(ss,{className:w("grid place-content-center text-current"),children:e.jsx(ge,{className:"size-4"})})}));oe.displayName=ie.displayName;const rs=({children:s,className:a,...t})=>e.jsx("section",{className:w("flex gap-6 flex-col p-4 lg:p-8 size-full grow",a),...t,children:s});function Y({knownItems:s,useSearch:a,useGetById:t,filters:r,filterFieldName:n,searchFieldName:l,toOption:o}){const[i,c]=u.useState(""),{data:d,isLoading:x}=a(i),h=u.useMemo(()=>{const C=r.find(p=>p.field===n);return C?.values[0]?String(C.values[0]):""},[r,n]),N=u.useMemo(()=>!h||s.some(p=>p.id===h)?!1:!(d?.[l]??[]).some(p=>p.id===h),[h,s,d,l]),{data:b,isLoading:g}=t(h||"",{enabled:N,defaultErrorHandler:!1}),y=x||g,k=u.useCallback(C=>o(C),[o]);return{options:u.useMemo(()=>{const C=d?.[l]??[],p={};for(const f of s)p[f.id]=k(f);for(const f of C)p[f.id]=k(f);const v=b?.[l]?.[0];return v?.id&&(p[v.id]=k(v)),h&&!(h in p)&&(p[h]={value:h,label:`ID: ${h}`}),Object.values(p)},[s,d,l,b,h,k]),isLoading:y,searchValue:i,onSearchChange:c}}function ns(s){const[a]=Z(s,200);return ve({searchParams:{...a&&{search:a},limit:"100",order:"created_at DESC"}})}function is(s){const[a]=Z(s,200),t=a?`title:~'${a.replace(/'/g,"\\'")}'`:"";return Ae({searchParams:{...t&&{filter:t},limit:"100",fields:"id,title",order:"published_at DESC"}})}const ls=({knownPosts:s,knownMembers:a,filters:t,onFiltersChange:r})=>{const n=Y({knownItems:s,useSearch:is,useGetById:Qe,searchFieldName:"posts",filters:t,filterFieldName:"post",toOption:d=>({value:d.id,label:d.title||"(Untitled)"})}),l=Y({knownItems:a,useSearch:ns,useGetById:ke,searchFieldName:"members",filters:t,filterFieldName:"author",toOption:d=>({value:d.id,label:d.name||"Unknown name",detail:d.email??"(Unknown email)"})}),o=u.useMemo(()=>[{key:"author",label:"Author",type:"select",icon:e.jsx(J,{className:"size-4"}),options:l.options,isLoading:l.options.length===0&&l.isLoading,onSearchChange:l.onSearchChange,searchValue:l.searchValue,searchable:!0,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(Ne,{className:"size-4"}),options:n.options,isLoading:n.options.length===0&&n.isLoading,onSearchChange:n.onSearchChange,searchValue:n.searchValue,searchable:!0,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(We,{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(Ce,{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(A,{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(Ge,{className:"size-4"}),operators:[{value:"is",label:"is"},{value:"before",label:"before"},{value:"after",label:"after"}]}],[n,l]),i=t.length>0,c=w("flex flex-row",!i&&"[grid-area:actions] pt-5 justify-start sm:justify-end sm:pt-0",i&&"col-start-1 col-end-4 row-start-3 pt-5");return e.jsx("div",{className:c,children:e.jsx(Ve,{addButtonIcon:i?e.jsx(Ke,{}):e.jsx(Ye,{}),addButtonText:i?"Add filter":"Filter",allowMultiple:!1,className:`[&>button]:order-last ${i?"[&>button]:border-none":"w-auto"}`,clearButtonClassName:"font-normal text-muted-foreground",clearButtonIcon:e.jsx(we,{}),clearButtonText:"Clear",fields:o,filters:t,keyboardShortcut:"f",popoverAlign:i?"start":"end",showClearButton:i,showSearchInput:!1,onChange:r})})},os=({children:s})=>e.jsxs(K,{className:"relative pb-6! md:sticky",variant:"inline-nav",children:[e.jsx(K.Title,{children:"Comments"}),s]}),cs=({children:s})=>e.jsx(Je,{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 ds({onClick:s,expanded:a}){return e.jsxs(j,{className:"shrink-0 gap-0.5 self-start p-0 text-base hover:bg-transparent",variant:"ghost",onClick:s,children:[a?"Show less":"Show more",a?e.jsx(Xe,{}):e.jsx(ye,{})]})}function ce({item:s}){const a=u.useRef(null),[t,r]=u.useState(!1),[n,l]=u.useState(!1);return u.useEffect(()=>{if(n)return;const o=()=>{a.current&&r(a.current.scrollHeight>a.current.clientHeight)};return o(),window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[s.html,n]),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:a,className:w("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",n?"-mb-1 [&_p]:mb-[0.85em]":"line-clamp-2 [&_p]:m-0 [&_blockquote+p]:mt-1 mb-1")}),t&&e.jsx(ds,{expanded:n,onClick:()=>l(!n)})]})})}const I="CommentsResponseType",ms=_e({dataType:I,path:"/comments/",defaultNextPageParams:(s,a)=>{var t,r;return(t=s.meta)!=null&&t.pagination.next?{...a,page:(((r=s.meta)==null?void 0:r.pagination.next)||1).toString()}:void 0},returnData:s=>{const{pages:a}=s,t=a.flatMap(n=>n.comments),r=a[a.length-1].meta;return{comments:t,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}}),de=s=>ms({...s,searchParams:{limit:"100",order:"created_at desc",include:"member,post,parent",...s?.searchParams}}),me=ee({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,status:"hidden"}]}),invalidateQueries:{dataType:I}}),ue=ee({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,status:"published"}]}),invalidateQueries:{dataType:I}}),us=E({dataType:I,path:s=>`/comments/${s}/`,defaultSearchParams:{include:"member,post,count.replies,count.direct_replies,count.likes,count.reports,parent,in_reply_to"}}),hs=E({dataType:"CommentReportsResponseType",path:s=>`/comments/${s}/reports/`}),xs=(s,a)=>hs(s,{...a}),ps=E({dataType:"CommentLikesResponseType",path:s=>`/comments/${s}/likes/`,defaultSearchParams:{include:"member",limit:"100",order:"created_at desc"}}),fs=(s,a)=>ps(s,{...a}),js=(s,a)=>de({...a,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 bs(s){const a=new Date(s);return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"numeric"}).format(a).replace(/(\d+),(\s+\d{4})/,"$1$2")}function he({memberName:s,memberId:a,createdAt:t,isHidden:r,canComment:n,onAuthorClick:l,postTitle:o,onPostClick:i,className:c}){return e.jsxs("div",{className:w("flex items-baseline gap-4",c),children:[e.jsxs("div",{className:w("mb-1 flex min-w-0 items-center gap-x-1 text-sm",r&&"opacity-50"),children:[e.jsx("div",{className:"whitespace-nowrap",children:a&&l?e.jsx(j,{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"})}),n===!1&&e.jsx(D,{children:e.jsxs(F,{children:[e.jsx($,{asChild:!0,children:e.jsx("span",{"data-testid":"commenting-disabled-indicator",children:e.jsx(ae,{className:"size-3.5 text-muted-foreground"})})}),e.jsx(z,{children:"Comments disabled"})]})}),e.jsx(Q,{className:"shrink-0 text-muted-foreground/50",size:16}),e.jsx("div",{className:"shrink-0 whitespace-nowrap",children:t&&e.jsx(D,{children:e.jsxs(F,{children:[e.jsx($,{asChild:!0,children:e.jsx("span",{className:"cursor-default text-sm text-muted-foreground",children:S(t)})}),e.jsx(z,{children:bs(t)})]})})}),o&&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:i?e.jsx(j,{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:i,children:o}):e.jsx("span",{className:"font-medium text-gray-800 dark:text-gray-400",children:o})})]})]}),r&&e.jsx(Se,{variant:"secondary",children:"Hidden"})]})}function gs({open:s,memberName:a,onOpenChange:t,onConfirm:r}){const[n,l]=u.useState(!1),o=c=>{c||l(!1),t(c)},i=()=>{r(n),l(!1)};return e.jsx(O,{open:s,onOpenChange:o,children:e.jsxs(B,{className:"gap-5",children:[e.jsxs(H,{children:[e.jsx(U,{children:"Disable comments"}),e.jsxs(Pe,{children:[a||"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(oe,{checked:n,id:"hide-comments",onCheckedChange:c=>l(c===!0)}),e.jsx(ts,{htmlFor:"hide-comments",children:"Hide all previous comments"})]}),e.jsxs(V,{children:[e.jsx(j,{variant:"outline",onClick:()=>o(!1),children:"Cancel"}),e.jsx(j,{onClick:i,children:"Disable comments"})]})]})})}function xe({comment:s}){const{mutate:a}=Le(),{mutate:t}=Me(),[r,n]=u.useState(!1),{id:l,post:o,member:i}=s,c=o?.url,d=i?.id,x=i?.can_comment,h=b=>{d&&(a({id:d,reason:`Disabled from comment ${l}`,hideComments:b}),n(!1))},N=()=>{d&&t({id:d})};return e.jsxs(e.Fragment,{children:[e.jsxs(Re,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(j,{className:"relative z-10 text-gray-800 hover:bg-secondary [&_svg]:size-4",size:"sm",variant:"ghost",children:e.jsx(Te,{})})}),e.jsxs(De,{align:"start",children:[c&&e.jsx(M,{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"]})}),d&&e.jsx(M,{asChild:!0,children:e.jsxs("a",{href:`#/members/${d}`,children:[e.jsx(J,{className:"size-4"}),"View member"]})}),d&&(x!==!1?e.jsxs(M,{onClick:()=>n(!0),children:[e.jsx(ae,{className:"size-4"}),"Disable commenting"]}):e.jsxs(M,{onClick:N,children:[e.jsx($e,{className:"size-4"}),"Enable commenting"]}))]})]}),e.jsx(gs,{memberName:i?.name,open:r,onConfirm:h,onOpenChange:n})]})}function vs({comment:s,open:a,onOpenChange:t}){const{data:r,isLoading:n}=fs(s.id,{enabled:a}),l=r?.comment_likes??[],o=s.count?.likes??0,i=o-l.length;return e.jsx(O,{open:a,onOpenChange:t,children:e.jsxs(B,{"aria-describedby":void 0,children:[e.jsx(H,{children:e.jsxs(U,{children:[o," ",o===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(_,{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&&S(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:n?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(P,{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(_,{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(se,{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:S(c.created_at)})]},c.id)),i>0&&e.jsxs("div",{className:"pt-1 text-center text-sm text-muted-foreground",children:["and ",i," more"]})]})}),e.jsx(V,{children:e.jsx(j,{onClick:()=>t(!1),children:"OK"})})]})})}function Ns({comment:s,open:a,onOpenChange:t}){const{data:r,isLoading:n}=xs(s.id,{enabled:a}),l=r?.comment_reports??[],o=s.count?.reports??l.length;return e.jsx(O,{open:a,onOpenChange:t,children:e.jsxs(B,{"aria-describedby":void 0,children:[e.jsx(H,{children:e.jsxs(U,{children:[o," ",o===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(_,{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&&S(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:n?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(P,{size:"md"})}):e.jsx("div",{className:"flex flex-col gap-3 pb-1",children:l.map(i=>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(_,{avatarImage:i.member?.avatar_image,memberId:i.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(A,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:i.member?.name||"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:S(i.created_at)})]},i.id))})}),e.jsx(V,{children:e.jsx(j,{onClick:()=>t(!1),children:"OK"})})]})})}function T({icon:s,count:a,label:t,to:r,onClick:n,className:l,testId:o}){const i=w("flex items-center gap-1 text-xs text-gray-800",l),c=e.jsxs(e.Fragment,{children:[s,e.jsx("span",{children:ze(a)})]}),d=r||n;return e.jsx(D,{children:e.jsxs(F,{children:[e.jsx($,{asChild:!0,children:r?e.jsx(q,{className:w(i,"cursor-pointer hover:opacity-70"),"data-testid":o,to:r,onClick:x=>{x.stopPropagation()},children:c}):n?e.jsx("button",{className:w(i,"cursor-pointer hover:opacity-70"),"data-testid":o,type:"button",onClick:x=>{x.stopPropagation(),n()},children:c}):e.jsx("div",{className:i,"data-testid":o,children:c})}),e.jsx(z,{children:d?`View ${t.toLowerCase()}`:t})]})})}function W(s,a){if(!a)return;const t=new URLSearchParams(s);return t.set("thread",`is:${a}`),`?${t.toString()}`}function pe({comment:s,className:a}){const[t]=R(),[r,n]=u.useState(!1),[l,o]=u.useState(!1),i=W(t,s.id),c=s.count?.direct_replies??s.count?.replies??s.replies?.length??0,d=s.count?.likes??0,x=s.count?.reports??0,h=c>0,N=d>0,b=x>0;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:w("flex items-center gap-6",a),children:[e.jsx(T,{count:c,icon:e.jsx(as,{size:16,strokeWidth:1.5}),label:"Replies",testId:"replies-metric",to:h?i:void 0}),e.jsx(T,{count:d,icon:e.jsx(se,{size:16,strokeWidth:1.5}),label:"Likes",onClick:N?()=>n(!0):void 0}),e.jsx(T,{className:b?"font-semibold text-red":void 0,count:x,icon:e.jsx(A,{size:16,strokeWidth:1.5}),label:"Reports",onClick:b?()=>o(!0):void 0})]}),e.jsx(vs,{comment:s,open:r,onOpenChange:n}),e.jsx(Ns,{comment:s,open:l,onOpenChange:o})]})}function Cs({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 fe({comment:s,isReply:a=!1,isSelectedComment:t=!1,selectedCommentId:r}){const[n]=R(),{mutate:l}=me(),{mutate:o}=ue(),i=(s.replies?.length??0)>0||(s.count?.direct_replies??s.count?.replies??0)>0,c=!i||a?"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(_,{avatarImage:s.member?.avatar_image,className:"mb-3 shrink-0 md:mb-4",isHidden:s.status==="hidden",memberId:s.member?.id}),e.jsx(Cs,{hasReplies:i&&!a})]}),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(he,{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&&t&&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(q,{className:"text-sm font-normal text-muted-foreground hover:text-foreground","data-testid":"replied-to-link",to:W(n,s.in_reply_to_id||s.parent_id)||"",onClick:d=>{d.stopPropagation()},children:s.in_reply_to_snippet})]}),e.jsx(ce,{item:s}),e.jsxs("div",{className:"mt-4 flex flex-row flex-wrap items-center gap-3",children:[s.status==="published"&&e.jsxs(j,{className:"text-gray-800",size:"sm",variant:"outline",onClick:()=>l({id:s.id}),children:[e.jsx(re,{}),e.jsx("span",{className:"max-md:hidden",children:"Hide"})]}),s.status==="hidden"&&e.jsxs(j,{className:"text-gray-800",size:"sm",variant:"outline",onClick:()=>o({id:s.id}),children:[e.jsx(ne,{}),e.jsx("span",{className:"max-md:hidden",children:"Show"})]}),e.jsx(pe,{comment:s}),e.jsx(xe,{comment:s})]})]}),i&&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(d=>e.jsx(fe,{comment:d,isReply:!0,selectedCommentId:r},d.id))})]})})]})}const ws=({selectedComment:s,replies:a,selectedCommentId:t,fetchNextPage:r,hasNextPage:n,isFetchingNextPage:l})=>{const o={...s,replies:a};return e.jsxs("div",{className:"flex flex-col","data-testid":"comment-thread-list",children:[e.jsx(fe,{comment:o,isSelectedComment:!0,selectedCommentId:t}),n&&e.jsx("div",{className:"flex justify-center pb-4",children:e.jsx(j,{disabled:l,variant:"outline",onClick:()=>r(),children:l?e.jsxs(e.Fragment,{children:[e.jsx(P,{size:"sm"}),"Loading..."]}):"Load more replies"})})]})},ks=({commentId:s,open:a,onOpenChange:t})=>{const{data:r,isLoading:n,isError:l,fetchNextPage:o,hasNextPage:i,isFetchingNextPage:c}=js(s??"",{enabled:a&&!!s}),{data:d,isLoading:x,isError:h}=us(s??"",{enabled:a&&!!s}),N=n||x,b=h||l&&!d,g=d?.comments?.[0],y=r?.comments||[];return e.jsx(Ee,{open:a,onOpenChange:t,children:e.jsxs(Oe,{className:"overflow-y-auto px-6 pt-0 sm:max-w-[600px]",children:[e.jsx(Be,{className:"sticky top-0 z-40 -mx-6 bg-background/60 p-6 backdrop-blur",children:e.jsx(He,{className:"text-md",children:"Thread"})}),g?.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:g.post.title}),g.post.excerpt&&e.jsx("p",{className:"mt-1 line-clamp-2 text-sm text-muted-foreground",children:g.post.excerpt})]}),g.post.feature_image&&e.jsx("img",{alt:g.post.title||"Post feature image",className:"hidden aspect-video h-18 shrink-0 rounded object-cover lg:block",src:g.post.feature_image})]}),e.jsx(Ue,{className:"-mx-6 my-6 w-auto"})]}),e.jsx("div",{children:N?e.jsx("div",{className:"flex h-full items-center justify-center py-8",children:e.jsx(P,{size:"lg"})}):b||!g?e.jsx("div",{className:"flex h-full items-center justify-center py-8",children:e.jsx(le,{actions:e.jsx(j,{variant:"outline",onClick:()=>t(!1),children:"Back to comments"}),description:"This thread may have been deleted or doesn't exist.",title:"Thread not found",children:e.jsx(te,{})})}):e.jsx(ws,{fetchNextPage:o,hasNextPage:i,isFetchingNextPage:c,replies:y,selectedComment:g,selectedCommentId:s??""})})]})})},X=({height:s})=>e.jsx("div",{"aria-hidden":"true",className:"flex",children:e.jsx("div",{className:"flex",style:{height:s}})}),ys=u.forwardRef(function(a,t){return e.jsx("div",{ref:t,...a,"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 _s({items:s,totalItems:a,hasNextPage:t,isFetchingNextPage:r,fetchNextPage:n,onAddFilter:l,isLoading:o}){const i=u.useRef(null),[c,d]=R(),[x,h]=u.useState(!1),[N,b]=u.useState(null),{mutate:g}=me(),{mutate:y}=ue(),k=v=>{if(h(v),!v){const f=new URLSearchParams(c);f.delete("thread"),d(f,{replace:!0})}};u.useEffect(()=>{const v=c.get("thread");if(v){const f=v.match(/^is:(.+)$/);if(f&&f[1]){const m=f[1];b(m),h(!0)}else h(!1),b(null)}else h(!1),b(null)},[c]),es({parentRef:i,isLoading:o});const{visibleItems:L,spaceBefore:C,spaceAfter:p}=Ze({items:s,totalItems:a,hasNextPage:t,isFetchingNextPage:r,fetchNextPage:n,parentRef:i});return e.jsxs("div",{ref:i,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(X,{height:C}),L.map(({key:v,virtualItem:f,item:m,props:G})=>f.index>s.length-1?e.jsx(ys,{...G},v):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:()=>{x&&k(!1)},children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(_,{avatarImage:m.member?.avatar_image,isHidden:m.status==="hidden",memberId:m.member?.id}),e.jsxs("div",{className:"flex min-w-0 flex-col",children:[e.jsx(he,{canComment:m.member?.can_comment,createdAt:m.created_at,isHidden:m.status==="hidden",memberId:m.member?.id,memberName:m.member?.name,postTitle:m.post?.title,onAuthorClick:m.member?.id?()=>l("author",m.member.id):void 0,onPostClick:m.post?.id?()=>l("post",m.post.id):void 0}),m.in_reply_to_snippet&&e.jsxs("div",{className:`mb-1 line-clamp-1 max-w-3xl text-sm ${m.status==="hidden"&&"opacity-50"}`,children:[e.jsx("span",{className:"text-muted-foreground",children:"Replied to:"})," ",e.jsx(q,{className:"text-sm font-normal text-muted-foreground hover:text-foreground","data-testid":"replied-to-link",to:W(c,m.in_reply_to_id||m.parent_id)||"",onClick:be=>{be.stopPropagation()},children:m.in_reply_to_snippet})]}),e.jsx(ce,{item:m}),e.jsxs("div",{className:"mt-4 flex flex-row flex-nowrap items-center gap-3",children:[m.status==="published"&&e.jsxs(j,{className:"text-foreground",size:"sm",variant:"outline",onClick:()=>g({id:m.id}),children:[e.jsx(re,{}),"Hide"]}),m.status==="hidden"&&e.jsxs(j,{className:"text-foreground",size:"sm",variant:"outline",onClick:()=>y({id:m.id}),children:[e.jsx(ne,{}),"Show"]}),e.jsx(pe,{className:"ml-2",comment:m}),e.jsx(xe,{comment:m})]})]})]}),e.jsx("div",{children:m.post?.feature_image?e.jsx("img",{alt:m.post.title||"Post feature image",className:`hidden aspect-video w-36 rounded object-cover lg:block ${m.status==="hidden"&&"opacity-50"}`,src:m.post.feature_image}):null})]},v)),e.jsx(X,{height:p})]})}),e.jsx(ks,{commentId:N,open:x,onOpenChange:k})]})}const je=["id","status","created_at","body","post","author","reported"];function Ss(s){const a=[];for(const t of s)if(t.values[0])switch(t.field){case"id":a.push(`id:'${t.values[0]}'`);break;case"status":a.push(`status:${t.values[0]}`);break;case"created_at":if(t.operator==="before"&&t.values[0])a.push(`created_at:<'${t.values[0]}'`);else if(t.operator==="after"&&t.values[0])a.push(`created_at:>'${t.values[0]}'`);else if(t.operator==="is"&&t.values[0]){const l=String(t.values[0]),o=new Date(l+"T00:00:00").toISOString(),i=new Date(l+"T23:59:59.999").toISOString();a.push(`created_at:>='${o}'+created_at:<='${i}'`)}break;case"body":const n=t.values[0].replace(/'/g,"\\'");t.operator==="contains"?a.push(`html:~'${n}'`):t.operator==="not_contains"&&a.push(`html:-~'${n}'`);break;case"post":t.operator==="is_not"?a.push(`post_id:-${t.values[0]}`):a.push(`post_id:${t.values[0]}`);break;case"author":t.operator==="is_not"?a.push(`member_id:-${t.values[0]}`):a.push(`member_id:${t.values[0]}`);break;case"reported":t.values[0]==="true"?a.push("count.reports:>0"):t.values[0]==="false"&&a.push("count.reports:0");break}return a.length?a.join("+"):void 0}function Ps(s){if(!s)return null;const a=s.indexOf(":");return a<=0?null:{operator:s.substring(0,a),value:s.substring(a+1)}}function Ls(s){const a=[];for(const[t,r]of s.entries()){if(!je.includes(t)||!r)continue;const n=Ps(r);n&&a.push({id:t,field:t,operator:n.operator,values:[n.value]})}return a}function Ms(s){const a=new URLSearchParams;for(const t of s)if(je.includes(t.field)&&t.values[0]!==void 0){const r=`${t.operator}:${String(t.values[0])}`;a.set(t.field,r)}return a}function Rs(){const[s,a]=R(),t=u.useMemo(()=>Ls(s),[s]),r=u.useCallback((i,c={})=>{const d=typeof i=="function"?i(t):i,x=Ms(d),h=c.replace??!0;a(x,{replace:h})},[t,a]),n=u.useCallback(({replace:i=!0}={})=>{a(new URLSearchParams,{replace:i})},[a]),l=u.useMemo(()=>Ss(t),[t]),o=u.useMemo(()=>t.length===1&&t[0].field==="id",[t]);return{filters:t,nql:l,setFilters:r,clearFilters:n,isSingleIdFilter:o}}function Is({comments:s}){return u.useMemo(()=>{const a=new Map,t=new Map;for(const r of s)r.post?.id&&r.post?.title&&a.set(r.post.id,{id:r.post.id,title:r.post.title}),r.member?.id&&t.set(r.member.id,{id:r.member.id,name:r.member.name,email:r.member.email});return{knownPosts:Array.from(a.values()),knownMembers:Array.from(t.values())}},[s])}const Qs=()=>{const{filters:s,nql:a,setFilters:t,clearFilters:r,isSingleIdFilter:n}=Rs(),l=u.useCallback((k,L,C="is")=>{t(p=>[...p.filter(f=>f.field!==k),qe(k,C,[L])],{replace:!1})},[t]),{data:o,isError:i,isFetching:c,isFetchingNextPage:d,isRefetching:x,fetchNextPage:h,hasNextPage:N}=de({searchParams:a?{filter:a}:{},keepPreviousData:!0}),{knownPosts:b,knownMembers:g}=Is({comments:o?.comments??[]}),y=c&&!d&&!x;return e.jsxs(cs,{children:[e.jsx(os,{children:!n&&e.jsx(ls,{filters:s,knownMembers:g,knownPosts:b,onFiltersChange:t})}),e.jsx(rs,{children:y?e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(P,{size:"lg"})}):i?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(j,{onClick:()=>window.location.reload(),children:"Reload page"})]}):o?.comments.length?e.jsxs(e.Fragment,{children:[e.jsx(_s,{fetchNextPage:h,hasNextPage:N,isFetchingNextPage:d,isLoading:c&&!d,items:o?.comments??[],totalItems:o?.meta?.pagination?.total??0,onAddFilter:l}),n&&e.jsx("div",{className:"flex justify-center py-8",children:e.jsx(j,{variant:"outline",onClick:()=>r({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(te,{})})})})]})};export{Qs as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as n,at as rt,j as t,bX as ce,aP as ie,cr as st,cs as nt,ct as lt,cu as ot,z as I,cv as it,a0 as G,ao as q,cw as _e,cx as Ie,cy as ut,cz as Ve,X as De,b5 as ct,aU as dt,b7 as pt,b9 as mt,cA as vt,cl as ht,cm as ft,cn as xt}from"./index-ZuWSQ3L6.js";import{L as Ee,b as gt}from"./loader-circle-CF5G2g_Z.js";var Re=1,bt=.9,yt=.8,jt=.17,ke=.1,Ce=.999,wt=.9999,Nt=.99,kt=/[\\\/_+.#"@\[\(\{&]/,Ct=/[\\\/_+.#"@\[\(\{&]/g,St=/[\s-]/,Me=/[\s-]/g;function ze(e,r,a,u,o,m,f){if(m===r.length)return o===e.length?Re:Nt;var v=`${o},${m}`;if(f[v]!==void 0)return f[v];for(var y=u.charAt(m),h=a.indexOf(y,o),p=0,C,E,N,V;h>=0;)C=ze(e,r,a,u,h+1,m+1,f),C>p&&(h===o?C*=Re:kt.test(e.charAt(h-1))?(C*=yt,N=e.slice(o,h-1).match(Ct),N&&o>0&&(C*=Math.pow(Ce,N.length))):St.test(e.charAt(h-1))?(C*=bt,V=e.slice(o,h-1).match(Me),V&&o>0&&(C*=Math.pow(Ce,V.length))):(C*=jt,o>0&&(C*=Math.pow(Ce,h-o))),e.charAt(h)!==r.charAt(m)&&(C*=wt)),(C<ke&&a.charAt(h-1)===u.charAt(m+1)||u.charAt(m+1)===u.charAt(m)&&a.charAt(h-1)!==u.charAt(m))&&(E=ze(e,r,a,u,h+1,m+2,f),E*ke>C&&(C=E*ke)),C>p&&(p=C),h=a.indexOf(y,h+1);return f[v]=p,p}function Ae(e){return e.toLowerCase().replace(Me," ")}function Et(e,r,a){return e=a&&a.length>0?`${e+" "+a.join(" ")}`:e,ze(e,r,Ae(e),Ae(r),0,0,{})}var zt=Symbol.for("react.lazy"),ge=rt[" use ".trim().toString()];function Ft(e){return typeof e=="object"&&e!==null&&"then"in e}function qe(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===zt&&"_payload"in e&&Ft(e._payload)}function _t(e){const r=It(e),a=n.forwardRef((u,o)=>{let{children:m,...f}=u;qe(m)&&typeof ge=="function"&&(m=ge(m._payload));const v=n.Children.toArray(m),y=v.find($t);if(y){const h=y.props.children,p=v.map(C=>C===y?n.Children.count(h)>1?n.Children.only(null):n.isValidElement(h)?h.props.children:null:C);return t.jsx(r,{...f,ref:o,children:n.isValidElement(h)?n.cloneElement(h,void 0,p):null})}return t.jsx(r,{...f,ref:o,children:m})});return a.displayName=`${e}.Slot`,a}function It(e){const r=n.forwardRef((a,u)=>{let{children:o,...m}=a;if(qe(o)&&typeof ge=="function"&&(o=ge(o._payload)),n.isValidElement(o)){const f=At(o),v=Rt(m,o.props);return o.type!==n.Fragment&&(v.ref=u?ce(u,f):f),n.cloneElement(o,v)}return n.Children.count(o)>1?n.Children.only(null):null});return r.displayName=`${e}.SlotClone`,r}var Vt=Symbol("radix.slottable");function $t(e){return n.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Vt}function Rt(e,r){const a={...r};for(const u in r){const o=e[u],m=r[u];/^on[A-Z]/.test(u)?o&&m?a[u]=(...v)=>{const y=m(...v);return o(...v),y}:o&&(a[u]=o):u==="style"?a[u]={...o,...m}:u==="className"&&(a[u]=[o,m].filter(Boolean).join(" "))}return{...e,...a}}function At(e){let r=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,a=r&&"isReactWarning"in r&&r.isReactWarning;return a?e.ref:(r=Object.getOwnPropertyDescriptor(e,"ref")?.get,a=r&&"isReactWarning"in r&&r.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var Pt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],H=Pt.reduce((e,r)=>{const a=_t(`Primitive.${r}`),u=n.forwardRef((o,m)=>{const{asChild:f,...v}=o,y=f?a:r;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),t.jsx(y,{...v,ref:m})});return u.displayName=`Primitive.${r}`,{...e,[r]:u}},{}),pe='[cmdk-group=""]',Se='[cmdk-group-items=""]',Ot='[cmdk-group-heading=""]',Ke='[cmdk-item=""]',Pe=`${Ke}:not([aria-disabled="true"])`,Fe="cmdk-item-select",ne="data-value",Tt=(e,r,a)=>Et(e,r,a),We=n.createContext(void 0),ve=()=>n.useContext(We),Be=n.createContext(void 0),$e=()=>n.useContext(Be),Ue=n.createContext(void 0),Ge=n.forwardRef((e,r)=>{let a=le(()=>{var l,j;return{search:"",value:(j=(l=e.value)!=null?l:e.defaultValue)!=null?j:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),u=le(()=>new Set),o=le(()=>new Map),m=le(()=>new Map),f=le(()=>new Set),v=Xe(e),{label:y,children:h,value:p,onValueChange:C,filter:E,shouldFilter:N,loop:V,disablePointerSelection:d=!1,vimBindings:x=!0,...g}=e,_=ie(),P=ie(),c=ie(),F=n.useRef(null),z=Zt();ae(()=>{if(p!==void 0){let l=p.trim();a.current.value=l,$.emit()}},[p]),ae(()=>{z(6,U)},[]);let $=n.useMemo(()=>({subscribe:l=>(f.current.add(l),()=>f.current.delete(l)),snapshot:()=>a.current,setState:(l,j,S)=>{var s,i,b,k;if(!Object.is(a.current[l],j)){if(a.current[l]=j,l==="search")L(),Y(),z(1,J);else if(l==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let w=document.getElementById(c);w?w.focus():(s=document.getElementById(_))==null||s.focus()}if(z(7,()=>{var w;a.current.selectedItemId=(w=T())==null?void 0:w.id,$.emit()}),S||z(5,U),((i=v.current)==null?void 0:i.value)!==void 0){let w=j??"";(k=(b=v.current).onValueChange)==null||k.call(b,w);return}}$.emit()}},emit:()=>{f.current.forEach(l=>l())}}),[]),K=n.useMemo(()=>({value:(l,j,S)=>{var s;j!==((s=m.current.get(l))==null?void 0:s.value)&&(m.current.set(l,{value:j,keywords:S}),a.current.filtered.items.set(l,se(j,S)),z(2,()=>{Y(),$.emit()}))},item:(l,j)=>(u.current.add(l),j&&(o.current.has(j)?o.current.get(j).add(l):o.current.set(j,new Set([l]))),z(3,()=>{L(),Y(),a.current.value||J(),$.emit()}),()=>{m.current.delete(l),u.current.delete(l),a.current.filtered.items.delete(l);let S=T();z(4,()=>{L(),S?.getAttribute("id")===l&&J(),$.emit()})}),group:l=>(o.current.has(l)||o.current.set(l,new Set),()=>{m.current.delete(l),o.current.delete(l)}),filter:()=>v.current.shouldFilter,label:y||e["aria-label"],getDisablePointerSelection:()=>v.current.disablePointerSelection,listId:_,inputId:c,labelId:P,listInnerRef:F}),[]);function se(l,j){var S,s;let i=(s=(S=v.current)==null?void 0:S.filter)!=null?s:Tt;return l?i(l,a.current.search,j):0}function Y(){if(!a.current.search||v.current.shouldFilter===!1)return;let l=a.current.filtered.items,j=[];a.current.filtered.groups.forEach(s=>{let i=o.current.get(s),b=0;i.forEach(k=>{let w=l.get(k);b=Math.max(w,b)}),j.push([s,b])});let S=F.current;Q().sort((s,i)=>{var b,k;let w=s.getAttribute("id"),R=i.getAttribute("id");return((b=l.get(R))!=null?b:0)-((k=l.get(w))!=null?k:0)}).forEach(s=>{let i=s.closest(Se);i?i.appendChild(s.parentElement===i?s:s.closest(`${Se} > *`)):S.appendChild(s.parentElement===S?s:s.closest(`${Se} > *`))}),j.sort((s,i)=>i[1]-s[1]).forEach(s=>{var i;let b=(i=F.current)==null?void 0:i.querySelector(`${pe}[${ne}="${encodeURIComponent(s[0])}"]`);b?.parentElement.appendChild(b)})}function J(){let l=Q().find(S=>S.getAttribute("aria-disabled")!=="true"),j=l?.getAttribute(ne);$.setState("value",j||void 0)}function L(){var l,j,S,s;if(!a.current.search||v.current.shouldFilter===!1){a.current.filtered.count=u.current.size;return}a.current.filtered.groups=new Set;let i=0;for(let b of u.current){let k=(j=(l=m.current.get(b))==null?void 0:l.value)!=null?j:"",w=(s=(S=m.current.get(b))==null?void 0:S.keywords)!=null?s:[],R=se(k,w);a.current.filtered.items.set(b,R),R>0&&i++}for(let[b,k]of o.current)for(let w of k)if(a.current.filtered.items.get(w)>0){a.current.filtered.groups.add(b);break}a.current.filtered.count=i}function U(){var l,j,S;let s=T();s&&(((l=s.parentElement)==null?void 0:l.firstChild)===s&&((S=(j=s.closest(pe))==null?void 0:j.querySelector(Ot))==null||S.scrollIntoView({block:"nearest"})),s.scrollIntoView({block:"nearest"}))}function T(){var l;return(l=F.current)==null?void 0:l.querySelector(`${Ke}[aria-selected="true"]`)}function Q(){var l;return Array.from(((l=F.current)==null?void 0:l.querySelectorAll(Pe))||[])}function D(l){let j=Q()[l];j&&$.setState("value",j.getAttribute(ne))}function M(l){var j;let S=T(),s=Q(),i=s.findIndex(k=>k===S),b=s[i+l];(j=v.current)!=null&&j.loop&&(b=i+l<0?s[s.length-1]:i+l===s.length?s[0]:s[i+l]),b&&$.setState("value",b.getAttribute(ne))}function ee(l){let j=T(),S=j?.closest(pe),s;for(;S&&!s;)S=l>0?Gt(S,pe):Xt(S,pe),s=S?.querySelector(Pe);s?$.setState("value",s.getAttribute(ne)):M(l)}let W=()=>D(Q().length-1),de=l=>{l.preventDefault(),l.metaKey?W():l.altKey?ee(1):M(1)},fe=l=>{l.preventDefault(),l.metaKey?D(0):l.altKey?ee(-1):M(-1)};return n.createElement(H.div,{ref:r,tabIndex:-1,...g,"cmdk-root":"",onKeyDown:l=>{var j;(j=g.onKeyDown)==null||j.call(g,l);let S=l.nativeEvent.isComposing||l.keyCode===229;if(!(l.defaultPrevented||S))switch(l.key){case"n":case"j":{x&&l.ctrlKey&&de(l);break}case"ArrowDown":{de(l);break}case"p":case"k":{x&&l.ctrlKey&&fe(l);break}case"ArrowUp":{fe(l);break}case"Home":{l.preventDefault(),D(0);break}case"End":{l.preventDefault(),W();break}case"Enter":{l.preventDefault();let s=T();if(s){let i=new Event(Fe);s.dispatchEvent(i)}}}}},n.createElement("label",{"cmdk-label":"",htmlFor:K.inputId,id:K.labelId,style:Yt},y),Ne(e,l=>n.createElement(Be.Provider,{value:$},n.createElement(We.Provider,{value:K},l))))}),Lt=n.forwardRef((e,r)=>{var a,u;let o=ie(),m=n.useRef(null),f=n.useContext(Ue),v=ve(),y=Xe(e),h=(u=(a=y.current)==null?void 0:a.forceMount)!=null?u:f?.forceMount;ae(()=>{if(!h)return v.item(o,f?.id)},[h]);let p=Ze(o,m,[e.value,e.children,m],e.keywords),C=$e(),E=Z(z=>z.value&&z.value===p.current),N=Z(z=>h||v.filter()===!1?!0:z.search?z.filtered.items.get(o)>0:!0);n.useEffect(()=>{let z=m.current;if(!(!z||e.disabled))return z.addEventListener(Fe,V),()=>z.removeEventListener(Fe,V)},[N,e.onSelect,e.disabled]);function V(){var z,$;d(),($=(z=y.current).onSelect)==null||$.call(z,p.current)}function d(){C.setState("value",p.current,!0)}if(!N)return null;let{disabled:x,value:g,onSelect:_,forceMount:P,keywords:c,...F}=e;return n.createElement(H.div,{ref:ce(m,r),...F,id:o,"cmdk-item":"",role:"option","aria-disabled":!!x,"aria-selected":!!E,"data-disabled":!!x,"data-selected":!!E,onPointerMove:x||v.getDisablePointerSelection()?void 0:d,onClick:x?void 0:V},e.children)}),Dt=n.forwardRef((e,r)=>{let{heading:a,children:u,forceMount:o,...m}=e,f=ie(),v=n.useRef(null),y=n.useRef(null),h=ie(),p=ve(),C=Z(N=>o||p.filter()===!1?!0:N.search?N.filtered.groups.has(f):!0);ae(()=>p.group(f),[]),Ze(f,v,[e.value,e.heading,y]);let E=n.useMemo(()=>({id:f,forceMount:o}),[o]);return n.createElement(H.div,{ref:ce(v,r),...m,"cmdk-group":"",role:"presentation",hidden:C?void 0:!0},a&&n.createElement("div",{ref:y,"cmdk-group-heading":"","aria-hidden":!0,id:h},a),Ne(e,N=>n.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":a?h:void 0},n.createElement(Ue.Provider,{value:E},N))))}),Mt=n.forwardRef((e,r)=>{let{alwaysRender:a,...u}=e,o=n.useRef(null),m=Z(f=>!f.search);return!a&&!m?null:n.createElement(H.div,{ref:ce(o,r),...u,"cmdk-separator":"",role:"separator"})}),qt=n.forwardRef((e,r)=>{let{onValueChange:a,...u}=e,o=e.value!=null,m=$e(),f=Z(h=>h.search),v=Z(h=>h.selectedItemId),y=ve();return n.useEffect(()=>{e.value!=null&&m.setState("search",e.value)},[e.value]),n.createElement(H.input,{ref:r,...u,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":y.listId,"aria-labelledby":y.labelId,"aria-activedescendant":v,id:y.inputId,type:"text",value:o?e.value:f,onChange:h=>{o||m.setState("search",h.target.value),a?.(h.target.value)}})}),Kt=n.forwardRef((e,r)=>{let{children:a,label:u="Suggestions",...o}=e,m=n.useRef(null),f=n.useRef(null),v=Z(h=>h.selectedItemId),y=ve();return n.useEffect(()=>{if(f.current&&m.current){let h=f.current,p=m.current,C,E=new ResizeObserver(()=>{C=requestAnimationFrame(()=>{let N=h.offsetHeight;p.style.setProperty("--cmdk-list-height",N.toFixed(1)+"px")})});return E.observe(h),()=>{cancelAnimationFrame(C),E.unobserve(h)}}},[]),n.createElement(H.div,{ref:ce(m,r),...o,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":v,"aria-label":u,id:y.listId},Ne(e,h=>n.createElement("div",{ref:ce(f,y.listInnerRef),"cmdk-list-sizer":""},h)))}),Wt=n.forwardRef((e,r)=>{let{open:a,onOpenChange:u,overlayClassName:o,contentClassName:m,container:f,...v}=e;return n.createElement(st,{open:a,onOpenChange:u},n.createElement(nt,{container:f},n.createElement(lt,{"cmdk-overlay":"",className:o}),n.createElement(ot,{"aria-label":e.label,"cmdk-dialog":"",className:m},n.createElement(Ge,{ref:r,...v}))))}),Bt=n.forwardRef((e,r)=>Z(a=>a.filtered.count===0)?n.createElement(H.div,{ref:r,...e,"cmdk-empty":"",role:"presentation"}):null),Ut=n.forwardRef((e,r)=>{let{progress:a,children:u,label:o="Loading...",...m}=e;return n.createElement(H.div,{ref:r,...m,"cmdk-loading":"",role:"progressbar","aria-valuenow":a,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},Ne(e,f=>n.createElement("div",{"aria-hidden":!0},f)))}),re=Object.assign(Ge,{List:Kt,Item:Lt,Input:qt,Group:Dt,Separator:Mt,Dialog:Wt,Empty:Bt,Loading:Ut});function Gt(e,r){let a=e.nextElementSibling;for(;a;){if(a.matches(r))return a;a=a.nextElementSibling}}function Xt(e,r){let a=e.previousElementSibling;for(;a;){if(a.matches(r))return a;a=a.previousElementSibling}}function Xe(e){let r=n.useRef(e);return ae(()=>{r.current=e}),r}var ae=typeof window>"u"?n.useEffect:n.useLayoutEffect;function le(e){let r=n.useRef();return r.current===void 0&&(r.current=e()),r}function Z(e){let r=$e(),a=()=>e(r.snapshot());return n.useSyncExternalStore(r.subscribe,a,a)}function Ze(e,r,a,u=[]){let o=n.useRef(),m=ve();return ae(()=>{var f;let v=(()=>{var h;for(let p of a){if(typeof p=="string")return p.trim();if(typeof p=="object"&&"current"in p)return p.current?(h=p.current.textContent)==null?void 0:h.trim():o.current}})(),y=u.map(h=>h.trim());m.value(e,v,y),(f=r.current)==null||f.setAttribute(ne,v),o.current=v}),o}var Zt=()=>{let[e,r]=n.useState(),a=le(()=>new Map);return ae(()=>{a.current.forEach(u=>u()),a.current=new Map},[e]),(u,o)=>{a.current.set(u,o),r({})}};function Ht(e){let r=e.type;return typeof r=="function"?r(e.props):"render"in r?r.render(e.props):e}function Ne({asChild:e,children:r},a){return e&&n.isValidElement(r)?n.cloneElement(Ht(r),{ref:r.ref},a(r.props.children)):a(r)}var Yt={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 t.jsx(re,{className:I("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...r})}function ye({className:e,...r}){return t.jsxs("div",{className:"flex items-center border-b border-border px-3","cmdk-input-wrapper":"","data-slot":"command-input",children:[t.jsx(it,{className:"me-2 size-4 shrink-0 opacity-50"}),t.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 je({className:e,...r}){return t.jsx(re.List,{className:I("max-h-[300px] p-1 overflow-y-auto overflow-x-hidden",e),"data-slot":"command-list",...r})}function we({...e}){return t.jsx(re.Empty,{className:"py-6 text-center text-sm","data-slot":"command-empty",...e})}function X({className:e,...r}){return t.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 ue({className:e,...r}){return t.jsx(re.Separator,{className:I("-mx-1.5 h-px bg-border",e),"data-slot":"command-separator",...r})}function B({className:e,...r}){return t.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 da({icon:e=G,className:r,...a}){return t.jsx(e,{className:I("size-4 ms-auto text-primary",r),"data-check":"true","data-slot":"command-check",...a})}const oe={addFilter:"",clearFilters:"Clear",searchFields:"Search fields...",noFieldsFound:"No fields found.",noResultsFound:"No results found.",loading:"Loading...",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"}},He=n.createContext({variant:"outline",size:"md",radius:"md",i18n:oe,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}),he=()=>n.useContext(He),Jt=q(["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}}),Qt=q(["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}}),Oe=q(["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}}),ea=q(["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}}),ta=q(["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"}}),me=q(["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=q("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=q("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"}}),aa=q("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"}}),ra=q("flex max-w-[calc(100vw-32px)] items-center",{variants:{variant:{solid:"gap-px",outline:""}},defaultVariants:{variant:"outline"}});function O({field:e,onChange:r,onBlur:a,onKeyDown:u,onInputChange:o,className:m,...f}){const v=he(),[y,h]=n.useState(!0),[p,C]=n.useState(""),E=(g,_)=>!_||!g?!0:new RegExp(_).test(g),N=(g,_=!1)=>{if((g==="text"||g==="number")&&_)return v.i18n.validation.invalid;switch(g){case"email":return v.i18n.validation.invalidEmail;case"url":return v.i18n.validation.invalidUrl;case"tel":return v.i18n.validation.invalidTel;default:return v.i18n.validation.invalid}},V=g=>{r?.(g)},d=g=>{const _=g.target.value,P=e?.pattern||f.pattern;if(_&&P){let c=!0;e?.validation?c=e.validation(_):c=E(_,P),h(c);const F=!!(e?.pattern||f.pattern);C(c?"":N(e?.type||"",F))}else h(!0),C("");o&&o(g),a?.(g)},x=g=>{if(!y&&!["Tab","Escape","Enter","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(g.key)&&(h(!0),C("")),g.key==="Enter"&&o){const _={...g,target:g.target,currentTarget:g.currentTarget};o(_)}u?.(g)};return t.jsxs("div",{className:I("w-36",Jt({variant:v.variant,size:v.size}),m),"data-slot":"filters-input-wrapper",children:[e?.prefix&&t.jsx("div",{className:Te({variant:v.variant,size:v.size}),"data-slot":"filters-prefix",children:e.prefix}),t.jsxs("div",{className:"flex w-full items-stretch",children:[t.jsx("input",{"aria-describedby":!y&&p?`${e?.key||"input"}-error`:void 0,"aria-invalid":!y,className:"w-full outline-hidden","data-slot":"filters-input",onBlur:d,onChange:V,onKeyDown:x,...f}),!y&&p&&t.jsxs(ht,{children:[t.jsx(ft,{asChild:!0,children:t.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 items-center",children:t.jsx(gt,{className:"size-3.5 text-destructive"})})}),t.jsx(xt,{children:t.jsx("p",{className:"text-sm",children:p})})]})]}),e?.suffix&&t.jsx("div",{className:I(Te({variant:v.variant,size:v.size})),"data-slot":"filters-suffix",children:e.suffix})]})}function sa({className:e,icon:r=t.jsx(De,{}),...a}){const u=he();return t.jsx("button",{className:I(Qt({variant:u.variant,size:u.size,cursorPointer:u.cursorPointer,radius:u.radius}),e),"data-slot":"filters-remove",...a,type:"button",children:r})}const Ye=e=>"fields"in e&&Array.isArray(e.fields),Je=e=>!!(e.group&&e.fields),Qe=e=>e.reduce((r,a)=>Ye(a)?[...r,...a.fields]:Je(a)?[...r,...a.fields]:[...r,a],[]),na=e=>Qe(e).reduce((a,u)=>(u.key&&(a[u.key]=u),a),{}),et=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}]});et(oe);const la=(e,r,a)=>{if(e.operators)return e.operators;const u=et(a);let o=e.type||"select";return o==="select"&&r.length>1&&(o="multiselect"),o==="multiselect"||e.type==="multiselect"?u.multiselect:u[o]||u.select};function oa({field:e,operator:r,values:a,onChange:u}){var o;const m=he(),f=la(e,a,m.i18n),v=((o=f.find(y=>y.value===r))==null?void 0:o.label)||m.i18n.helpers.formatOperator(r);return e.hideOperatorSelect?t.jsx("div",{className:"flex items-center self-stretch border border-r-[0px] px-3 text-sm whitespace-nowrap text-muted-foreground",children:v}):t.jsxs(ct,{children:[t.jsx(dt,{className:ea({variant:m.variant,size:m.size}),children:v}),t.jsx(pt,{align:"start",className:"w-fit min-w-fit",children:f.map(y=>t.jsxs(mt,{className:"flex items-center justify-between",onClick:()=>u(y.value),children:[t.jsx("span",{children:y.label}),t.jsx(G,{className:`ms-auto text-primary ${y.value===r?"opacity-100":"opacity-0"}`})]},y.value))})]})}function tt({field:e,values:r,onChange:a,onClose:u,inline:o=!1}){var m;const[f,v]=n.useState(!1),[y,h]=n.useState(e.searchValue||""),[p,C]=n.useState([]),E=he();n.useEffect(()=>{e.searchValue!==void 0&&h(e.searchValue)},[e.searchValue]);const N=e.type==="multiselect"||r.length>1,V=(e.value!==void 0?e.value:r)||[];n.useEffect(()=>{f&&e.searchable!==!1&&setTimeout(()=>{const c=document.querySelector("[cmdk-input]");c&&c.focus()},0)},[f,e.searchable]);const d=n.useMemo(()=>{var c;return((c=e.options)==null?void 0:c.filter(F=>V.includes(F.value)))||[]},[e.options,JSON.stringify(V)]);n.useEffect(()=>{if(V.length===0){C([]);return}d.length>0&&C(c=>{const F=[];for(const z of V){const $=d.find(K=>K.value===z)??c.find(K=>K.value===z);$&&F.push($)}return F})},[d,V]);const x=V.length>0?p.length>0?p:d:[],g=((m=e.options)==null?void 0:m.filter(c=>!V.includes(c.value)))||[],_=c=>{var F;h(c),(F=e.onSearchChange)==null||F.call(e,c)},P=()=>{v(!1),e.searchValue===void 0&&setTimeout(()=>h(""),200),u?.()};return o?t.jsx("div",{className:"w-full",children:t.jsxs(be,{children:[e.searchable!==!1&&t.jsx(ye,{className:"h-8.5 text-sm",placeholder:E.i18n.placeholders.searchField(e.label||""),value:y,onValueChange:_}),t.jsxs(je,{className:"outline-hidden",children:[e.isLoading?t.jsxs("div",{className:"flex items-center justify-center py-6 text-sm text-muted-foreground",children:[t.jsx(Ee,{className:"mr-2 size-4 animate-spin"}),E.i18n.loading]}):t.jsx(we,{children:E.i18n.noResultsFound}),x.length>0&&t.jsx(X,{heading:e.label||"Selected",children:x.map(c=>t.jsxs(B,{className:"group flex items-center gap-2",onSelect:()=>{if(N){const F=V.filter(z=>z!==c.value);e.onValueChange?e.onValueChange(F):a(F)}else e.onValueChange?e.onValueChange([]):a([])},children:[c.icon&&c.icon,t.jsxs("div",{className:"flex flex-col overflow-hidden",children:[t.jsx("span",{className:"truncate text-accent-foreground",title:c.label,children:c.label}),c.detail&&t.jsx("span",{className:"truncate text-sm text-muted-foreground",title:c.detail,children:c.detail})]}),t.jsx(G,{className:"ms-auto text-primary"})]},String(c.value)))}),g.length>0&&t.jsxs(t.Fragment,{children:[x.length>0&&t.jsx(ue,{}),t.jsx(X,{children:g.map(c=>t.jsxs(B,{className:"group flex items-center gap-2",value:c.label+(c.detail?` - ${c.detail}`:""),onSelect:()=>{if(N){const F=[...V,c.value];if(e.maxSelections&&F.length>e.maxSelections)return;e.onValueChange?e.onValueChange(F):a(F),e.autoCloseOnSelect&&u?.()}else e.onValueChange?e.onValueChange([c.value]):a([c.value]),u?.()},children:[c.icon&&c.icon,t.jsxs("div",{className:"flex flex-col overflow-hidden",children:[t.jsx("span",{className:"truncate text-accent-foreground",title:c.label,children:c.label}),c.detail&&t.jsx("span",{className:"truncate text-sm text-muted-foreground",title:c.detail,children:c.detail})]}),t.jsx(G,{className:"ms-auto text-primary opacity-0"})]},String(c.value)))})]})]})]})}):t.jsxs(_e,{open:f,onOpenChange:c=>{v(c),!c&&e.searchValue===void 0&&setTimeout(()=>h(""),200)},children:[t.jsx(Ie,{className:I(me({variant:E.variant,size:E.size,cursorPointer:E.cursorPointer}),e.triggerClassName??"max-w-[240px]"),children:t.jsx("div",{className:"flex min-w-0 items-center gap-1.5",children:e.customValueRenderer?e.customValueRenderer(r,e.options||[]):t.jsxs(t.Fragment,{children:[x.length>0&&x.some(c=>c.icon)&&t.jsx("div",{className:I("-space-x-0.5 flex shrink-0 items-center",e.selectedOptionsClassName),children:x.slice(0,3).map(c=>t.jsx("div",{children:c.icon},String(c.value)))}),x.length===1?t.jsx("span",{className:"min-w-0 truncate text-accent-foreground",title:x[0].detail?`${x[0].label} - ${x[0].detail}`:x[0].label,children:x[0].label}):x.length>1?`${x.length} ${E.i18n.selectedCount}`:E.i18n.select]})})}),t.jsx(Ve,{align:"start",className:I("p-0 data-[state=closed]:animation-none! data-[state=closed]:duration-0!",e.className||"w-[200px]"),children:t.jsxs(be,{children:[e.searchable!==!1&&t.jsx(ye,{className:"h-[34px] text-sm",placeholder:E.i18n.placeholders.searchField(e.label||""),value:y,onValueChange:_}),t.jsxs(je,{className:"outline-hidden",children:[e.isLoading?t.jsxs("div",{className:"flex items-center justify-center py-6 text-sm text-muted-foreground",children:[t.jsx(Ee,{className:"mr-2 size-4 animate-spin"}),E.i18n.loading]}):t.jsx(we,{children:E.i18n.noResultsFound}),x.length>0&&t.jsx(X,{children:x.map(c=>t.jsxs(B,{className:"group flex items-center gap-2",onSelect:()=>{a(N?r.filter(F=>F!==c.value):[]),N||(v(!1),P())},children:[c.icon&&c.icon,t.jsxs("div",{className:"flex flex-col overflow-hidden",children:[t.jsx("span",{className:"truncate text-accent-foreground",title:c.label,children:c.label}),c.detail&&t.jsx("span",{className:"truncate text-sm text-muted-foreground",title:c.detail,children:c.detail})]}),t.jsx(G,{className:"ms-auto text-primary"})]},String(c.value)))}),g.length>0&&t.jsxs(t.Fragment,{children:[x.length>0&&t.jsx(ue,{}),t.jsx(X,{children:g.map(c=>t.jsxs(B,{className:"group flex items-center gap-2",value:c.label+(c.detail?` - ${c.detail}`:""),onSelect:()=>{if(N){const F=[...r,c.value];if(e.maxSelections&&F.length>e.maxSelections)return;a(F),e.autoCloseOnSelect&&P()}else a([c.value]),v(!1),P()},children:[c.icon&&c.icon,t.jsxs("div",{className:"flex flex-col overflow-hidden",children:[t.jsx("span",{className:"truncate text-accent-foreground",title:c.label,children:c.label}),c.detail&&t.jsx("span",{className:"truncate text-sm text-muted-foreground",title:c.detail,children:c.detail})]}),t.jsx(G,{className:"ms-auto text-primary opacity-0"})]},String(c.value)))})]})]})]})})]})}function ia({field:e,values:r,onChange:a,operator:u}){var o,m;const[f,v]=n.useState(!1),[y,h]=n.useState(e.searchValue||""),p=he();n.useEffect(()=>{e.searchValue!==void 0&&h(e.searchValue)},[e.searchValue]);const C=d=>{var x;h(d),(x=e.onSearchChange)==null||x.call(e,d)};if(n.useEffect(()=>{f&&e.searchable!==!1&&setTimeout(()=>{const d=document.querySelector("[cmdk-input]");d&&d.focus()},0)},[f,e.searchable]),u==="empty"||u==="not_empty")return null;if(e.customRenderer)return t.jsx("div",{className:me({variant:p.variant,size:p.size,cursorPointer:p.cursorPointer}),children:e.customRenderer({field:e,values:r,onChange:a,operator:u})});if(e.type==="boolean"){const d=r[0]===!0,x=e.onLabel||p.i18n.true,g=e.offLabel||p.i18n.false;return t.jsx("div",{className:me({variant:p.variant,size:p.size,cursorPointer:p.cursorPointer}),children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(vt,{checked:d,size:"sm",onCheckedChange:_=>a([_])}),e.onLabel&&e.offLabel&&t.jsx("span",{className:"text-xs text-muted-foreground",children:d?x:g})]})})}if(e.type==="time"){if(u==="between"){const d=r[0]||"",x=r[1]||"";return t.jsxs("div",{className:"flex items-center","data-slot":"filters-item",children:[t.jsx(O,{className:e.className,field:e,type:"time",value:d,onChange:g=>a([g.target.value,x]),onInputChange:e.onInputChange}),t.jsx("div",{className:xe({variant:p.variant,size:p.size}),"data-slot":"filters-between",children:p.i18n.to}),t.jsx(O,{className:e.className,field:e,type:"time",value:x,onChange:g=>a([d,g.target.value]),onInputChange:e.onInputChange})]})}return t.jsx(O,{className:e.className,field:e,type:"time",value:r[0]||"",onChange:d=>a([d.target.value]),onInputChange:e.onInputChange})}if(e.type==="datetime"){if(u==="between"){const d=r[0]||"",x=r[1]||"";return t.jsxs("div",{className:"flex items-center","data-slot":"filters-item",children:[t.jsx(O,{className:I("w-36 max-w-full",e.className),field:e,type:"datetime-local",value:d,onChange:g=>a([g.target.value,x]),onInputChange:e.onInputChange}),t.jsx("div",{className:xe({variant:p.variant,size:p.size}),"data-slot":"filters-between",children:p.i18n.to}),t.jsx(O,{className:I("w-36 max-w-full",e.className),field:e,type:"datetime-local",value:x,onChange:g=>a([d,g.target.value]),onInputChange:e.onInputChange})]})}return t.jsx(O,{className:I("w-36 max-w-full",e.className),field:e,type:"datetime-local",value:r[0]||"",onChange:d=>a([d.target.value]),onInputChange:e.onInputChange})}if(["email","url","tel"].includes(e.type||"")){const d=()=>{switch(e.type){case"email":return"email";case"url":return"url";case"tel":return"tel";default:return"text"}},x=()=>{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 t.jsx(O,{className:e.className,field:e,pattern:e.pattern||x(),placeholder:e.placeholder||p.i18n.placeholders.enterField(e.type||"text"),type:d(),value:r[0]||"",onChange:g=>a([g.target.value]),onInputChange:e.onInputChange})}if(e.type==="daterange"){const d=r[0]||"",x=r[1]||"";return t.jsxs("div",{className:me({variant:p.variant,size:p.size,cursorPointer:p.cursorPointer}),children:[t.jsx(O,{className:I("w-24 max-w-full",e.className),field:e,type:"date",value:d,onChange:g=>a([g.target.value,x]),onInputChange:e.onInputChange}),t.jsx("div",{className:xe({variant:p.variant,size:p.size}),"data-slot":"filters-between",children:p.i18n.to}),t.jsx(O,{className:I("w-24 max-w-full",e.className),field:e,type:"date",value:x,onChange:g=>a([d,g.target.value]),onInputChange:e.onInputChange})]})}if(e.type==="text"||e.type==="number"){if(e.type==="number"&&u==="between"){const d=r[0]||"",x=r[1]||"";return t.jsxs("div",{className:"flex items-center","data-slot":"filters-item",children:[t.jsx(O,{className:I("w-16 max-w-full",e.className),field:e,max:e.max,min:e.min,pattern:e.pattern,placeholder:p.i18n.min,step:e.step,type:"number",value:d,onChange:g=>a([g.target.value,x]),onInputChange:e.onInputChange}),t.jsx("div",{className:xe({variant:p.variant,size:p.size}),"data-slot":"filters-between",children:p.i18n.to}),t.jsx(O,{className:I("w-16 max-w-full",e.className),field:e,max:e.max,min:e.min,pattern:e.pattern,placeholder:p.i18n.max,step:e.step,type:"number",value:x,onChange:g=>a([d,g.target.value]),onInputChange:e.onInputChange})]})}return t.jsx("div",{className:"flex items-center","data-slot":"filters-item",children:t.jsx(O,{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:d=>a([d.target.value]),onInputChange:e.onInputChange})})}if(e.type==="date")return t.jsx(O,{className:I("w-16",e.className),field:e,type:"date",value:r[0]||"",onChange:d=>a([d.target.value]),onInputChange:e.onInputChange});if(e.type==="select"||e.type==="multiselect")return t.jsx(tt,{field:e,values:r,onChange:a});const E=r.length>1,N=((o=e.options)==null?void 0:o.filter(d=>r.includes(d.value)))||[],V=((m=e.options)==null?void 0:m.filter(d=>!r.includes(d.value)))||[];return t.jsxs(_e,{open:f,onOpenChange:d=>{v(d),!d&&e.searchValue===void 0&&setTimeout(()=>h(""),200)},children:[t.jsx(Ie,{className:me({variant:p.variant,size:p.size,cursorPointer:p.cursorPointer}),children:t.jsx("div",{className:"flex w-full min-w-0 items-center gap-1.5",children:e.customValueRenderer?e.customValueRenderer(r,e.options||[]):t.jsxs(t.Fragment,{children:[N.length>0&&t.jsx("div",{className:"flex shrink-0 items-center -space-x-1.5",children:N.slice(0,3).map(d=>t.jsx("div",{children:d.icon},String(d.value)))}),N.length===1?t.jsx("span",{className:"min-w-0 truncate text-accent-foreground",title:N[0].detail?`${N[0].label} - ${N[0].detail}`:N[0].label,children:N[0].label}):N.length>1?`${N.length} ${p.i18n.selectedCount}`:p.i18n.select]})})}),t.jsx(Ve,{className:I("w-36 p-0 data-[state=closed]:animation-none! data-[state=closed]:duration-0!",e.popoverContentClassName),children:t.jsxs(be,{children:[e.searchable!==!1&&t.jsx(ye,{className:"h-[34px] text-sm",placeholder:p.i18n.placeholders.searchField(e.label||""),value:y,onValueChange:C}),t.jsxs(je,{className:"outline-hidden",children:[e.isLoading?t.jsxs("div",{className:"flex items-center justify-center py-6 text-sm text-muted-foreground",children:[t.jsx(Ee,{className:"mr-2 size-4 animate-spin"}),p.i18n.loading]}):t.jsx(we,{children:p.i18n.noResultsFound}),N.length>0&&t.jsx(X,{children:N.map(d=>t.jsxs(B,{className:"group flex items-center gap-2",onSelect:()=>{a(E?r.filter(x=>x!==d.value):[]),E||v(!1)},children:[d.icon&&d.icon,t.jsx("span",{className:"truncate text-accent-foreground",children:d.label}),t.jsx(G,{className:"ms-auto text-primary"})]},String(d.value)))}),V.length>0&&t.jsxs(t.Fragment,{children:[N.length>0&&t.jsx(ue,{}),t.jsx(X,{children:V.map(d=>t.jsxs(B,{className:"group flex items-center gap-2",value:d.label,onSelect:()=>{if(E){const x=[...r,d.value];if(e.maxSelections&&x.length>e.maxSelections)return;a(x)}else a([d.value]),v(!1)},children:[d.icon&&d.icon,t.jsx("span",{className:"truncate text-accent-foreground",children:d.label}),t.jsx(G,{className:"ms-auto text-primary opacity-0"})]},String(d.value)))})]})]})]})})]})}function pa({filters:e,fields:r,onChange:a,className:u,showAddButton:o=!0,addButtonText:m,addButtonIcon:f,addButtonClassName:v,addButton:y,showClearButton:h=!1,clearButtonText:p,clearButtonIcon:C,clearButtonClassName:E,clearButton:N,onClear:V,variant:d="outline",size:x="md",radius:g="md",i18n:_,showSearchInput:P=!0,cursorPointer:c=!0,trigger:F,allowMultiple:z=!0,popoverContentClassName:$,popoverAlign:K="start",keyboardShortcut:se,onActiveFieldChange:Y}){const[J,L]=n.useState(!1),[U,T]=n.useState(null),[Q,D]=n.useState([]);n.useEffect(()=>{Y?.(U)},[U,Y]),n.useEffect(()=>{if(!se)return;const s=i=>{const b=i.target;b.tagName==="INPUT"||b.tagName==="TEXTAREA"||b.isContentEditable||i.key.toLowerCase()===se.toLowerCase()&&!i.metaKey&&!i.ctrlKey&&!i.altKey&&(i.preventDefault(),L(k=>!k))};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[se]),n.useEffect(()=>{J&&setTimeout(()=>{const s=document.querySelector("[cmdk-input]");if(s)s.focus();else{const i=document.querySelector("[cmdk-root]");i&&i.focus()}},0)},[J,U,P]);const M={...oe,..._,operators:{...oe.operators,..._?.operators},placeholders:{...oe.placeholders,..._?.placeholders},validation:{...oe.validation,..._?.validation}},ee=n.useMemo(()=>na(r),[r]),W=U?ee[U]:null,de=n.useCallback((s,i)=>{a(e.map(b=>{if(b.id===s){const k={...b,...i};return(i.operator==="empty"||i.operator==="not_empty")&&(k.values=[]),k}return b}))},[e,a]),fe=n.useCallback(s=>{a(e.filter(i=>i.id!==s))},[e,a]),l=n.useCallback(s=>{const i=ee[s];if(i&&i.key){if(i.type==="select"||i.type==="multiselect"){T(i.key);const A=e.find(at=>at.field===s),te=i.type==="multiselect"&&A?A.values:[];D(te);return}const b=i.defaultOperator||(i.type==="daterange"||i.type==="numberrange"?"between":(i.type==="boolean","is"));let k=[];i.defaultValue!==void 0?k=[i.defaultValue]:["text","number","date","email","url","tel","time","datetime"].includes(i.type||"")?k=[""]:i.type==="daterange"?k=["",""]:i.type==="numberrange"?k=[i.min||0,i.max||100]:i.type==="boolean"&&(k=[!1]);const w=Le(s,b,k),R=[...e,w];a(R),L(!1)}},[ee,e,a]),j=n.useCallback((s,i,b=!0)=>{if(!s.key)return;const k=e.find(A=>A.field===s.key);if(k){const A=e.map(te=>te.id===k.id?{...te,values:i}:te);a(A),D(i),b&&(L(!1),T(null));return}const w=s.defaultOperator||(s.type==="multiselect"?"is_any_of":"is"),R=e.findIndex(A=>A.field===s.key);if(R>=0){const A=[...e];A[R]={...A[R],values:i},a(A)}else{const A=Le(s.key,w,i),te=[...e,A];a(te)}b?(L(!1),T(null),D([])):D(i)},[e,a]),S=n.useMemo(()=>Qe(r).filter(i=>!i.key||i.type==="separator"?!1:z?!0:!e.some(b=>b.field===i.key)),[r,e,z]);return t.jsx(He.Provider,{value:{variant:d,size:x,radius:g,i18n:M,cursorPointer:c,className:u,showAddButton:o,addButtonText:m,addButtonIcon:f,addButtonClassName:v,addButton:y,showSearchInput:P,trigger:F,allowMultiple:z},children:t.jsxs("div",{className:I(aa({variant:d,size:x}),e.length>0&&"w-full",h&&e.length>0&&"sm:pr-24",u),children:[e.map(s=>{const i=ee[s.field];return i?t.jsxs("div",{className:ra({variant:d}),"data-slot":"filter-item",children:[t.jsxs("div",{className:ta({variant:d,size:x,radius:g}),children:[i.icon,i.label]}),t.jsx(oa,{field:i,operator:s.operator,values:s.values,onChange:b=>de(s.id,{operator:b})}),t.jsx(ia,{field:i,operator:s.operator,values:s.values,onChange:b=>de(s.id,{values:b})}),t.jsx(sa,{onClick:()=>fe(s.id)})]},s.id):null}),o&&S.length>0&&t.jsxs(_e,{open:J,onOpenChange:s=>{L(s),s||(T(null),D([]))},children:[t.jsx(Ie,{asChild:!0,children:y||t.jsxs("button",{className:I(Oe({variant:d,size:x,cursorPointer:c,radius:g}),v),title:M.addFilterTitle,type:"button",children:[f||t.jsx(ut,{}),m||M.addFilter]})}),t.jsx(Ve,{align:K,className:I("p-0 data-[state=closed]:animation-none! data-[state=closed]:duration-0!",W?.className||$||"w-[220px]"),children:W?t.jsx(tt,{field:W,inline:!0,values:Q,onChange:s=>{const i=W.type==="select";j(W,s,i)},onClose:()=>{L(!1),T(null),D([])}}):t.jsxs(be,{className:"outline-hidden",tabIndex:P?void 0:0,children:[P&&t.jsx(ye,{className:"h-[34px]",placeholder:M.searchFields}),t.jsxs(je,{className:"outline-hidden",children:[t.jsx(we,{children:M.noFieldsFound}),r.map((s,i)=>{if(Ye(s)){const k=s.fields.filter(w=>w.type==="separator"||z?!0:!e.some(R=>R.field===w.key));return k.length===0?null:t.jsx(X,{heading:s.group||"Fields",children:k.map((w,R)=>{if(w.type==="separator"){const A=w.key??`${s.group??`group-${i}`}-separator-${R}`;return t.jsx(ue,{},A)}return t.jsxs(B,{className:"min-w-0",onSelect:()=>w.key&&l(w.key),children:[w.icon,t.jsx("span",{className:"truncate",children:w.label})]},w.key??`${s.group??`group-${i}`}-field-${R}`)})},s.group||`group-${i}`)}if(Je(s)){const k=s.fields.filter(w=>w.type==="separator"||z?!0:!e.some(R=>R.field===w.key));return k.length===0?null:t.jsx(X,{heading:s.group||"Fields",children:k.map(w=>{if(w.type==="separator"){const R=w.key||`${s.group||`group-${i}`}-separator-${w.label||Math.random()}`;return t.jsx(ue,{},R)}return t.jsxs(B,{className:"min-w-0",onSelect:()=>w.key&&l(w.key),children:[w.icon,t.jsx("span",{className:"truncate",children:w.label})]},w.key)})},s.group||`group-${i}`)}const b=s;if(b.type==="separator"){const k=b.key||`flat-separator-${b.label||i}`;return t.jsx(ue,{},k)}return!z&&e.some(k=>k.field===b.key)?null:t.jsxs(B,{className:"min-w-0",onSelect:()=>b.key&&l(b.key),children:[b.icon,t.jsx("span",{className:"truncate",children:b.label})]},b.key)})]})]})})]}),h&&e.length>0&&(N||t.jsxs("button",{className:I(Oe({variant:d,size:x,cursorPointer:c,radius:g}),"border-0 bg-transparent hover:bg-transparent hover:text-foreground","sm:absolute sm:right-0 sm:top-0",E),type:"button",onClick:()=>{V?V():a([])},children:[C||t.jsx(De,{}),p||M.clearFilters]}))]})})}const Le=(e,r,a=[])=>({id:`${Date.now()}-${Math.random().toString(36).substring(2,11)}`,field:e,operator:r||"is",values:a});export{be as C,pa as F,je as a,we as b,Le as c,X as d,B as e,da as f};
|