@actuate-media/cms-admin 0.65.0 → 0.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/AdminRoot.d.ts.map +1 -1
  3. package/dist/AdminRoot.js +7 -4
  4. package/dist/AdminRoot.js.map +1 -1
  5. package/dist/__tests__/components/inspector-pane.test.d.ts +2 -0
  6. package/dist/__tests__/components/inspector-pane.test.d.ts.map +1 -0
  7. package/dist/__tests__/components/inspector-pane.test.js +31 -0
  8. package/dist/__tests__/components/inspector-pane.test.js.map +1 -0
  9. package/dist/__tests__/lib/pages-tree.test.d.ts +2 -0
  10. package/dist/__tests__/lib/pages-tree.test.d.ts.map +1 -0
  11. package/dist/__tests__/lib/pages-tree.test.js +173 -0
  12. package/dist/__tests__/lib/pages-tree.test.js.map +1 -0
  13. package/dist/__tests__/views/dashboard.test.js +7 -3
  14. package/dist/__tests__/views/dashboard.test.js.map +1 -1
  15. package/dist/__tests__/views/media-seo-audit.render.test.d.ts +2 -0
  16. package/dist/__tests__/views/media-seo-audit.render.test.d.ts.map +1 -0
  17. package/dist/__tests__/views/media-seo-audit.render.test.js +102 -0
  18. package/dist/__tests__/views/media-seo-audit.render.test.js.map +1 -0
  19. package/dist/__tests__/views/onboarding-block.render.test.d.ts +2 -0
  20. package/dist/__tests__/views/onboarding-block.render.test.d.ts.map +1 -0
  21. package/dist/__tests__/views/onboarding-block.render.test.js +146 -0
  22. package/dist/__tests__/views/onboarding-block.render.test.js.map +1 -0
  23. package/dist/__tests__/views/pages-list-view.test.js +77 -1
  24. package/dist/__tests__/views/pages-list-view.test.js.map +1 -1
  25. package/dist/actuate-admin.css +1 -1
  26. package/dist/components/script-tags/ScriptTagEditorPane.d.ts +26 -0
  27. package/dist/components/script-tags/ScriptTagEditorPane.d.ts.map +1 -0
  28. package/dist/components/script-tags/ScriptTagEditorPane.js +160 -0
  29. package/dist/components/script-tags/ScriptTagEditorPane.js.map +1 -0
  30. package/dist/components/ui/InspectorPane.d.ts +51 -0
  31. package/dist/components/ui/InspectorPane.d.ts.map +1 -0
  32. package/dist/components/ui/InspectorPane.js +42 -0
  33. package/dist/components/ui/InspectorPane.js.map +1 -0
  34. package/dist/components/ui/RowActions.d.ts +19 -0
  35. package/dist/components/ui/RowActions.d.ts.map +1 -0
  36. package/dist/components/ui/RowActions.js +16 -0
  37. package/dist/components/ui/RowActions.js.map +1 -0
  38. package/dist/components/ui/index.d.ts +4 -0
  39. package/dist/components/ui/index.d.ts.map +1 -1
  40. package/dist/components/ui/index.js +2 -0
  41. package/dist/components/ui/index.js.map +1 -1
  42. package/dist/layout/Header.js +1 -1
  43. package/dist/layout/Header.js.map +1 -1
  44. package/dist/layout/Layout.js +8 -38
  45. package/dist/layout/Layout.js.map +1 -1
  46. package/dist/lib/page-editor-service.d.ts +11 -2
  47. package/dist/lib/page-editor-service.d.ts.map +1 -1
  48. package/dist/lib/page-editor-service.js +8 -2
  49. package/dist/lib/page-editor-service.js.map +1 -1
  50. package/dist/lib/pages-service.d.ts +9 -0
  51. package/dist/lib/pages-service.d.ts.map +1 -1
  52. package/dist/lib/pages-service.js +14 -0
  53. package/dist/lib/pages-service.js.map +1 -1
  54. package/dist/lib/pages-tree.d.ts +44 -0
  55. package/dist/lib/pages-tree.d.ts.map +1 -0
  56. package/dist/lib/pages-tree.js +106 -0
  57. package/dist/lib/pages-tree.js.map +1 -0
  58. package/dist/lib/posts-service.d.ts +11 -0
  59. package/dist/lib/posts-service.d.ts.map +1 -1
  60. package/dist/lib/posts-service.js +13 -0
  61. package/dist/lib/posts-service.js.map +1 -1
  62. package/dist/lib/seo-service.d.ts +3 -0
  63. package/dist/lib/seo-service.d.ts.map +1 -1
  64. package/dist/lib/seo-service.js.map +1 -1
  65. package/dist/views/Dashboard.d.ts.map +1 -1
  66. package/dist/views/Dashboard.js +40 -3
  67. package/dist/views/Dashboard.js.map +1 -1
  68. package/dist/views/MediaBrowser.d.ts.map +1 -1
  69. package/dist/views/MediaBrowser.js +55 -2
  70. package/dist/views/MediaBrowser.js.map +1 -1
  71. package/dist/views/MediaSeoAudit.d.ts +25 -0
  72. package/dist/views/MediaSeoAudit.d.ts.map +1 -0
  73. package/dist/views/MediaSeoAudit.js +97 -0
  74. package/dist/views/MediaSeoAudit.js.map +1 -0
  75. package/dist/views/Pages/PagesListView.d.ts.map +1 -1
  76. package/dist/views/Pages/PagesListView.js +145 -16
  77. package/dist/views/Pages/PagesListView.js.map +1 -1
  78. package/dist/views/Pages/PagesTreeTable.d.ts +35 -0
  79. package/dist/views/Pages/PagesTreeTable.d.ts.map +1 -0
  80. package/dist/views/Pages/PagesTreeTable.js +28 -0
  81. package/dist/views/Pages/PagesTreeTable.js.map +1 -0
  82. package/dist/views/Posts/PostsListView.d.ts.map +1 -1
  83. package/dist/views/Posts/PostsListView.js +66 -9
  84. package/dist/views/Posts/PostsListView.js.map +1 -1
  85. package/dist/views/ScriptTags.d.ts +5 -1
  86. package/dist/views/ScriptTags.d.ts.map +1 -1
  87. package/dist/views/ScriptTags.js +32 -7
  88. package/dist/views/ScriptTags.js.map +1 -1
  89. package/dist/views/dashboard/OnboardingBlock.d.ts +29 -0
  90. package/dist/views/dashboard/OnboardingBlock.d.ts.map +1 -0
  91. package/dist/views/dashboard/OnboardingBlock.js +71 -0
  92. package/dist/views/dashboard/OnboardingBlock.js.map +1 -0
  93. package/dist/views/page-editor/PageSectionEditor.d.ts +7 -1
  94. package/dist/views/page-editor/PageSectionEditor.d.ts.map +1 -1
  95. package/dist/views/page-editor/PageSectionEditor.js +3 -3
  96. package/dist/views/page-editor/PageSectionEditor.js.map +1 -1
  97. package/dist/views/page-editor/PageSettingsModal.d.ts +1 -1
  98. package/dist/views/page-editor/PageSettingsModal.d.ts.map +1 -1
  99. package/dist/views/page-editor/PageSettingsModal.js +42 -3
  100. package/dist/views/page-editor/PageSettingsModal.js.map +1 -1
  101. package/dist/views/seo/TechnicalTab.d.ts.map +1 -1
  102. package/dist/views/seo/TechnicalTab.js +15 -0
  103. package/dist/views/seo/TechnicalTab.js.map +1 -1
  104. package/package.json +3 -3
  105. package/src/AdminRoot.tsx +7 -3
  106. package/src/__tests__/components/inspector-pane.test.tsx +64 -0
  107. package/src/__tests__/lib/pages-tree.test.ts +197 -0
  108. package/src/__tests__/views/dashboard.test.tsx +7 -3
  109. package/src/__tests__/views/media-seo-audit.render.test.tsx +117 -0
  110. package/src/__tests__/views/onboarding-block.render.test.tsx +193 -0
  111. package/src/__tests__/views/pages-list-view.test.tsx +93 -1
  112. package/src/components/script-tags/ScriptTagEditorPane.tsx +474 -0
  113. package/src/components/ui/InspectorPane.tsx +129 -0
  114. package/src/components/ui/RowActions.tsx +50 -0
  115. package/src/components/ui/index.ts +12 -0
  116. package/src/layout/Header.tsx +2 -2
  117. package/src/layout/Layout.tsx +8 -80
  118. package/src/lib/page-editor-service.ts +16 -2
  119. package/src/lib/pages-service.ts +18 -0
  120. package/src/lib/pages-tree.ts +145 -0
  121. package/src/lib/posts-service.ts +26 -0
  122. package/src/lib/seo-service.ts +3 -0
  123. package/src/views/Dashboard.tsx +286 -214
  124. package/src/views/MediaBrowser.tsx +673 -512
  125. package/src/views/MediaSeoAudit.tsx +320 -0
  126. package/src/views/Pages/PagesListView.tsx +459 -185
  127. package/src/views/Pages/PagesTreeTable.tsx +339 -0
  128. package/src/views/Posts/PostsListView.tsx +135 -10
  129. package/src/views/ScriptTags.tsx +204 -129
  130. package/src/views/dashboard/OnboardingBlock.tsx +233 -0
  131. package/src/views/page-editor/PageSectionEditor.tsx +9 -2
  132. package/src/views/page-editor/PageSettingsModal.tsx +75 -2
  133. package/src/views/seo/TechnicalTab.tsx +15 -0
  134. package/dist/views/ScriptTagEditor.d.ts +0 -6
  135. package/dist/views/ScriptTagEditor.d.ts.map +0 -1
  136. package/dist/views/ScriptTagEditor.js +0 -111
  137. package/dist/views/ScriptTagEditor.js.map +0 -1
  138. package/src/views/ScriptTagEditor.tsx +0 -353
@@ -1 +1 @@
1
- {"version":3,"file":"MediaBrowser.js","sourceRoot":"","sources":["../../src/views/MediaBrowser.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaBrowser.js","sourceRoot":"","sources":["../../src/views/MediaBrowser.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EACL,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,MAAM,EACN,QAAQ,EAER,WAAW,EACX,OAAO,EACP,SAAS,EACT,CAAC,EACD,GAAG,EACH,QAAQ,EACR,KAAK,EACL,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,OAAO,EACP,WAAW,EACX,YAAY,GACb,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAmB,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,UAAU,EAAwB,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,aAAa,EAA0B,MAAM,oBAAoB,CAAA;AAsB1E,SAAS,YAAY,CAAC,IAAe;IACnC,OAAO,CACL,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACjB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CACxF,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAe,EAAE,UAAkB;IAC3D,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IACrC,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IACxF,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IAClE,IAAI,UAAU,KAAK,UAAU;QAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC7E,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAA;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACvE,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,CAAA;IAC/B,OAAO,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AACxF,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,IAAI,EAAuB;IACjD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,CACL,cACE,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,eAAe,EAC9D,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAC,MAAM,GACd,CACH,CAAA;IACH,CAAC;IAED,OAAO,KAAC,SAAS,IAAC,SAAS,EAAC,6CAA6C,GAAG,CAAA;AAC9E,CAAC;AAQD,SAAS,gBAAgB,CAAC,SAA0B;IAClD,MAAM,IAAI,GAAG,qBAAqB,CAAA;IAClC,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/B,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,GAAG,IAAI,wCAAwC,CAAA;QACxF,IAAI,SAAS,CAAC,KAAK,KAAK,eAAe;YAAE,OAAO,GAAG,IAAI,gBAAgB,CAAA;QACvE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,GAAG,IAAI,aAAa,SAAS,CAAC,QAAQ,EAAE,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,UAAU,EAAqB;IAC5D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5F,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACtE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAIjD,MAAM,CAAC,CAAA;IAEV,MAAM,OAAO,GAAG,UAAU,CAAuC,mBAAmB,CAAC,CAAA;IACrF,MAAM,SAAS,GAAG,UAAU,CAC1B,iCAAiC,CAClC,CAAA;IAED,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAsB,SAAS,CAAC,CAAA;IAC1E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAkB,MAAM,CAAC,CAAA;IACjE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC,CAAA;IAC9E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAkC,IAAI,CAAC,CAAA;IACnF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAA;IAEpE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC9C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACrE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,YAAY,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAEnD,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAA;IAElD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,IAAI,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;YACzF,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YACtD,OAAO,aAAa,IAAI,WAAW,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACvB,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAClE,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,GAAW,CAAA;gBACf,IAAI,UAAU,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;oBAC9B,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAA;gBACjC,CAAC;qBAAM,CAAC;oBACN,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBAC1E,CAAC;gBACD,OAAO,UAAU,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YACpD,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;IAErD,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC;gBAAE,MAAM,EAAE,CAAA;iBAC9D,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;gBAAE,MAAM,EAAE,CAAA;;gBAC7C,SAAS,EAAE,CAAA;YAChB,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACvE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,EAAE;QACrC,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QAC7B,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAC9B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1B,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAClC,kBAAkB,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;QAC1C,mBAAmB,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAA;IAED,wEAAwE;IACxE,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EACrF,CAAC,UAAU,CAAC,CACb,CAAA;IAED,MAAM,eAAe,GAAG,CAAC,SAA4B,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,YAAY,CAAC,SAAS,CAAC,CAAA;QACvB,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,aAAa,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,CAAmB,EAAE,EAAmB,EAAE,EAAE;QAClE,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CACvE,CAAA;IACH,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CACzF,CAAA;IACH,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;QACnC,IAAI,CAAC,UAAU;YAAE,OAAM;QACvB,SAAS,CAAC,IAAI,CAAC,CAAA;QACf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,UAAU,CAAC,EAAE,EAAE,EAAE;YAClD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,eAAe;gBAC5B,YAAY,EAAE,gBAAgB;aAC/B,CAAC;SACH,CAAC,CAAA;QACF,SAAS,CAAC,KAAK,CAAC,CAAA;QAChB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;YACpC,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,EAAE,EAAmB,EAAE,EAAE;QAChD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC9D,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;YAC9B,IAAI,UAAU,EAAE,EAAE,KAAK,EAAE;gBAAE,WAAW,EAAE,CAAA;YACxC,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAmC,EAAE,EAAE;QACrE,eAAe,CAAC,KAAK,CAAC,CAAA;QAEtB,IAAI,KAAK,KAAK,UAAU,IAAI,UAAU,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,MAAM,MAAM,CAWtB,UAAU,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;YAEzD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACxB,CAAC;iBAAM,IAAK,GAAG,CAAC,IAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;YAChF,CAAC;iBAAM,IAAK,GAAG,CAAC,IAAY,EAAE,YAAY,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAI,GAAG,CAAC,IAAY,CAAC,YAAY,CAAA;gBAC1C,KAAK,CAAC,OAAO,CACX,cAAc,GAAG,CAAC,qBAAqB,MAAM,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC,OAAO,YAAY,CACpG,CAAA;gBACD,OAAO,EAAE,CAAA;YACX,CAAC;YAED,eAAe,CAAC,IAAI,CAAC,CAAA;YACrB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,eAAe,CAAC,IAAI,CAAC,CAAA;YACrB,OAAM;QACR,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,MAAM,CACtB,oBAAoB,EACpB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CACrE,CAAA;QAED,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,qEAAqE;YACrE,+DAA+D;YAC/D,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;iBACjC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;iBACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;iBACrB,IAAI,EAAE,CAAA;YACT,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAC5C,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;YAC7D,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;YAC7E,eAAe,CAAC,IAAI,CAAC,CAAA;YACrB,OAAM;QACR,CAAC;QAED,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;YAC/B,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;YACnC,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;QACxC,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,UAAU,EAAE,GAAG,EAAE,CAAC;YACpB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YAC7C,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAsB,EAAE,EAAE;QACzD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACxC,YAAY,CAAC,IAAI,CAAC,CAAA;QAElB,IAAI,YAAY,GAAG,CAAC,CAAA;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;YACtB,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAE7B,MAAM,GAAG,GAAG,MAAM,MAAM,CAUtB,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAEtD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,KAAK,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAI,GAAG,CAAC,IAAY,EAAE,YAAY,CAAA;gBAC3C,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;oBAC3B,KAAK,CAAC,OAAO,CACX,GAAG,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,qBAAqB,MAAM,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC,OAAO,UAAU,CAC5G,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBACxC,CAAC;gBACD,YAAY,EAAE,CAAA;YAChB,CAAC;QACH,CAAC;QAED,IAAI,YAAY,GAAG,CAAC;YAAE,OAAO,EAAE,CAAA;QAC/B,IAAI,YAAY,CAAC,OAAO;YAAE,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAA;QACzD,YAAY,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,WAAW,CAChC,KAAK,EAAE,MAAc,EAAE,QAAuB,EAAE,EAAE;QAChD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,MAAM,SAAS,EAAE;YAClD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;SACnC,CAAC,CAAA;QACF,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAA;YACnE,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;IAED,MAAM,eAAe,GAAG,CAAC,CAAkB,EAAE,EAAmB,EAAE,EAAE;QAClE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1D,CAAC,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,UAAU,KAAK,IAAI,CAAA;IACrC,MAAM,MAAM,GAAG,UAAU;QACvB,CAAC,CAAC;YACE,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE;QACH,CAAC,CAAC,EAAE,CAAA;IAEN,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAA4C;QAC9E,MAAM,MAAM,GAAG,UAAU,EAAE,GAAG,KAAK,OAAO,CAAA;QAC1C,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,EAC7D,SAAS,EAAC,qGAAqG,aAE9G,KAAK,EACL,MAAM,CAAC,CAAC,CAAC,CACR,UAAW,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAChC,KAAC,OAAO,IAAC,SAAS,EAAC,SAAS,GAAG,CAChC,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,GAAG,CAClC,CACF,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,SAAS,EAAC,+BAA+B,GAAG,CAC1D,IACM,CACV,CAAA;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,cAAK,SAAS,EAAC,+DAA+D,YAC5E,KAAC,OAAO,IAAC,SAAS,EAAC,mCAAmC,GAAG,GACrD,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,8CAA8C,aAC1D,KAAK,IAAI,CACR,eAAK,SAAS,EAAC,4FAA4F,aACzG,KAAC,aAAa,IAAC,SAAS,EAAC,mCAAmC,GAAG,EAC/D,eAAM,SAAS,EAAC,iCAAiC,YAAE,KAAK,GAAQ,EAChE,iBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,sHAAsH,sBAGzH,IACL,CACP,EAED,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAK,SAAS,EAAC,yBAAyB,aACtC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAC9C,SAAS,EAAC,mDAAmD,EAC7D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,YAEpD,KAAC,WAAW,IAAC,SAAS,EAAC,+BAA+B,GAAG,GAClD,EACT,0BACE,aAAI,SAAS,EAAC,sBAAsB,8BAAmB,EACvD,eAAK,SAAS,EAAC,qCAAqC,aAClD,KAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAC,aAAa,GAAG,EACzD,KAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAC,QAAQ,GAAG,EACrD,KAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAC,QAAQ,GAAG,EACrD,KAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,EAAC,WAAW,GAAG,EAC3D,KAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAC,cAAc,GAAG,IACrE,IACF,IACF,EACN,0BACE,gBACE,GAAG,EAAE,YAAY,EACjB,IAAI,EAAC,MAAM,EACX,QAAQ,QACR,MAAM,EAAC,uDAAuD,EAC9D,SAAS,EAAC,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAClD,EACF,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,EAC5C,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAC,mJAAmJ,aAE5J,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,CAC7C,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,CAC/B,EACA,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,IACrC,IACL,IACF,EAEN,eACE,IAAI,EAAC,SAAS,gBACH,aAAa,EACxB,SAAS,EAAC,wCAAwC,aAElD,kBACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,mBACK,SAAS,KAAK,SAAS,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EACtC,SAAS,EAAE,sLACT,SAAS,KAAK,SAAS;4BACrB,CAAC,CAAC,uCAAuC;4BACzC,CAAC,CAAC,gEACN,EAAE,aAEF,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,wBAAgB,eAE5B,EACT,kBACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,mBACK,SAAS,KAAK,OAAO,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EACpC,SAAS,EAAE,sLACT,SAAS,KAAK,OAAO;4BACnB,CAAC,CAAC,uCAAuC;4BACzC,CAAC,CAAC,gEACN,EAAE,aAEF,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,wBAAgB,eAEhC,eACE,SAAS,EAAE,0DACT,mBAAmB,KAAK,CAAC;oCACvB,CAAC,CAAC,qCAAqC;oCACvC,CAAC,CAAC,qCACN,EAAE,gBACU,GAAG,mBAAmB,uBAAuB,YAExD,mBAAmB,GACf,IACA,IACL,EAEL,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CACvB,KAAC,aAAa,IAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAI,CAC9D,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,2CAA2C,aACvD,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,qFAAqF,YAClG,KAAC,UAAU,IACT,KAAK,EAAC,OAAO,EACb,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gCAChB,YAAY,CAAC,GAAG,CAAC,CAAA;gCACjB,gBAAgB,CAAC,EAAE,CAAC,CAAA;4BACtB,CAAC,EACD,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAC/B,kBAAkB,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EACzC,UAAU,EAAE,cAAc,GAC1B,GACE,CACP,EAED,eAAK,SAAS,EAAC,8BAA8B,aAC3C,cAAK,SAAS,EAAC,8CAA8C,YAC3D,eAAK,SAAS,EAAC,uCAAuC,aACpD,eAAK,SAAS,EAAC,gCAAgC,aAC7C,eAAK,SAAS,EAAC,0BAA0B,aACvC,KAAC,MAAM,IAAC,SAAS,EAAC,wEAAwE,GAAG,EAC7F,gBACE,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,iBAAiB,EAC7B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAC,8GAA8G,GACxH,IACE,EACN,kBACE,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC9C,SAAS,EAAC,kGAAkG,aAE5G,iBAAQ,KAAK,EAAC,KAAK,0BAAmB,EACtC,iBAAQ,KAAK,EAAC,OAAO,uBAAgB,EACrC,iBAAQ,KAAK,EAAC,OAAO,uBAAgB,EACrC,iBAAQ,KAAK,EAAC,UAAU,0BAAmB,IACpC,IACL,EACN,eAAK,SAAS,EAAC,iDAAiD,aAC9D,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAClC,SAAS,EAAE,mCAAmC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,6CAA6C,EAAE,YAEzJ,KAAC,OAAO,IAAC,SAAS,EAAC,SAAS,GAAG,GACxB,EACT,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAClC,SAAS,EAAE,mCAAmC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,6CAA6C,EAAE,YAEzJ,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,GACrB,IACL,IACF,GACF,EAEL,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,cAAK,SAAS,EAAC,4DAA4D,YACzE,eAAK,SAAS,EAAC,mCAAmC,aAChD,gBAAM,SAAS,EAAC,sBAAsB,aACnC,aAAa,CAAC,MAAM,WAAO,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iBAC5D,EACP,eAAK,SAAS,EAAC,yBAAyB,aACtC,iBACE,OAAO,EAAE,KAAK,IAAI,EAAE;wDAClB,KAAK,MAAM,EAAE,IAAI,aAAa;4DAAE,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;wDACrD,gBAAgB,CAAC,EAAE,CAAC,CAAA;oDACtB,CAAC,EACD,SAAS,EAAC,qHAAqH,gCAGxH,EACT,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EACnC,SAAS,EAAC,6FAA6F,uBAGhG,IACL,IACF,GACF,CACP,EAEA,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAC5C,eAAK,SAAS,EAAC,6DAA6D,aAC1E,cAAK,SAAS,EAAC,uEAAuE,YACpF,KAAC,SAAS,IAAC,SAAS,EAAC,+BAA+B,GAAG,GACnD,EACN,aAAI,SAAS,EAAC,0CAA0C,YACrD,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,KAAK,KAAK,eAAe;4CAChE,CAAC,CAAC,wBAAwB;4CAC1B,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ;gDAC3B,CAAC,CAAC,yBAAyB;gDAC3B,CAAC,CAAC,cAAc,GACjB,EACL,YAAG,SAAS,EAAC,+BAA+B,uDAExC,IACA,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,2CAA2C,aACxD,cACE,SAAS,EAAE,uFAAuF,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,YAE1I,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CACrB,cACE,SAAS,EAAE,qFACT,SAAS;gDACP,CAAC,CAAC,0DAA0D;gDAC5D,CAAC,CAAC,yFACN,EAAE,YAED,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gDAC9B,MAAM,QAAQ,GAAG,UAAU,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAA;gDAC3C,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAA;gDAC1E,MAAM,SAAS,GAAG,CAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oDACrB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG;oDAC7B,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CACnC;qDACE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;qDACpB,WAAW,EAAE,CAAA;gDAChB,OAAO,CACL,eAEE,SAAS,EAAE,kGACT,QAAQ;wDACN,CAAC,CAAC,uCAAuC;wDACzC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4DAC/B,CAAC,CAAC,0CAA0C;4DAC5C,CAAC,CAAC,kCACR,EAAE,EACF,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAC/B,SAAS,QACT,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,aAE/C,eAAK,SAAS,EAAC,+CAA+C,aAC5D,cAAK,SAAS,EAAC,yDAAyD,YACtE,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,GAAI,GACxB,EACL,SAAS,IAAI,CACZ,cACE,SAAS,EAAC,4FAA4F,EACtG,KAAK,EAAC,iBAAiB,YAEvB,KAAC,aAAa,IAAC,SAAS,EAAC,iCAAiC,GAAG,GACzD,CACP,EACD,cACE,SAAS,EAAC,iFAAiF,EAC3F,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,YAE1C,cACE,SAAS,EAAE,+EACT,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4EAC7B,CAAC,CAAC,2BAA2B;4EAC7B,CAAC,CAAC,yBACN,EAAE,YAED,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAClC,cACE,SAAS,EAAC,iCAAiC,EAC3C,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,YAEnB,eACE,CAAC,EAAC,mBAAmB,EACrB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,CACP,GACG,GACF,IACF,EACN,eAAK,SAAS,EAAC,oEAAoE,aACjF,eACE,SAAS,EAAE,mDACT,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAC7B,EAAE,EACF,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,GACrD,EACF,eAAK,SAAS,EAAC,gBAAgB,aAC7B,YAAG,SAAS,EAAC,8CAA8C,YACxD,IAAI,CAAC,IAAI,GACR,EACJ,YAAG,SAAS,EAAC,wCAAwC,YAClD,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GACjD,IACA,IACF,KApED,IAAI,CAAC,EAAE,CAqER,CACP,CAAA;4CACH,CAAC,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,wBAAwB,YACrC,iBAAO,SAAS,EAAC,QAAQ,aACvB,gBAAO,SAAS,EAAC,8CAA8C,YAC7D,yBACE,aAAI,SAAS,EAAC,yBAAyB,YACrC,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EACL,aAAa,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM;4EACjD,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAE9B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAC,sBAAsB,GAChC,GACC,EACL,aAAI,SAAS,EAAC,eAAe,GAAM,EACnC,aAAI,SAAS,EAAC,qBAAqB,YACjC,KAAC,UAAU,IAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,GAAG,GACvC,EACL,aAAI,SAAS,EAAC,qBAAqB,YACjC,KAAC,UAAU,IAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,GAAG,GACvC,EACL,aAAI,SAAS,EAAC,qBAAqB,YACjC,KAAC,UAAU,IAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,GAAG,GACvC,EACL,aAAI,SAAS,EAAC,qBAAqB,YACjC,KAAC,UAAU,IAAC,KAAK,EAAC,UAAU,EAAC,OAAO,EAAC,MAAM,GAAG,GAC3C,EACL,aAAI,SAAS,EAAC,yDAAyD,uBAElE,IACF,GACC,EACR,gBAAO,SAAS,EAAC,wBAAwB,YACtC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;4DAC9B,MAAM,QAAQ,GAAG,UAAU,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAA;4DAC3C,MAAM,SAAS,GACb,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAA;4DAC1D,OAAO,CACL,cAEE,SAAS,EAAE,oCAAoC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAC9F,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAC/B,SAAS,QACT,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,aAE/C,aAAI,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YAC3D,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CACb,cAAc,CACZ,EAAE,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC,EAAsB,EACjD,IAAI,CAAC,EAAE,CACR,EAEH,SAAS,EAAC,sBAAsB,GAChC,GACC,EACL,aAAI,SAAS,EAAC,uBAAuB,YACnC,KAAC,YAAY,IAAC,SAAS,EAAC,+BAA+B,GAAG,GACvD,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,6EAA6E,YAC1F,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,GAAI,GACxB,EACN,eAAM,SAAS,EAAC,qCAAqC,YAClD,IAAI,CAAC,IAAI,GACL,IACH,GACH,EACL,aAAI,SAAS,EAAC,yCAAyC,YACpD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,GACtB,EACL,aAAI,SAAS,EAAC,yCAAyC,YACpD,IAAI,CAAC,IAAI,GACP,EACL,aAAI,SAAS,EAAC,yCAAyC,YACpD,IAAI,CAAC,IAAI,GACP,EACL,aAAI,SAAS,EAAC,WAAW,YACtB,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,gCAA8B,CAC1D,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,yBAAuB,CACnD,GACE,KA/CA,IAAI,CAAC,EAAE,CAgDT,CACN,CAAA;wDACH,CAAC,CAAC,GACI,IACF,GACJ,CACP,GACG,EAEL,SAAS,IAAI,UAAU,IAAI,CAC1B,eAAK,SAAS,EAAC,6FAA6F,aAC1G,eAAK,SAAS,EAAC,wFAAwF,aACrG,aAAI,SAAS,EAAC,8CAA8C,YACzD,UAAU,CAAC,IAAI,GACb,EACL,iBACE,OAAO,EAAE,WAAW,EACpB,SAAS,EAAC,8CAA8C,gBAC7C,aAAa,YAExB,KAAC,CAAC,IAAC,SAAS,EAAC,+BAA+B,GAAG,GACxC,IACL,EAEN,eAAK,SAAS,EAAC,wBAAwB,aACrC,cAAK,SAAS,EAAC,4BAA4B,YACzC,cAAK,SAAS,EAAC,mFAAmF,YAC/F,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC1B,KAAC,YAAY,IAAC,IAAI,EAAE,UAAU,GAAI,CACnC,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,SAAS,EAAC,iCAAiC,GAAG,CAC1D,GACG,GACF,EAEL,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CACpB,eAAK,SAAS,EAAC,iEAAiE,aAC9E,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,aAAa,IAAC,SAAS,EAAC,sCAAsC,GAAG,EAClE,0BACE,aAAG,SAAS,EAAC,uCAAuC,aACjD,MAAM,CAAC,MAAM,YAAQ,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,cAClD,EACJ,aAAI,SAAS,EAAC,aAAa,YACxB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,cAAY,SAAS,EAAC,sBAAsB,wBACvC,KAAK,KADD,CAAC,CAEL,CACN,CAAC,GACC,IACD,IACF,EACN,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,KAAK,IAAI,EAAE;oEAClB,IAAI,CAAC,UAAU,CAAC,MAAM;wEAAE,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;oEACrD,IAAI,CAAC,UAAU,CAAC,KAAK;wEAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;oEACtD,IAAI,UAAU,CAAC,SAAS,GAAG,OAAO;wEAAE,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAA;gEACxE,CAAC,EACD,SAAS,EAAC,8JAA8J,aAExK,KAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,GAAG,yBAE7B,IACL,CACP,EAED,eAAK,SAAS,EAAC,sCAAsC,aACnD,aAAI,SAAS,EAAC,mEAAmE,iCAE5E,EACL,eAAK,SAAS,EAAC,wBAAwB,aACrC,0BACE,cAAK,SAAS,EAAC,sCAAsC,uBAAa,EAClE,cAAK,SAAS,EAAC,yBAAyB,YACrC,UAAU,CAAC,MAAM,IAAI,SAAS,GAC3B,IACF,EACN,0BACE,cAAK,SAAS,EAAC,sCAAsC,0BAAgB,EACrE,eAAK,SAAS,EAAC,iDAAiD,aAC7D,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,SAAS,GAAG,OAAO,IAAI,CACjC,eAAM,SAAS,EAAC,sBAAsB,wBAAe,CACtD,IACG,IACF,EACN,0BACE,cAAK,SAAS,EAAC,sCAAsC,2BAAiB,EACtE,cAAK,SAAS,EAAC,yBAAyB,YACrC,UAAU,CAAC,UAAU,IAAI,GAAG,GACzB,IACF,EACN,0BACE,cAAK,SAAS,EAAC,sCAAsC,yBAAe,EACpE,cAAK,SAAS,EAAC,yBAAyB,YAAE,UAAU,CAAC,IAAI,GAAO,IAC5D,IACF,EAEN,0BACE,cAAK,SAAS,EAAC,oCAAoC,oBAAU,EAC7D,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAM,SAAS,EAAC,2FAA2F,YACxG,UAAU,CAAC,GAAG,GACV,EACP,iBACE,OAAO,EAAE,aAAa,EACtB,SAAS,EAAC,yDAAyD,EACnE,KAAK,EAAC,UAAU,YAEhB,KAAC,IAAI,IAAC,SAAS,EAAC,mCAAmC,GAAG,GAC/C,IACL,IACF,IACF,EAEN,eAAK,SAAS,EAAC,sCAAsC,aACnD,aAAI,SAAS,EAAC,mEAAmE,oCAE5E,EAEL,0BACE,eAAK,SAAS,EAAC,wCAAwC,aACrD,gBAAO,SAAS,EAAC,qCAAqC,wBAAgB,EACtE,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EACtC,QAAQ,EAAE,YAAY,KAAK,KAAK,EAChC,SAAS,EAAC,0GAA0G,aAEpH,KAAC,GAAG,IAAC,SAAS,EAAC,aAAa,GAAG,EAC9B,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,IAClD,IACL,EACN,mBACE,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC3C,WAAW,EAAC,0CAA0C,EACtD,IAAI,EAAE,CAAC,EACP,SAAS,EAAC,qHAAqH,GAC/H,EACD,CAAC,OAAO,IAAI,CACX,YAAG,SAAS,EAAC,+BAA+B,mDAExC,CACL,IACG,EAEN,0BACE,eAAK,SAAS,EAAC,wCAAwC,aACrD,gBAAO,SAAS,EAAC,qCAAqC,sBAAc,EACpE,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACxC,QAAQ,EAAE,YAAY,KAAK,OAAO,EAClC,SAAS,EAAC,0GAA0G,aAEpH,KAAC,GAAG,IAAC,SAAS,EAAC,aAAa,GAAG,EAC9B,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,IACpD,IACL,EACN,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,WAAW,EAAC,gBAAgB,EAC5B,SAAS,EAAC,yGAAyG,GACnH,IACE,EAEN,0BACE,gBACE,OAAO,EAAC,sBAAsB,EAC9B,SAAS,EAAC,gDAAgD,wBAGpD,EACR,gBACE,EAAE,EAAC,sBAAsB,EACzB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,WAAW,EAAC,4CAA4C,EACxD,SAAS,EAAC,yGAAyG,GACnH,IACE,EAEN,0BACE,gBACE,OAAO,EAAC,0BAA0B,EAClC,SAAS,EAAC,gDAAgD,4BAGpD,EACR,mBACE,EAAE,EAAC,0BAA0B,EAC7B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACnD,WAAW,EAAC,4CAA4C,EACxD,IAAI,EAAE,CAAC,EACP,SAAS,EAAC,qHAAqH,GAC/H,IACE,EAEN,0BACE,gBACE,OAAO,EAAC,4BAA4B,EACpC,SAAS,EAAC,gDAAgD,8BAGpD,EACR,gBACE,EAAE,EAAC,4BAA4B,EAC/B,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACpD,WAAW,EAAC,uCAAuC,EACnD,SAAS,EAAC,yGAAyG,GACnH,IACE,EAEN,0BACE,gBAAO,SAAS,EAAC,gDAAgD,0BAEzD,EACR,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAChD,SAAS,EAAC,yGAAyG,GACnH,IACE,IACF,EAEN,eAAK,SAAS,EAAC,4BAA4B,aACzC,cAAI,SAAS,EAAC,wEAAwE,yBAC3E,UAAU,CAAC,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,IAC1D,EACJ,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACnD,cAAK,SAAS,EAAC,WAAW,YACvB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CACnC,kBAEE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EACvC,SAAS,EAAC,+GAA+G,aAEzH,KAAC,KAAK,IAAC,SAAS,EAAC,wCAAwC,GAAG,EAC5D,eAAM,SAAS,EAAC,yCAAyC,YACtD,KAAK,CAAC,IAAI,GACN,EACP,KAAC,YAAY,IAAC,SAAS,EAAC,4CAA4C,GAAG,KATlE,CAAC,CAUC,CACV,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,uDAAuD,YACpE,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,aAAa,IAAC,SAAS,EAAC,sCAAsC,GAAG,EAClE,0BACE,YAAG,SAAS,EAAC,kCAAkC,+BAAmB,EAClE,YAAG,SAAS,EAAC,6BAA6B,wFAGtC,IACA,IACF,GACF,CACP,IACG,EAEN,eAAK,SAAS,EAAC,eAAe,aAC5B,aAAI,SAAS,EAAC,mEAAmE,gCAE5E,EACL,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAC3C,QAAQ,EAAE,YAAY,KAAK,UAAU,EACrC,SAAS,EAAC,0JAA0J,aAEpK,KAAC,QAAQ,IACP,SAAS,EAAE,iCAAiC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,GAC/F,EACF,eAAK,SAAS,EAAC,QAAQ,aACrB,cAAK,SAAS,EAAC,kCAAkC,YAC9C,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,GAC7D,EACN,cAAK,SAAS,EAAC,6BAA6B,kEAEtC,IACF,IACC,EACT,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,+GAA+G,aAEzH,KAAC,GAAG,IAAC,SAAS,EAAC,wCAAwC,GAAG,EAC1D,eAAK,SAAS,EAAC,QAAQ,aACrB,cAAK,SAAS,EAAC,qCAAqC,oCAE9C,EACN,cAAK,SAAS,EAAC,sCAAsC,oEAE/C,IACF,IACC,IACL,IACF,EAEN,eAAK,SAAS,EAAC,4EAA4E,aACzF,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAC,yKAAyK,aAElL,MAAM,IAAI,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,EACtD,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,IAC/B,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,iDAAiD,EAC3D,KAAK,EAAC,UAAU,YAEhB,KAAC,QAAQ,IAAC,SAAS,EAAC,+BAA+B,GAAG,GAC/C,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,EACzC,SAAS,EAAC,iDAAiD,EAC3D,KAAK,EAAC,QAAQ,YAEd,KAAC,MAAM,IAAC,SAAS,EAAC,0BAA0B,GAAG,GACxC,IACL,IACF,CACP,IACG,CACP,IACG,IACF,CACP,IACG,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The subset of the `GET /media` item shape the audit needs. `seoScore` is
3
+ * derived server-side by `calculateMediaSeoScore()` in cms-core — the audit
4
+ * never re-scores client-side, so this table can't drift from the SEO drawer
5
+ * or the MCP `validateMediaSEO` tool.
6
+ */
7
+ export interface MediaSeoAuditItem {
8
+ id: number | string;
9
+ name: string;
10
+ type: string;
11
+ size: string;
12
+ url: string;
13
+ format?: string;
14
+ altTag?: string;
15
+ title?: string;
16
+ description?: string;
17
+ seoScore?: number;
18
+ }
19
+ export interface MediaSeoAuditProps {
20
+ items: MediaSeoAuditItem[];
21
+ /** Fired when a row / Edit button is activated — opens the item in the Library tab. */
22
+ onEdit: (item: MediaSeoAuditItem) => void;
23
+ }
24
+ export declare function MediaSeoAudit({ items, onEdit }: MediaSeoAuditProps): import("react/jsx-runtime").JSX.Element;
25
+ //# sourceMappingURL=MediaSeoAudit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaSeoAudit.d.ts","sourceRoot":"","sources":["../../src/views/MediaSeoAudit.tsx"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,iBAAiB,EAAE,CAAA;IAC1B,uFAAuF;IACvF,MAAM,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAC1C;AAqHD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,kBAAkB,2CA6KlE"}
@@ -0,0 +1,97 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Check, FileImage, ImageIcon, SquarePen, TriangleAlert, X } from 'lucide-react';
4
+ import { useMemo, useState } from 'react';
5
+ import { FilterPill } from '../components/ui/FilterPill.js';
6
+ const FILTERS = [
7
+ ['all', 'All items'],
8
+ ['alt', 'Missing Alt'],
9
+ ['title', 'Missing Title'],
10
+ ['poor', 'Poor score'],
11
+ ];
12
+ const hasValue = (value) => Boolean(value?.trim());
13
+ const itemScore = (item) => item.seoScore ?? 0;
14
+ /** Presentational buckets for the score bar/number — score itself comes from cms-core. */
15
+ function scoreToneClass(score) {
16
+ if (score >= 80)
17
+ return 'text-[var(--suc)]';
18
+ if (score >= 30)
19
+ return 'text-[var(--warn)]';
20
+ return 'text-[var(--err)]';
21
+ }
22
+ function scoreBarClass(score) {
23
+ if (score >= 80)
24
+ return 'bg-[var(--suc)]';
25
+ if (score >= 30)
26
+ return 'bg-[var(--warn)]';
27
+ return 'bg-[var(--err)]';
28
+ }
29
+ function scoreLabel(score) {
30
+ if (score >= 80)
31
+ return 'Good';
32
+ if (score >= 55)
33
+ return 'Fair';
34
+ if (score >= 30)
35
+ return 'Needs work';
36
+ return 'Poor';
37
+ }
38
+ function isImageItem(item) {
39
+ return (Boolean(item.url) &&
40
+ (item.type?.startsWith('image/') || /\.(avif|gif|jpe?g|png|webp|svg)$/i.test(item.url)));
41
+ }
42
+ function typeLabel(item) {
43
+ return (item.format ?? item.type ?? '').replace(/^.*\//, '').toUpperCase();
44
+ }
45
+ function ScoreBar({ score }) {
46
+ return (_jsxs("div", { className: "flex items-center gap-[7px]", children: [_jsx("div", { role: "meter", "aria-label": "SEO score", "aria-valuenow": score, "aria-valuemin": 0, "aria-valuemax": 100, className: "h-[5px] w-[60px] overflow-hidden rounded-full bg-[var(--bdr)]", children: _jsx("div", { className: `h-full rounded-full motion-safe:transition-[width] motion-safe:duration-300 ${scoreBarClass(score)}`, style: { width: `${score}%` } }) }), _jsx("span", { className: `w-7 text-right text-xs font-semibold tabular-nums ${scoreToneClass(score)}`, children: score })] }));
47
+ }
48
+ function SeoCheck({ set, missTone }) {
49
+ if (set) {
50
+ return (_jsxs("span", { className: "inline-flex items-center gap-[3px] rounded-[4px] bg-[var(--suc-l)] px-[7px] py-[2px] text-[11px] font-medium text-[var(--suc)]", children: [_jsx(Check, { size: 10, "aria-hidden": true }), "Set"] }));
51
+ }
52
+ const Icon = missTone === 'err' ? X : TriangleAlert;
53
+ const tone = missTone === 'err'
54
+ ? 'bg-[var(--err-l)] text-[var(--err)]'
55
+ : 'bg-[var(--warn-l)] text-[var(--warn)]';
56
+ return (_jsxs("span", { className: `inline-flex items-center gap-[3px] rounded-[4px] px-[7px] py-[2px] text-[11px] font-medium ${tone}`, children: [_jsx(Icon, { size: 10, "aria-hidden": true }), "Missing"] }));
57
+ }
58
+ function StatCard({ value, label, sub, toneClass, }) {
59
+ return (_jsxs("div", { className: "rounded-[10px] border border-[var(--bdr)] bg-[var(--card)] px-4 py-3.5", children: [_jsx("div", { className: `text-[26px] leading-none font-bold tracking-[-0.8px] ${toneClass}`, children: value }), _jsx("div", { className: "mt-1 text-xs text-[var(--sub)]", children: label }), _jsx("div", { className: `mt-[3px] text-[11px] font-medium ${toneClass}`, children: sub })] }));
60
+ }
61
+ export function MediaSeoAudit({ items, onEdit }) {
62
+ const [filter, setFilter] = useState('all');
63
+ const stats = useMemo(() => {
64
+ const total = items.length;
65
+ const missingAlt = items.filter((it) => !hasValue(it.altTag)).length;
66
+ const missingTitle = items.filter((it) => !hasValue(it.title)).length;
67
+ const missingDesc = items.filter((it) => !hasValue(it.description)).length;
68
+ const avgScore = total === 0 ? 0 : Math.round(items.reduce((sum, it) => sum + itemScore(it), 0) / total);
69
+ return { total, missingAlt, missingTitle, missingDesc, avgScore };
70
+ }, [items]);
71
+ const filtered = useMemo(() => {
72
+ switch (filter) {
73
+ case 'all':
74
+ return items;
75
+ case 'alt':
76
+ return items.filter((it) => !hasValue(it.altTag));
77
+ case 'title':
78
+ return items.filter((it) => !hasValue(it.title));
79
+ case 'poor':
80
+ return items.filter((it) => itemScore(it) < 40);
81
+ default: {
82
+ const exhaustive = filter;
83
+ return exhaustive;
84
+ }
85
+ }
86
+ }, [items, filter]);
87
+ return (_jsxs("div", { className: "min-h-0 flex-1 overflow-y-auto", children: [_jsxs("div", { className: "mb-[18px] grid grid-cols-2 gap-2.5 lg:grid-cols-4", children: [_jsx(StatCard, { value: `${stats.avgScore}/100`, label: "Avg SEO Score", sub: scoreLabel(stats.avgScore), toneClass: scoreToneClass(stats.avgScore) }), _jsx(StatCard, { value: String(stats.missingAlt), label: "Missing Alt Text", sub: `${stats.total - stats.missingAlt} have alt text`, toneClass: stats.missingAlt > 0 ? 'text-[var(--err)]' : 'text-[var(--suc)]' }), _jsx(StatCard, { value: String(stats.missingTitle), label: "Missing Titles", sub: `${stats.total - stats.missingTitle} have titles`, toneClass: stats.missingTitle > 0 ? 'text-[var(--warn)]' : 'text-[var(--suc)]' }), _jsx(StatCard, { value: String(stats.missingDesc), label: "Missing Descriptions", sub: `${stats.total - stats.missingDesc} have descriptions`, toneClass: stats.missingDesc > 5 ? 'text-[var(--warn)]' : 'text-[var(--sub)]' })] }), _jsxs("div", { className: "mb-3 flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "text-[12.5px] font-medium text-[var(--sub)]", children: "Show:" }), FILTERS.map(([value, label]) => (_jsx(FilterPill, { active: filter === value, onClick: () => setFilter(value), children: label }, value))), _jsxs("span", { className: "ml-auto text-xs text-[var(--muted)]", children: [filtered.length, " item", filtered.length !== 1 ? 's' : ''] })] }), _jsx("div", { className: "overflow-hidden rounded-[10px] border border-[var(--bdr)] bg-[var(--card)]", children: filtered.length === 0 ? (_jsxs("div", { className: "flex flex-col items-center justify-center px-4 py-14 text-center", children: [_jsx(ImageIcon, { size: 24, className: "mb-3 text-[var(--muted)]", "aria-hidden": true }), _jsx("p", { className: "text-sm font-medium text-[var(--txt)]", children: items.length === 0 ? 'No media to audit' : 'No items match this filter' }), _jsx("p", { className: "mt-1 text-xs text-[var(--muted)]", children: items.length === 0
88
+ ? 'Upload files to the library to see their SEO health here.'
89
+ : 'Try a different filter to see more items.' })] })) : (_jsxs("table", { className: "w-full border-collapse", "aria-label": "Media SEO audit", children: [_jsx("thead", { children: _jsx("tr", { children: ['File', 'Type', 'Alt Text', 'Title', 'Description', 'SEO Score', 'Action'].map((heading) => (_jsx("th", { scope: "col", className: `border-b border-[var(--bdr)] bg-[var(--bg)] px-3 py-2 text-[11px] font-semibold tracking-[0.5px] whitespace-nowrap text-[var(--muted)] uppercase ${heading === 'Action' ? 'text-right' : 'text-left'}`, children: heading }, heading))) }) }), _jsx("tbody", { children: filtered.map((item) => {
90
+ const score = itemScore(item);
91
+ return (_jsxs("tr", { onClick: () => onEdit(item), className: "cursor-pointer border-b border-[var(--bdr)] transition-colors last:border-b-0 hover:bg-[var(--acc-l)]", children: [_jsx("td", { className: "px-3 py-[9px] align-middle", children: _jsxs("div", { className: "flex items-center gap-2.5", children: [_jsx("div", { className: "flex h-[30px] w-[38px] shrink-0 items-center justify-center overflow-hidden rounded-[5px] border border-[var(--bdr)] bg-[var(--bg)]", children: isImageItem(item) ? (_jsx("img", { src: item.url, alt: "", className: "h-full w-full object-cover", loading: "lazy" })) : (_jsx(FileImage, { size: 14, className: "text-[var(--muted)]", "aria-hidden": true })) }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "max-w-[160px] truncate text-[12.5px] font-medium text-[var(--txt)]", children: item.name }), _jsx("div", { className: "text-[11px] text-[var(--muted)]", children: item.size })] })] }) }), _jsx("td", { className: "px-3 py-[9px] align-middle", children: _jsx("span", { className: "text-[11.5px] font-semibold tracking-[0.3px] text-[var(--sub)] uppercase", children: typeLabel(item) }) }), _jsx("td", { className: "px-3 py-[9px] align-middle", children: _jsx(SeoCheck, { set: hasValue(item.altTag), missTone: "err" }) }), _jsx("td", { className: "px-3 py-[9px] align-middle", children: _jsx(SeoCheck, { set: hasValue(item.title), missTone: "warn" }) }), _jsx("td", { className: "px-3 py-[9px] align-middle", children: _jsx(SeoCheck, { set: hasValue(item.description), missTone: "warn" }) }), _jsx("td", { className: "px-3 py-[9px] align-middle", children: _jsx(ScoreBar, { score: score }) }), _jsx("td", { className: "px-3 py-[9px] text-right align-middle", children: _jsxs("button", { type: "button", onClick: (e) => {
92
+ e.stopPropagation();
93
+ onEdit(item);
94
+ }, className: "inline-flex items-center gap-[5px] rounded-[7px] px-2 py-1 text-[11.5px] text-[var(--sub)] transition-colors hover:bg-[var(--acc-l)] hover:text-[var(--acc)] focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:outline-none", children: [_jsx(SquarePen, { size: 11, "aria-hidden": true }), "Edit"] }) })] }, item.id));
95
+ }) })] })) })] }));
96
+ }
97
+ //# sourceMappingURL=MediaSeoAudit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaSeoAudit.js","sourceRoot":"","sources":["../../src/views/MediaSeoAudit.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PagesListView.d.ts","sourceRoot":"","sources":["../../../src/views/Pages/PagesListView.tsx"],"names":[],"mappings":"AAmCA;;;;;;;;;;GAUG;AAEH,UAAU,kBAAkB;IAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAOD,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,EAAE,kBAAkB,2CAmf/D;AAkaD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAU/E"}
1
+ {"version":3,"file":"PagesListView.d.ts","sourceRoot":"","sources":["../../../src/views/Pages/PagesListView.tsx"],"names":[],"mappings":"AA4CA;;;;;;;;;;GAUG;AAEH,UAAU,kBAAkB;IAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAkBD,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,EAAE,kBAAkB,2CA2qB/D;AAweD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAU/E"}
@@ -1,15 +1,29 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
- import { ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Plus, Search, Tag as TagIcon, Trash2, X, } from 'lucide-react';
4
+ import { ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Copy, List, ListTree, PenLine, Plus, Search, Tag as TagIcon, Trash2, X, } from 'lucide-react';
5
5
  import { toast } from 'sonner';
6
6
  import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
7
7
  import { adminPortalContainer } from '../../lib/portal-container.js';
8
- import { applyPagesQuery, bulkChangePageTags, bulkDeletePages, bulkUpdatePages, fetchPagesDataset, groupPages, } from '../../lib/pages-service.js';
8
+ import { applyPagesQuery, bulkChangePageTags, bulkDeletePages, bulkUpdatePages, deletePage, duplicatePage, fetchPagesDataset, groupPages, } from '../../lib/pages-service.js';
9
+ import { buildPageTree, defaultExpandedIds, flattenPageTree } from '../../lib/pages-tree.js';
9
10
  import { PostStatusBadge, SeoScoreIndicator } from '../../components/posts/badges.js';
10
11
  import { PageTagChip, PageTagsCell } from '../../components/pages/tag-badges.js';
11
12
  import { ConfirmDialog } from '../../components/ui/ConfirmDialog.js';
13
+ import { RowActionButton, RowActions } from '../../components/ui/RowActions.js';
14
+ import { PagesTreeTable } from './PagesTreeTable.js';
12
15
  const PAGE_SIZE = 25;
16
+ const VIEW_MODE_KEY = 'actuate.pages.viewMode';
17
+ function readStoredViewMode() {
18
+ if (typeof window === 'undefined')
19
+ return 'list';
20
+ try {
21
+ return localStorage.getItem(VIEW_MODE_KEY) === 'tree' ? 'tree' : 'list';
22
+ }
23
+ catch {
24
+ return 'list';
25
+ }
26
+ }
13
27
  export function PagesListView({ onNavigate }) {
14
28
  const [search, setSearch] = useState('');
15
29
  const [debouncedSearch, setDebouncedSearch] = useState('');
@@ -20,11 +34,16 @@ export function PagesListView({ onNavigate }) {
20
34
  const [dir, setDir] = useState('asc');
21
35
  const [page, setPage] = useState(1);
22
36
  const [selected, setSelected] = useState(new Set());
37
+ const [viewMode, setViewMode] = useState(readStoredViewMode);
38
+ // null = "not yet touched" → falls back to the default expand state
39
+ // (all root nodes with children open) computed from the current tree.
40
+ const [expandedOverride, setExpandedOverride] = useState(null);
23
41
  const [dataset, setDataset] = useState(null);
24
42
  const [loading, setLoading] = useState(true);
25
43
  const [error, setError] = useState(null);
26
44
  const [refreshToken, setRefreshToken] = useState(0);
27
45
  const [pendingDelete, setPendingDelete] = useState(false);
46
+ const [rowDelete, setRowDelete] = useState(null);
28
47
  const debounceTimer = useRef(null);
29
48
  useEffect(() => {
30
49
  if (debounceTimer.current)
@@ -91,6 +110,47 @@ export function PagesListView({ onNavigate }) {
91
110
  return m;
92
111
  }, [tags]);
93
112
  const displayGroups = useMemo(() => groupPages(pages, groupBy, tags), [pages, groupBy, tags]);
113
+ // ─── Tree mode ─────────────────────────────────────────────────────
114
+ const treeMode = viewMode === 'tree';
115
+ const treeRoots = useMemo(() => buildPageTree(allPages), [allPages]);
116
+ const defaultExpanded = useMemo(() => defaultExpandedIds(treeRoots), [treeRoots]);
117
+ const expanded = expandedOverride ?? defaultExpanded;
118
+ // Per the design, an active search or status filter flattens the tree:
119
+ // every match renders at depth 0 and expand state is ignored. (Tag
120
+ // filters and group-by don't apply in tree mode — the hierarchy *is*
121
+ // the grouping.)
122
+ const treeFiltersActive = debouncedSearch !== '' || status !== 'all';
123
+ const treeRows = useMemo(() => {
124
+ if (treeFiltersActive) {
125
+ return applyPagesQuery(allPages, {
126
+ status,
127
+ search: debouncedSearch,
128
+ sortBy: 'title',
129
+ sortDirection: 'asc',
130
+ }).map((p) => ({ page: p, depth: 0, hasChildren: false }));
131
+ }
132
+ return flattenPageTree(treeRoots, expanded);
133
+ }, [treeFiltersActive, allPages, status, debouncedSearch, treeRoots, expanded]);
134
+ const toggleExpand = (id) => setExpandedOverride((prev) => {
135
+ const next = new Set(prev ?? defaultExpanded);
136
+ if (next.has(id))
137
+ next.delete(id);
138
+ else
139
+ next.add(id);
140
+ return next;
141
+ });
142
+ const changeViewMode = (mode) => {
143
+ if (mode === viewMode)
144
+ return;
145
+ setViewMode(mode);
146
+ setSelected(new Set());
147
+ try {
148
+ localStorage.setItem(VIEW_MODE_KEY, mode);
149
+ }
150
+ catch {
151
+ /* storage unavailable (private mode) — the toggle still works for the session */
152
+ }
153
+ };
94
154
  const handleSort = useCallback((field) => {
95
155
  if (sortBy === field) {
96
156
  setDir((d) => (d === 'asc' ? 'desc' : 'asc'));
@@ -127,18 +187,21 @@ export function PagesListView({ onNavigate }) {
127
187
  next.add(id);
128
188
  return next;
129
189
  });
130
- const allOnPageSelected = pages.length > 0 && pages.every((p) => selected.has(p.id));
190
+ // Selection operates over the rows currently visible in the active
191
+ // view mode (paged flat list, or visible tree rows).
192
+ const visiblePages = useMemo(() => (treeMode ? treeRows.map((r) => r.page) : pages), [treeMode, treeRows, pages]);
193
+ const allOnPageSelected = visiblePages.length > 0 && visiblePages.every((p) => selected.has(p.id));
131
194
  const toggleAllOnPage = (checked) => setSelected((s) => {
132
195
  const next = new Set(s);
133
196
  if (checked)
134
- for (const p of pages)
197
+ for (const p of visiblePages)
135
198
  next.add(p.id);
136
199
  else
137
- for (const p of pages)
200
+ for (const p of visiblePages)
138
201
  next.delete(p.id);
139
202
  return next;
140
203
  });
141
- const selectedPages = useMemo(() => pages.filter((p) => selected.has(p.id)), [pages, selected]);
204
+ const selectedPages = useMemo(() => visiblePages.filter((p) => selected.has(p.id)), [visiblePages, selected]);
142
205
  const deletablePages = useMemo(() => selectedPages.filter((p) => !p.isHomepage), [selectedPages]);
143
206
  const blockedHomepage = selectedPages.length !== deletablePages.length;
144
207
  // ─── Bulk actions ──────────────────────────────────────────────────
@@ -219,13 +282,58 @@ export function PagesListView({ onNavigate }) {
219
282
  }
220
283
  afterBulk();
221
284
  };
285
+ // ─── Row actions ───────────────────────────────────────────────────
286
+ const runDuplicate = async (p) => {
287
+ const promise = duplicatePage(p.id).then((r) => {
288
+ if (r.error)
289
+ throw new Error(r.error);
290
+ return r;
291
+ });
292
+ toast.promise(promise, {
293
+ loading: `Duplicating "${p.title}"…`,
294
+ success: `"${p.title}" duplicated`,
295
+ error: (e) => e.message || 'Duplicate failed',
296
+ });
297
+ try {
298
+ await promise;
299
+ setRefreshToken((t) => t + 1);
300
+ }
301
+ catch {
302
+ /* surfaced via toast.promise */
303
+ }
304
+ };
305
+ const runRowDelete = async (p) => {
306
+ const promise = deletePage(p.id).then((r) => {
307
+ if (r.error)
308
+ throw new Error(r.error);
309
+ });
310
+ toast.promise(promise, {
311
+ loading: `Deleting "${p.title}"…`,
312
+ success: `"${p.title}" moved to trash`,
313
+ error: (e) => e.message || 'Delete failed',
314
+ });
315
+ try {
316
+ await promise;
317
+ setSelected((s) => {
318
+ const next = new Set(s);
319
+ next.delete(p.id);
320
+ return next;
321
+ });
322
+ setRefreshToken((t) => t + 1);
323
+ }
324
+ catch {
325
+ /* surfaced via toast.promise */
326
+ }
327
+ };
222
328
  // ─── Render ────────────────────────────────────────────────────────
223
- return (_jsxs("div", { className: "flex h-full flex-col gap-4 p-4 sm:p-6", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("h1", { className: "text-foreground", children: "Pages" }), _jsxs("p", { className: "text-muted-foreground text-sm", children: [grandTotal, " page", grandTotal === 1 ? '' : 's', " \u00B7 organized by tags"] })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("div", { className: "relative max-w-sm flex-1", children: [_jsx(Search, { className: "text-muted-foreground absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2", "aria-hidden": true }), _jsx("input", { type: "search", value: search, onChange: (e) => setSearch(e.target.value), "aria-label": "Search pages", placeholder: "Search pages\u2026", className: "border-border bg-card text-foreground placeholder:text-muted-foreground focus:border-primary focus:ring-primary/30 w-full rounded-lg border py-2 pr-3 pl-9 text-sm shadow-sm focus:ring-2 focus:outline-none" })] }), _jsx(FilterSelect, { label: "Group by", value: groupBy, onChange: (v) => setGroupBy(v), options: [
329
+ return (_jsxs("div", { className: "flex h-full flex-col gap-4 p-4 sm:p-6", children: [_jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("h1", { className: "text-foreground", children: "Pages" }), _jsx("p", { className: "text-muted-foreground text-sm", children: treeMode
330
+ ? `${grandTotal} page${grandTotal === 1 ? '' : 's'} total`
331
+ : `${grandTotal} page${grandTotal === 1 ? '' : 's'} · organized by tags` })] }), _jsxs("button", { type: "button", onClick: () => onNavigate('/pages/new'), className: "bg-primary text-primary-foreground hover:bg-primary/90 focus-visible:ring-ring inline-flex items-center gap-1.5 rounded-lg px-3.5 py-1.5 text-sm font-medium shadow-sm transition-colors focus:outline-none focus-visible:ring-2", children: [_jsx(Plus, { className: "h-3.5 w-3.5", "aria-hidden": true }), "New page"] })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("div", { className: "relative max-w-sm flex-1", children: [_jsx(Search, { className: "text-muted-foreground absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2", "aria-hidden": true }), _jsx("input", { type: "search", value: search, onChange: (e) => setSearch(e.target.value), "aria-label": "Search pages", placeholder: "Search pages\u2026", className: "border-border bg-card text-foreground placeholder:text-muted-foreground focus:border-primary focus:ring-primary/30 w-full rounded-lg border py-2 pr-3 pl-9 text-sm shadow-sm focus:ring-2 focus:outline-none" })] }), !treeMode && (_jsx(FilterSelect, { label: "Group by", value: groupBy, onChange: (v) => setGroupBy(v), options: [
224
332
  { value: 'none', label: 'None' },
225
333
  { value: 'tag', label: 'Tag' },
226
334
  { value: 'status', label: 'Status' },
227
335
  { value: 'author', label: 'Author' },
228
- ] }), _jsx(FilterSelect, { label: "Status", value: status, onChange: (v) => {
336
+ ] })), _jsx(FilterSelect, { label: "Status", value: status, onChange: (v) => {
229
337
  setStatus(v);
230
338
  setPage(1);
231
339
  }, options: [
@@ -233,9 +341,17 @@ export function PagesListView({ onNavigate }) {
233
341
  { value: 'PUBLISHED', label: 'Published' },
234
342
  { value: 'DRAFT', label: 'Draft' },
235
343
  { value: 'SCHEDULED', label: 'Scheduled' },
236
- ] }), _jsxs("span", { className: "text-muted-foreground ml-auto text-sm tabular-nums", children: [total, " of ", grandTotal] })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "text-muted-foreground text-[10px] font-medium tracking-wider uppercase", children: "Tags" }), tags.map((t) => (_jsx(PageTagChip, { name: t.name, color: t.color, count: t.pageCount, selected: selectedTags.has(t.slug), onToggle: () => toggleTag(t.slug) }, t.slug))), selectedTags.size > 0 && (_jsxs("button", { type: "button", onClick: () => setSelectedTags(new Set()), className: "text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-xs", children: [_jsx(X, { className: "h-3 w-3", "aria-hidden": true }), "Clear tags"] })), _jsxs("button", { type: "button", onClick: () => onNavigate('/pages/tags'), className: "text-primary ml-auto inline-flex items-center gap-1 text-xs font-medium hover:underline", children: [_jsx(TagIcon, { className: "h-3 w-3", "aria-hidden": true }), "Manage tags"] })] }), selected.size > 0 && (_jsx(BulkActionBar, { count: selected.size, tags: tags, blockedHomepage: blockedHomepage, onClear: () => setSelected(new Set()), onPublish: () => runBulkStatus('PUBLISHED'), onDraft: () => runBulkStatus('DRAFT'), onAddTag: (slug) => runBulkTag(slug, 'add'), onRemoveTag: (slug) => runBulkTag(slug, 'remove'), onDelete: () => setPendingDelete(true), deletableCount: deletablePages.length })), _jsxs("div", { className: "bg-card border-border overflow-hidden rounded-xl border shadow-sm", children: [_jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full min-w-[800px] table-fixed", role: "table", "aria-label": "Pages", children: [_jsxs("colgroup", { children: [_jsx("col", { style: { width: '40px' } }), _jsx("col", {}), _jsx("col", { style: { width: '200px' } }), _jsx("col", { style: { width: '170px' } }), _jsx("col", { style: { width: '120px' } }), _jsx("col", { style: { width: '130px' } }), _jsx("col", { style: { width: '80px' } })] }), _jsx("thead", { className: "border-border bg-muted/40 border-b", children: _jsxs("tr", { className: "text-muted-foreground text-xs", children: [_jsx("th", { scope: "col", className: "px-3 py-2.5 text-left", children: _jsx("input", { type: "checkbox", "aria-label": "Select all pages on this page", checked: allOnPageSelected, onChange: (e) => toggleAllOnPage(e.target.checked), className: "border-border accent-primary rounded" }) }), _jsx("th", { scope: "col", "aria-sort": ariaSortFor('title'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Title", field: "title", current: sortBy, dir: dir, onSort: handleSort }) }), _jsx("th", { scope: "col", className: "px-3 py-2.5 text-left", children: _jsx("span", { className: "text-xs font-medium tracking-wider uppercase", children: "Tags" }) }), _jsx("th", { scope: "col", "aria-sort": ariaSortFor('author'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Author", field: "author", current: sortBy, dir: dir, onSort: handleSort }) }), _jsx("th", { scope: "col", "aria-sort": ariaSortFor('status'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Status", field: "status", current: sortBy, dir: dir, onSort: handleSort }) }), _jsx("th", { scope: "col", "aria-sort": ariaSortFor('modified'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Last Modified", field: "modified", current: sortBy, dir: dir, onSort: handleSort }) }), _jsx("th", { scope: "col", "aria-sort": ariaSortFor('seo'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "SEO", field: "seo", current: sortBy, dir: dir, onSort: handleSort }) })] }) }), _jsxs("tbody", { children: [loading && pages.length === 0 && _jsx(LoadingRows, {}), !loading && error && (_jsx("tr", { children: _jsxs("td", { colSpan: 7, className: "px-3 py-12 text-center", children: [_jsx("div", { className: "text-foreground mb-2 text-sm font-medium", children: error }), _jsx("button", { onClick: () => setRefreshToken((t) => t + 1), className: "text-primary text-sm hover:underline", children: "Try again" })] }) })), !loading && !error && pages.length === 0 && (_jsx(EmptyRow, { filtersActive: filtersAreActive, onClear: clearFilters, onNewPage: () => onNavigate('/pages/new') })), !loading &&
237
- !error &&
238
- displayGroups.map((group) => (_jsx(GroupBlock, { showHeader: grouped, label: group.label, color: group.color, count: group.pages.length, children: group.pages.map((p) => (_jsx(PageRow, { page: p, selected: selected.has(p.id), resolveTag: (slug) => tagBySlug.get(slug), onSelect: () => toggleOne(p.id), onOpen: () => onNavigate(`/pages/${p.id}/edit`) }, p.id))) }, group.key)))] })] }) }), !grouped && (_jsx(PaginationFooter, { page: page, totalPages: totalPages, total: total, pageSize: PAGE_SIZE, onPage: setPage }))] }), _jsx(ConfirmDialog, { open: pendingDelete, title: `Delete ${deletablePages.length} page${deletablePages.length === 1 ? '' : 's'}?`, description: blockedHomepage
344
+ ] }), _jsx(ViewModeToggle, { mode: viewMode, onChange: changeViewMode }), _jsx("span", { className: "text-muted-foreground ml-auto text-sm tabular-nums", children: treeMode
345
+ ? treeFiltersActive
346
+ ? `${treeRows.length} result${treeRows.length === 1 ? '' : 's'}`
347
+ : `${grandTotal} page${grandTotal === 1 ? '' : 's'}`
348
+ : `${total} of ${grandTotal}` })] }), !treeMode && (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "text-muted-foreground text-[10px] font-medium tracking-wider uppercase", children: "Tags" }), tags.map((t) => (_jsx(PageTagChip, { name: t.name, color: t.color, count: t.pageCount, selected: selectedTags.has(t.slug), onToggle: () => toggleTag(t.slug) }, t.slug))), selectedTags.size > 0 && (_jsxs("button", { type: "button", onClick: () => setSelectedTags(new Set()), className: "text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-xs", children: [_jsx(X, { className: "h-3 w-3", "aria-hidden": true }), "Clear tags"] })), _jsxs("button", { type: "button", onClick: () => onNavigate('/pages/tags'), className: "text-primary ml-auto inline-flex items-center gap-1 text-xs font-medium hover:underline", children: [_jsx(TagIcon, { className: "h-3 w-3", "aria-hidden": true }), "Manage tags"] })] })), selected.size > 0 && (_jsx(BulkActionBar, { count: selected.size, tags: tags, blockedHomepage: blockedHomepage, onClear: () => setSelected(new Set()), onPublish: () => runBulkStatus('PUBLISHED'), onDraft: () => runBulkStatus('DRAFT'), onAddTag: (slug) => runBulkTag(slug, 'add'), onRemoveTag: (slug) => runBulkTag(slug, 'remove'), onDelete: () => setPendingDelete(true), deletableCount: deletablePages.length })), _jsx("div", { className: "bg-card border-border overflow-hidden rounded-xl border shadow-sm", children: treeMode ? (_jsx(PagesTreeTable, { rows: treeRows, loading: loading, error: error, flattened: treeFiltersActive, selected: selected, expanded: expanded, onToggleExpand: toggleExpand, onToggleSelect: toggleOne, onToggleAll: toggleAllOnPage, onOpen: (p) => onNavigate(`/pages/${p.id}/edit`), onAddSubPage: (p) => onNavigate(`/pages/new?parent=${encodeURIComponent(p.id)}`), onDuplicate: (p) => void runDuplicate(p), onDelete: (p) => setRowDelete(p), onRetry: () => setRefreshToken((t) => t + 1), onClearFilters: clearFilters, onNewPage: () => onNavigate('/pages/new') })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full min-w-[800px] table-fixed", role: "table", "aria-label": "Pages", children: [_jsxs("colgroup", { children: [_jsx("col", { style: { width: '40px' } }), _jsx("col", {}), _jsx("col", { style: { width: '200px' } }), _jsx("col", { style: { width: '170px' } }), _jsx("col", { style: { width: '120px' } }), _jsx("col", { style: { width: '130px' } }), _jsx("col", { style: { width: '80px' } }), _jsx("col", { style: { width: '110px' } })] }), _jsx("thead", { className: "border-border bg-muted/40 border-b", children: _jsxs("tr", { className: "text-muted-foreground text-xs", children: [_jsx("th", { scope: "col", className: "px-3 py-2.5 text-left", children: _jsx("input", { type: "checkbox", "aria-label": "Select all pages on this page", checked: allOnPageSelected, onChange: (e) => toggleAllOnPage(e.target.checked), className: "border-border accent-primary rounded" }) }), _jsx("th", { scope: "col", "aria-sort": ariaSortFor('title'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Title", field: "title", current: sortBy, dir: dir, onSort: handleSort }) }), _jsx("th", { scope: "col", className: "px-3 py-2.5 text-left", children: _jsx("span", { className: "text-xs font-medium tracking-wider uppercase", children: "Tags" }) }), _jsx("th", { scope: "col", "aria-sort": ariaSortFor('author'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Author", field: "author", current: sortBy, dir: dir, onSort: handleSort }) }), _jsx("th", { scope: "col", "aria-sort": ariaSortFor('status'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Status", field: "status", current: sortBy, dir: dir, onSort: handleSort }) }), _jsx("th", { scope: "col", "aria-sort": ariaSortFor('modified'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "Last Modified", field: "modified", current: sortBy, dir: dir, onSort: handleSort }) }), _jsx("th", { scope: "col", "aria-sort": ariaSortFor('seo'), className: "px-3 py-2.5 text-left", children: _jsx(SortHeader, { label: "SEO", field: "seo", current: sortBy, dir: dir, onSort: handleSort }) }), _jsx("th", { scope: "col", className: "px-3 py-2.5 text-right", children: _jsx("span", { className: "sr-only", children: "Actions" }) })] }) }), _jsxs("tbody", { children: [loading && pages.length === 0 && _jsx(LoadingRows, {}), !loading && error && (_jsx("tr", { children: _jsxs("td", { colSpan: 8, className: "px-3 py-12 text-center", children: [_jsx("div", { className: "text-foreground mb-2 text-sm font-medium", children: error }), _jsx("button", { onClick: () => setRefreshToken((t) => t + 1), className: "text-primary text-sm hover:underline", children: "Try again" })] }) })), !loading && !error && pages.length === 0 && (_jsx(EmptyRow, { filtersActive: filtersAreActive, onClear: clearFilters, onNewPage: () => onNavigate('/pages/new') })), !loading &&
349
+ !error &&
350
+ displayGroups.map((group) => (_jsx(GroupBlock, { showHeader: grouped, label: group.label, color: group.color, count: group.pages.length, children: group.pages.map((p) => (_jsx(PageRow, { page: p, selected: selected.has(p.id), resolveTag: (slug) => tagBySlug.get(slug), onSelect: () => toggleOne(p.id), onOpen: () => onNavigate(`/pages/${p.id}/edit`), onDuplicate: () => void runDuplicate(p), onDelete: () => setRowDelete(p) }, p.id))) }, group.key)))] })] }) }), !grouped && (_jsx(PaginationFooter, { page: page, totalPages: totalPages, total: total, pageSize: PAGE_SIZE, onPage: setPage }))] })) }), _jsx(ConfirmDialog, { open: rowDelete !== null, title: `Delete "${rowDelete?.title ?? ''}"?`, description: "The page moves to trash and can be restored for 30 days.", confirmLabel: "Delete", destructive: true, onClose: () => setRowDelete(null), onConfirm: () => {
351
+ if (rowDelete)
352
+ void runRowDelete(rowDelete);
353
+ setRowDelete(null);
354
+ } }), _jsx(ConfirmDialog, { open: pendingDelete, title: `Delete ${deletablePages.length} page${deletablePages.length === 1 ? '' : 's'}?`, description: blockedHomepage
239
355
  ? 'The homepage cannot be deleted and will be skipped. The remaining pages move to trash and can be restored for 30 days.'
240
356
  : 'The selected pages move to trash and can be restored for 30 days.', confirmLabel: "Delete", destructive: true, onClose: () => setPendingDelete(false), onConfirm: () => {
241
357
  void runBulkDelete();
@@ -247,11 +363,24 @@ function SortHeader({ label, field, current, dir, onSort, }) {
247
363
  return (_jsxs("button", { type: "button", onClick: () => onSort(field), className: `hover:text-foreground inline-flex items-center gap-1 text-xs font-medium tracking-wider uppercase transition-colors ${active ? 'text-foreground' : 'text-muted-foreground'}`, children: [_jsx("span", { children: label }), active &&
248
364
  (dir === 'asc' ? (_jsx(ChevronUp, { className: "h-3 w-3", "aria-hidden": true })) : (_jsx(ChevronDown, { className: "h-3 w-3", "aria-hidden": true })))] }));
249
365
  }
366
+ /**
367
+ * List / Tree segmented control (`.view-toggle` in the design). The
368
+ * choice persists in localStorage so the preferred mode survives reloads.
369
+ */
370
+ function ViewModeToggle({ mode, onChange, }) {
371
+ const btn = (target, label, icon) => {
372
+ const active = mode === target;
373
+ return (_jsx("button", { type: "button", "aria-label": label, title: label, "aria-pressed": active, onClick: () => onChange(target), className: `flex h-[30px] w-[34px] items-center justify-center transition-colors duration-[var(--motion-fast)] focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:outline-none ${active
374
+ ? 'bg-[var(--acc-l)] text-[var(--acc)]'
375
+ : 'bg-[var(--card)] text-[var(--muted)] hover:text-[var(--acc)]'}`, children: icon }));
376
+ };
377
+ return (_jsxs("div", { role: "group", "aria-label": "View mode", className: "flex overflow-hidden rounded-lg border border-[var(--bdr)] shadow-sm", children: [btn('list', 'List view', _jsx(List, { size: 15, "aria-hidden": true })), _jsx("span", { "aria-hidden": true, className: "w-px bg-[var(--bdr)]" }), btn('tree', 'Tree view', _jsx(ListTree, { size: 15, "aria-hidden": true }))] }));
378
+ }
250
379
  function FilterSelect({ label, value, onChange, options, }) {
251
380
  return (_jsxs("label", { className: "text-foreground inline-flex items-center gap-1.5 text-sm", children: [_jsxs("span", { className: "text-muted-foreground", children: [label, ":"] }), _jsx("select", { value: value, onChange: (e) => onChange(e.target.value), className: "border-border bg-card text-foreground focus:border-primary focus:ring-primary/30 rounded-lg border px-2.5 py-1.5 text-sm shadow-sm focus:ring-2 focus:outline-none", children: options.map((o) => (_jsx("option", { value: o.value, children: o.label }, o.value))) })] }));
252
381
  }
253
382
  function GroupBlock({ showHeader, label, color, count, children, }) {
254
- return (_jsxs(_Fragment, { children: [showHeader && (_jsx("tr", { className: "bg-muted/30 border-border border-b", children: _jsx("td", { colSpan: 7, className: "px-3 py-2", children: _jsxs("span", { className: "text-foreground inline-flex items-center gap-2 text-xs font-medium tracking-wider uppercase", children: [color && _jsx("span", { "aria-hidden": true, className: `h-2 w-2 rounded-full ${dotFor(color)}` }), label, _jsx("span", { className: "text-muted-foreground tabular-nums", children: count })] }) }) })), children] }));
383
+ return (_jsxs(_Fragment, { children: [showHeader && (_jsx("tr", { className: "bg-muted/30 border-border border-b", children: _jsx("td", { colSpan: 8, className: "px-3 py-2", children: _jsxs("span", { className: "text-foreground inline-flex items-center gap-2 text-xs font-medium tracking-wider uppercase", children: [color && _jsx("span", { "aria-hidden": true, className: `h-2 w-2 rounded-full ${dotFor(color)}` }), label, _jsx("span", { className: "text-muted-foreground tabular-nums", children: count })] }) }) })), children] }));
255
384
  }
256
385
  function dotFor(color) {
257
386
  const map = {
@@ -270,14 +399,14 @@ function BulkActionBar({ count, tags, blockedHomepage, deletableCount, onClear,
270
399
  function TagMenu({ label, tags, onPick, }) {
271
400
  return (_jsxs(DropdownMenu.Root, { children: [_jsx(DropdownMenu.Trigger, { asChild: true, children: _jsxs("button", { type: "button", className: "text-foreground hover:bg-accent inline-flex items-center gap-1 rounded-md px-2 py-1 text-sm transition-colors", children: [label, _jsx(ChevronDown, { className: "h-3 w-3", "aria-hidden": true })] }) }), _jsx(DropdownMenu.Portal, { container: adminPortalContainer(), children: _jsx(DropdownMenu.Content, { align: "start", sideOffset: 4, className: "border-border bg-popover z-50 max-h-64 w-44 overflow-auto rounded-lg border p-1 shadow-md", children: tags.length === 0 ? (_jsx("div", { className: "text-muted-foreground px-2 py-1.5 text-xs", children: "No tags yet" })) : (tags.map((t) => (_jsxs(DropdownMenu.Item, { onSelect: () => onPick(t.slug), className: "text-foreground focus:bg-accent flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none", children: [_jsx("span", { "aria-hidden": true, className: `h-2 w-2 rounded-full ${dotFor(t.color ?? 'gray')}` }), t.name] }, t.slug)))) }) })] }));
272
401
  }
273
- function PageRow({ page, selected, resolveTag, onSelect, onOpen, }) {
274
- return (_jsxs("tr", { className: `border-border hover:bg-muted/30 group border-b transition-colors last:border-b-0 ${selected ? 'bg-primary/5' : ''}`, children: [_jsx("td", { className: "px-3 py-3", onClick: (e) => e.stopPropagation(), children: _jsx("input", { type: "checkbox", "aria-label": `Select "${page.title}"`, checked: selected, onChange: onSelect, className: "border-border accent-primary rounded" }) }), _jsx("td", { className: "px-3 py-3", children: _jsxs("button", { type: "button", onClick: onOpen, className: "flex w-full items-center gap-3 text-left", children: [_jsx("span", { "aria-hidden": true, className: "bg-muted block h-9 w-9 shrink-0 rounded-md" }), _jsxs("span", { className: "min-w-0", children: [_jsx("span", { className: "text-foreground group-hover:text-primary block truncate text-sm font-medium", children: page.title }), _jsx("span", { className: "text-muted-foreground block truncate text-xs", children: page.path })] })] }) }), _jsx("td", { className: "px-3 py-3", children: _jsx(PageTagsCell, { tagSlugs: page.tags, primaryTagId: page.primaryTagId, resolve: resolveTag }) }), _jsx("td", { className: "px-3 py-3", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { "aria-hidden": true, className: "bg-muted text-muted-foreground inline-flex h-7 w-7 items-center justify-center rounded-full text-[11px] font-medium", children: page.authorInitials }), _jsx("span", { className: "text-foreground truncate text-sm", children: page.authorName })] }) }), _jsx("td", { className: "px-3 py-3", children: _jsx(PostStatusBadge, { status: page.status }) }), _jsx("td", { className: "text-muted-foreground px-3 py-3 text-sm tabular-nums", children: formatDateShort(page.lastModified) }), _jsx("td", { className: "px-3 py-3", children: _jsx(SeoScoreIndicator, { score: page.seoScore }) })] }));
402
+ function PageRow({ page, selected, resolveTag, onSelect, onOpen, onDuplicate, onDelete, }) {
403
+ return (_jsxs("tr", { className: `border-border hover:bg-muted/30 group border-b transition-colors last:border-b-0 ${selected ? 'bg-primary/5' : ''}`, children: [_jsx("td", { className: "px-3 py-3", onClick: (e) => e.stopPropagation(), children: _jsx("input", { type: "checkbox", "aria-label": `Select "${page.title}"`, checked: selected, onChange: onSelect, className: "border-border accent-primary rounded" }) }), _jsx("td", { className: "px-3 py-3", children: _jsxs("button", { type: "button", onClick: onOpen, className: "flex w-full items-center gap-3 text-left", children: [_jsx("span", { "aria-hidden": true, className: "bg-muted block h-9 w-9 shrink-0 rounded-md" }), _jsxs("span", { className: "min-w-0", children: [_jsx("span", { className: "text-foreground group-hover:text-primary block truncate text-sm font-medium", children: page.title }), _jsx("span", { className: "text-muted-foreground block truncate text-xs", children: page.path })] })] }) }), _jsx("td", { className: "px-3 py-3", children: _jsx(PageTagsCell, { tagSlugs: page.tags, primaryTagId: page.primaryTagId, resolve: resolveTag }) }), _jsx("td", { className: "px-3 py-3", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { "aria-hidden": true, className: "bg-muted text-muted-foreground inline-flex h-7 w-7 items-center justify-center rounded-full text-[11px] font-medium", children: page.authorInitials }), _jsx("span", { className: "text-foreground truncate text-sm", children: page.authorName })] }) }), _jsx("td", { className: "px-3 py-3", children: _jsx(PostStatusBadge, { status: page.status }) }), _jsx("td", { className: "text-muted-foreground px-3 py-3 text-sm tabular-nums", children: formatDateShort(page.lastModified) }), _jsx("td", { className: "px-3 py-3", children: _jsx(SeoScoreIndicator, { score: page.seoScore }) }), _jsx("td", { className: "px-3 py-3", children: _jsxs(RowActions, { children: [_jsx(RowActionButton, { "aria-label": `Edit "${page.title}"`, title: "Edit", onClick: onOpen, children: _jsx(PenLine, { size: 13, "aria-hidden": true }) }), _jsx(RowActionButton, { "aria-label": `Duplicate "${page.title}"`, title: "Duplicate", onClick: onDuplicate, children: _jsx(Copy, { size: 12, "aria-hidden": true }) }), _jsx(RowActionButton, { "aria-label": `Delete "${page.title}"`, title: page.isHomepage ? 'The homepage cannot be deleted' : 'Delete', danger: true, disabled: page.isHomepage, onClick: onDelete, children: _jsx(Trash2, { size: 12, "aria-hidden": true }) })] }) })] }));
275
404
  }
276
405
  function LoadingRows() {
277
- return (_jsx(_Fragment, { children: Array.from({ length: 8 }).map((_, i) => (_jsx("tr", { className: "border-border border-b last:border-b-0", children: Array.from({ length: 7 }).map((__, j) => (_jsx("td", { className: "px-3 py-3", children: _jsx("div", { className: "bg-muted h-4 w-full animate-pulse rounded" }) }, j))) }, i))) }));
406
+ return (_jsx(_Fragment, { children: Array.from({ length: 8 }).map((_, i) => (_jsx("tr", { className: "border-border border-b last:border-b-0", children: Array.from({ length: 8 }).map((__, j) => (_jsx("td", { className: "px-3 py-3", children: _jsx("div", { className: "bg-muted h-4 w-full animate-pulse rounded" }) }, j))) }, i))) }));
278
407
  }
279
408
  function EmptyRow({ filtersActive, onClear, onNewPage, }) {
280
- return (_jsx("tr", { children: _jsxs("td", { colSpan: 7, className: "px-3 py-16 text-center", children: [_jsx("div", { className: "text-foreground mb-2 text-sm font-medium", children: filtersActive ? 'No pages match your filters' : 'No pages yet' }), _jsx("div", { className: "text-muted-foreground mb-4 text-sm", children: filtersActive
409
+ return (_jsx("tr", { children: _jsxs("td", { colSpan: 8, className: "px-3 py-16 text-center", children: [_jsx("div", { className: "text-foreground mb-2 text-sm font-medium", children: filtersActive ? 'No pages match your filters' : 'No pages yet' }), _jsx("div", { className: "text-muted-foreground mb-4 text-sm", children: filtersActive
281
410
  ? 'Try clearing the search, tags, or status filter above.'
282
411
  : 'Create your first page to get started.' }), filtersActive ? (_jsx("button", { type: "button", onClick: onClear, className: "text-primary text-sm hover:underline", children: "Clear filters" })) : (_jsxs("button", { type: "button", onClick: onNewPage, className: "bg-primary text-primary-foreground hover:bg-primary/90 inline-flex items-center gap-1.5 rounded-lg px-3.5 py-1.5 text-sm font-medium shadow-sm transition-colors", children: [_jsx(Plus, { className: "h-3.5 w-3.5", "aria-hidden": true }), "New page"] }))] }) }));
283
412
  }