@wordpress/block-library 9.30.1-next.6870dfe5b.0 → 9.30.1-next.6f42e1382.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 (109) hide show
  1. package/build/buttons/index.js +2 -1
  2. package/build/buttons/index.js.map +1 -1
  3. package/build/categories/edit.js +3 -1
  4. package/build/categories/edit.js.map +1 -1
  5. package/build/index.js +4 -0
  6. package/build/index.js.map +1 -1
  7. package/build/social-links/index.js +2 -1
  8. package/build/social-links/index.js.map +1 -1
  9. package/build/table-of-contents/edit.js +33 -9
  10. package/build/table-of-contents/edit.js.map +1 -1
  11. package/build/table-of-contents/index.js +4 -0
  12. package/build/table-of-contents/index.js.map +1 -1
  13. package/build/table-of-contents/list.js +6 -3
  14. package/build/table-of-contents/list.js.map +1 -1
  15. package/build/table-of-contents/save.js +6 -3
  16. package/build/table-of-contents/save.js.map +1 -1
  17. package/build/term-template/edit.js +318 -0
  18. package/build/term-template/edit.js.map +1 -0
  19. package/build/term-template/index.js +109 -0
  20. package/build/term-template/index.js.map +1 -0
  21. package/build/term-template/save.js +16 -0
  22. package/build/term-template/save.js.map +1 -0
  23. package/build/term-template/variations.js +83 -0
  24. package/build/term-template/variations.js.map +1 -0
  25. package/build/terms-query/edit.js +20 -0
  26. package/build/terms-query/edit.js.map +1 -0
  27. package/build/terms-query/index.js +83 -0
  28. package/build/terms-query/index.js.map +1 -0
  29. package/build/terms-query/inspector-controls.js +246 -0
  30. package/build/terms-query/inspector-controls.js.map +1 -0
  31. package/build/terms-query/save.js +24 -0
  32. package/build/terms-query/save.js.map +1 -0
  33. package/build/terms-query/terms-query-content.js +71 -0
  34. package/build/terms-query/terms-query-content.js.map +1 -0
  35. package/build-module/buttons/index.js +2 -1
  36. package/build-module/buttons/index.js.map +1 -1
  37. package/build-module/categories/edit.js +3 -1
  38. package/build-module/categories/edit.js.map +1 -1
  39. package/build-module/index.js +4 -0
  40. package/build-module/index.js.map +1 -1
  41. package/build-module/social-links/index.js +2 -1
  42. package/build-module/social-links/index.js.map +1 -1
  43. package/build-module/table-of-contents/edit.js +35 -11
  44. package/build-module/table-of-contents/edit.js.map +1 -1
  45. package/build-module/table-of-contents/index.js +4 -0
  46. package/build-module/table-of-contents/index.js.map +1 -1
  47. package/build-module/table-of-contents/list.js +6 -3
  48. package/build-module/table-of-contents/list.js.map +1 -1
  49. package/build-module/table-of-contents/save.js +6 -3
  50. package/build-module/table-of-contents/save.js.map +1 -1
  51. package/build-module/term-template/edit.js +310 -0
  52. package/build-module/term-template/edit.js.map +1 -0
  53. package/build-module/term-template/index.js +102 -0
  54. package/build-module/term-template/index.js.map +1 -0
  55. package/build-module/term-template/save.js +9 -0
  56. package/build-module/term-template/save.js.map +1 -0
  57. package/build-module/term-template/variations.js +76 -0
  58. package/build-module/term-template/variations.js.map +1 -0
  59. package/build-module/terms-query/edit.js +12 -0
  60. package/build-module/terms-query/edit.js.map +1 -0
  61. package/build-module/terms-query/index.js +76 -0
  62. package/build-module/terms-query/index.js.map +1 -0
  63. package/build-module/terms-query/inspector-controls.js +239 -0
  64. package/build-module/terms-query/inspector-controls.js.map +1 -0
  65. package/build-module/terms-query/save.js +17 -0
  66. package/build-module/terms-query/save.js.map +1 -0
  67. package/build-module/terms-query/terms-query-content.js +63 -0
  68. package/build-module/terms-query/terms-query-content.js.map +1 -0
  69. package/build-style/editor-rtl.css +24 -0
  70. package/build-style/editor.css +24 -0
  71. package/build-style/style-rtl.css +16 -0
  72. package/build-style/style.css +16 -0
  73. package/build-style/term-template/editor-rtl.css +160 -0
  74. package/build-style/term-template/editor.css +160 -0
  75. package/build-style/term-template/style-rtl.css +146 -0
  76. package/build-style/term-template/style.css +146 -0
  77. package/build-style/terms-query/style-rtl.css +140 -0
  78. package/build-style/terms-query/style.css +140 -0
  79. package/build-types/table-of-contents/list.d.ts +2 -1
  80. package/build-types/table-of-contents/list.d.ts.map +1 -1
  81. package/package.json +35 -35
  82. package/src/buttons/block.json +2 -1
  83. package/src/categories/edit.js +2 -1
  84. package/src/editor.scss +1 -0
  85. package/src/index.js +4 -0
  86. package/src/post-date/index.php +18 -13
  87. package/src/social-links/block.json +2 -1
  88. package/src/style.scss +2 -0
  89. package/src/table-of-contents/block.json +4 -0
  90. package/src/table-of-contents/edit.js +58 -21
  91. package/src/table-of-contents/list.tsx +7 -2
  92. package/src/table-of-contents/save.js +7 -3
  93. package/src/term-template/block.json +73 -0
  94. package/src/term-template/edit.js +391 -0
  95. package/src/term-template/editor.scss +26 -0
  96. package/src/term-template/index.js +26 -0
  97. package/src/term-template/index.php +224 -0
  98. package/src/term-template/save.js +8 -0
  99. package/src/term-template/style.scss +12 -0
  100. package/src/term-template/variations.js +87 -0
  101. package/src/terms-query/block.json +49 -0
  102. package/src/terms-query/edit.js +10 -0
  103. package/src/terms-query/index.js +24 -0
  104. package/src/terms-query/index.php +44 -0
  105. package/src/terms-query/inspector-controls.js +233 -0
  106. package/src/terms-query/save.js +10 -0
  107. package/src/terms-query/style.scss +6 -0
  108. package/src/terms-query/terms-query-content.js +74 -0
  109. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["ENTRY_CLASS_NAME","TableOfContentsList","nestedHeadingList","disableLinkActivation","onClick","_jsxRuntime","jsx","Fragment","children","map","node","index","content","link","heading","entry","className","href","undefined","jsxs"],"sources":["@wordpress/block-library/src/table-of-contents/list.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEvent, ReactElement } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { NestedHeadingData } from './utils';\n\nconst ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';\n\nexport default function TableOfContentsList( {\n\tnestedHeadingList,\n\tdisableLinkActivation,\n\tonClick,\n}: {\n\tnestedHeadingList: NestedHeadingData[];\n\tdisableLinkActivation?: boolean;\n\tonClick?: ( event: MouseEvent< HTMLAnchorElement > ) => void;\n} ): ReactElement {\n\treturn (\n\t\t<>\n\t\t\t{ nestedHeadingList.map( ( node, index ) => {\n\t\t\t\tconst { content, link } = node.heading;\n\n\t\t\t\tconst entry = link ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ ENTRY_CLASS_NAME }\n\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\taria-disabled={ disableLinkActivation || undefined }\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ content }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<span className={ ENTRY_CLASS_NAME }>{ content }</span>\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t{ entry }\n\t\t\t\t\t\t{ node.children ? (\n\t\t\t\t\t\t\t<ol>\n\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\tnestedHeadingList={ node.children }\n\t\t\t\t\t\t\t\t\tdisableLinkActivation={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ol>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAMA,gBAAgB,GAAG,mCAAmC;AAE7C,SAASC,mBAAmBA,CAAE;EAC5CC,iBAAiB;EACjBC,qBAAqB;EACrBC;AAKD,CAAC,EAAiB;EACjB,oBACC,IAAAC,WAAA,CAAAC,GAAA,EAAAD,WAAA,CAAAE,QAAA;IAAAC,QAAA,EACGN,iBAAiB,CAACO,GAAG,CAAE,CAAEC,IAAI,EAAEC,KAAK,KAAM;MAC3C,MAAM;QAAEC,OAAO;QAAEC;MAAK,CAAC,GAAGH,IAAI,CAACI,OAAO;MAEtC,MAAMC,KAAK,GAAGF,IAAI,gBACjB,IAAAR,WAAA,CAAAC,GAAA;QACCU,SAAS,EAAGhB,gBAAkB;QAC9BiB,IAAI,EAAGJ,IAAM;QACb,iBAAgBV,qBAAqB,IAAIe,SAAW;QACpDd,OAAO,EACND,qBAAqB,IACrB,UAAU,KAAK,OAAOC,OAAO,GAC1BA,OAAO,GACPc,SACH;QAAAV,QAAA,EAECI;MAAO,CACP,CAAC,gBAEJ,IAAAP,WAAA,CAAAC,GAAA;QAAMU,SAAS,EAAGhB,gBAAkB;QAAAQ,QAAA,EAAGI;MAAO,CAAQ,CACtD;MAED,oBACC,IAAAP,WAAA,CAAAc,IAAA;QAAAX,QAAA,GACGO,KAAK,EACLL,IAAI,CAACF,QAAQ,gBACd,IAAAH,WAAA,CAAAC,GAAA;UAAAE,QAAA,eACC,IAAAH,WAAA,CAAAC,GAAA,EAACL,mBAAmB;YACnBC,iBAAiB,EAAGQ,IAAI,CAACF,QAAU;YACnCL,qBAAqB,EACpBA,qBACA;YACDC,OAAO,EACND,qBAAqB,IACrB,UAAU,KAAK,OAAOC,OAAO,GAC1BA,OAAO,GACPc;UACH,CACD;QAAC,CACC,CAAC,GACF,IAAI;MAAA,GAjBCP,KAkBN,CAAC;IAEP,CAAE;EAAC,CACF,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["ENTRY_CLASS_NAME","TableOfContentsList","nestedHeadingList","disableLinkActivation","onClick","ordered","_jsxRuntime","jsx","Fragment","children","map","node","index","content","link","heading","entry","className","href","undefined","NestedListTag","jsxs"],"sources":["@wordpress/block-library/src/table-of-contents/list.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEvent, ReactElement } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { NestedHeadingData } from './utils';\n\nconst ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';\n\nexport default function TableOfContentsList( {\n\tnestedHeadingList,\n\tdisableLinkActivation,\n\tonClick,\n\tordered = true,\n}: {\n\tnestedHeadingList: NestedHeadingData[];\n\tdisableLinkActivation?: boolean;\n\tonClick?: ( event: MouseEvent< HTMLAnchorElement > ) => void;\n\tordered?: boolean;\n} ): ReactElement {\n\treturn (\n\t\t<>\n\t\t\t{ nestedHeadingList.map( ( node, index ) => {\n\t\t\t\tconst { content, link } = node.heading;\n\n\t\t\t\tconst entry = link ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ ENTRY_CLASS_NAME }\n\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\taria-disabled={ disableLinkActivation || undefined }\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ content }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<span className={ ENTRY_CLASS_NAME }>{ content }</span>\n\t\t\t\t);\n\n\t\t\t\tconst NestedListTag = ordered ? 'ol' : 'ul';\n\n\t\t\t\treturn (\n\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t{ entry }\n\t\t\t\t\t\t{ node.children ? (\n\t\t\t\t\t\t\t<NestedListTag>\n\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\tnestedHeadingList={ node.children }\n\t\t\t\t\t\t\t\t\tdisableLinkActivation={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</NestedListTag>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAMA,gBAAgB,GAAG,mCAAmC;AAE7C,SAASC,mBAAmBA,CAAE;EAC5CC,iBAAiB;EACjBC,qBAAqB;EACrBC,OAAO;EACPC,OAAO,GAAG;AAMX,CAAC,EAAiB;EACjB,oBACC,IAAAC,WAAA,CAAAC,GAAA,EAAAD,WAAA,CAAAE,QAAA;IAAAC,QAAA,EACGP,iBAAiB,CAACQ,GAAG,CAAE,CAAEC,IAAI,EAAEC,KAAK,KAAM;MAC3C,MAAM;QAAEC,OAAO;QAAEC;MAAK,CAAC,GAAGH,IAAI,CAACI,OAAO;MAEtC,MAAMC,KAAK,GAAGF,IAAI,gBACjB,IAAAR,WAAA,CAAAC,GAAA;QACCU,SAAS,EAAGjB,gBAAkB;QAC9BkB,IAAI,EAAGJ,IAAM;QACb,iBAAgBX,qBAAqB,IAAIgB,SAAW;QACpDf,OAAO,EACND,qBAAqB,IACrB,UAAU,KAAK,OAAOC,OAAO,GAC1BA,OAAO,GACPe,SACH;QAAAV,QAAA,EAECI;MAAO,CACP,CAAC,gBAEJ,IAAAP,WAAA,CAAAC,GAAA;QAAMU,SAAS,EAAGjB,gBAAkB;QAAAS,QAAA,EAAGI;MAAO,CAAQ,CACtD;MAED,MAAMO,aAAa,GAAGf,OAAO,GAAG,IAAI,GAAG,IAAI;MAE3C,oBACC,IAAAC,WAAA,CAAAe,IAAA;QAAAZ,QAAA,GACGO,KAAK,EACLL,IAAI,CAACF,QAAQ,gBACd,IAAAH,WAAA,CAAAC,GAAA,EAACa,aAAa;UAAAX,QAAA,eACb,IAAAH,WAAA,CAAAC,GAAA,EAACN,mBAAmB;YACnBC,iBAAiB,EAAGS,IAAI,CAACF,QAAU;YACnCN,qBAAqB,EACpBA,qBACA;YACDC,OAAO,EACND,qBAAqB,IACrB,UAAU,KAAK,OAAOC,OAAO,GAC1BA,OAAO,GACPe,SACH;YACDd,OAAO,EAAGA;UAAS,CACnB;QAAC,CACY,CAAC,GACb,IAAI;MAAA,GAlBCO,KAmBN,CAAC;IAEP,CAAE;EAAC,CACF,CAAC;AAEL","ignoreList":[]}
@@ -19,17 +19,20 @@ var _jsxRuntime = require("react/jsx-runtime");
19
19
 
20
20
  function save({
21
21
  attributes: {
22
- headings = []
22
+ headings = [],
23
+ ordered = true
23
24
  }
24
25
  }) {
25
26
  if (headings.length === 0) {
26
27
  return null;
27
28
  }
29
+ const ListTag = ordered ? 'ol' : 'ul';
28
30
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("nav", {
29
31
  ..._blockEditor.useBlockProps.save(),
30
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("ol", {
32
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ListTag, {
31
33
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_list.default, {
32
- nestedHeadingList: (0, _utils.linearToNestedHeadingList)(headings)
34
+ nestedHeadingList: (0, _utils.linearToNestedHeadingList)(headings),
35
+ ordered: ordered
33
36
  })
34
37
  })
35
38
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_list","_interopRequireDefault","_utils","_jsxRuntime","save","attributes","headings","length","jsx","useBlockProps","children","default","nestedHeadingList","linearToNestedHeadingList"],"sources":["@wordpress/block-library/src/table-of-contents/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\n\nexport default function save( { attributes: { headings = [] } } ) {\n\tif ( headings.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<nav { ...useBlockProps.save() }>\n\t\t\t<ol>\n\t\t\t\t<TableOfContentsList\n\t\t\t\t\tnestedHeadingList={ linearToNestedHeadingList( headings ) }\n\t\t\t\t/>\n\t\t\t</ol>\n\t\t</nav>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAAoD,IAAAI,WAAA,GAAAJ,OAAA;AATpD;AACA;AACA;;AAGA;AACA;AACA;;AAIe,SAASK,IAAIA,CAAE;EAAEC,UAAU,EAAE;IAAEC,QAAQ,GAAG;EAAG;AAAE,CAAC,EAAG;EACjE,IAAKA,QAAQ,CAACC,MAAM,KAAK,CAAC,EAAG;IAC5B,OAAO,IAAI;EACZ;EACA,oBACC,IAAAJ,WAAA,CAAAK,GAAA;IAAA,GAAUC,0BAAa,CAACL,IAAI,CAAC,CAAC;IAAAM,QAAA,eAC7B,IAAAP,WAAA,CAAAK,GAAA;MAAAE,QAAA,eACC,IAAAP,WAAA,CAAAK,GAAA,EAACR,KAAA,CAAAW,OAAmB;QACnBC,iBAAiB,EAAG,IAAAC,gCAAyB,EAAEP,QAAS;MAAG,CAC3D;IAAC,CACC;EAAC,CACD,CAAC;AAER","ignoreList":[]}
1
+ {"version":3,"names":["_blockEditor","require","_list","_interopRequireDefault","_utils","_jsxRuntime","save","attributes","headings","ordered","length","ListTag","jsx","useBlockProps","children","default","nestedHeadingList","linearToNestedHeadingList"],"sources":["@wordpress/block-library/src/table-of-contents/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\n\nexport default function save( {\n\tattributes: { headings = [], ordered = true },\n} ) {\n\tif ( headings.length === 0 ) {\n\t\treturn null;\n\t}\n\tconst ListTag = ordered ? 'ol' : 'ul';\n\treturn (\n\t\t<nav { ...useBlockProps.save() }>\n\t\t\t<ListTag>\n\t\t\t\t<TableOfContentsList\n\t\t\t\t\tnestedHeadingList={ linearToNestedHeadingList( headings ) }\n\t\t\t\t\tordered={ ordered }\n\t\t\t\t/>\n\t\t\t</ListTag>\n\t\t</nav>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAAoD,IAAAI,WAAA,GAAAJ,OAAA;AATpD;AACA;AACA;;AAGA;AACA;AACA;;AAIe,SAASK,IAAIA,CAAE;EAC7BC,UAAU,EAAE;IAAEC,QAAQ,GAAG,EAAE;IAAEC,OAAO,GAAG;EAAK;AAC7C,CAAC,EAAG;EACH,IAAKD,QAAQ,CAACE,MAAM,KAAK,CAAC,EAAG;IAC5B,OAAO,IAAI;EACZ;EACA,MAAMC,OAAO,GAAGF,OAAO,GAAG,IAAI,GAAG,IAAI;EACrC,oBACC,IAAAJ,WAAA,CAAAO,GAAA;IAAA,GAAUC,0BAAa,CAACP,IAAI,CAAC,CAAC;IAAAQ,QAAA,eAC7B,IAAAT,WAAA,CAAAO,GAAA,EAACD,OAAO;MAAAG,QAAA,eACP,IAAAT,WAAA,CAAAO,GAAA,EAACV,KAAA,CAAAa,OAAmB;QACnBC,iBAAiB,EAAG,IAAAC,gCAAyB,EAAET,QAAS,CAAG;QAC3DC,OAAO,EAAGA;MAAS,CACnB;IAAC,CACM;EAAC,CACN,CAAC;AAER","ignoreList":[]}
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = TermTemplateEdit;
8
+ var _clsx = _interopRequireDefault(require("clsx"));
9
+ var _element = require("@wordpress/element");
10
+ var _data = require("@wordpress/data");
11
+ var _icons = require("@wordpress/icons");
12
+ var _i18n = require("@wordpress/i18n");
13
+ var _blockEditor = require("@wordpress/block-editor");
14
+ var _coreData = require("@wordpress/core-data");
15
+ var _blocks = require("@wordpress/blocks");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ /**
18
+ * External dependencies
19
+ */
20
+
21
+ /**
22
+ * WordPress dependencies
23
+ */
24
+
25
+ const TEMPLATE = [['core/group', {
26
+ layout: {
27
+ type: 'flex',
28
+ orientation: 'horizontal'
29
+ },
30
+ style: {
31
+ spacing: {
32
+ blockGap: '0.5rem'
33
+ }
34
+ },
35
+ metadata: {
36
+ name: (0, _i18n.__)('Term Name with Count')
37
+ }
38
+ }, [['core/paragraph', {
39
+ metadata: {
40
+ name: (0, _i18n.__)('Term Name'),
41
+ bindings: {
42
+ content: {
43
+ source: 'core/term-data',
44
+ args: {
45
+ key: 'name'
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }], ['core/paragraph', {
51
+ placeholder: (0, _i18n.__)('(count)'),
52
+ metadata: {
53
+ name: (0, _i18n.__)('Term Count'),
54
+ bindings: {
55
+ content: {
56
+ source: 'core/term-data',
57
+ args: {
58
+ key: 'count'
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }]]]];
64
+ function TermTemplateInnerBlocks({
65
+ classList
66
+ }) {
67
+ const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)({
68
+ className: (0, _clsx.default)('wp-block-term', classList)
69
+ }, {
70
+ template: TEMPLATE,
71
+ __unstableDisableLayoutClassNames: true
72
+ });
73
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
74
+ ...innerBlocksProps
75
+ });
76
+ }
77
+ function TermTemplateBlockPreview({
78
+ blocks,
79
+ blockContextId,
80
+ classList,
81
+ isHidden,
82
+ setActiveBlockContextId
83
+ }) {
84
+ const blockPreviewProps = (0, _blockEditor.__experimentalUseBlockPreview)({
85
+ blocks,
86
+ props: {
87
+ className: (0, _clsx.default)('wp-block-term', classList)
88
+ }
89
+ });
90
+ const handleOnClick = () => {
91
+ setActiveBlockContextId(blockContextId);
92
+ };
93
+ const style = {
94
+ display: isHidden ? 'none' : undefined
95
+ };
96
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
97
+ ...blockPreviewProps,
98
+ tabIndex: 0
99
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role
100
+ ,
101
+ role: "button",
102
+ onClick: handleOnClick,
103
+ onKeyPress: handleOnClick,
104
+ style: style
105
+ });
106
+ }
107
+
108
+ // Prevent re-rendering of the block preview when the terms data changes.
109
+ const MemoizedTermTemplateBlockPreview = (0, _element.memo)(TermTemplateBlockPreview);
110
+
111
+ /**
112
+ * Builds a hierarchical tree structure from flat terms array.
113
+ *
114
+ * @param {Array} terms Array of term objects.
115
+ * @return {Array} Tree structure with parent/child relationships.
116
+ */
117
+ function buildTermsTree(terms) {
118
+ const termsById = {};
119
+ const rootTerms = [];
120
+ terms.forEach(term => {
121
+ termsById[term.id] = {
122
+ term,
123
+ children: []
124
+ };
125
+ });
126
+ terms.forEach(term => {
127
+ if (term.parent && termsById[term.parent]) {
128
+ termsById[term.parent].children.push(termsById[term.id]);
129
+ } else {
130
+ rootTerms.push(termsById[term.id]);
131
+ }
132
+ });
133
+ return rootTerms;
134
+ }
135
+
136
+ /**
137
+ * Renders a single term node and its children recursively.
138
+ *
139
+ * @param {Object} termNode Term node with term object and children.
140
+ * @param {Function} renderTerm Function to render individual terms.
141
+ * @return {JSX.Element} Rendered term node with children.
142
+ */
143
+ function renderTermNode(termNode, renderTerm) {
144
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
145
+ className: "wp-block-term",
146
+ children: [renderTerm(termNode.term), termNode.children.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
147
+ children: termNode.children.map(child => renderTermNode(child, renderTerm))
148
+ })]
149
+ });
150
+ }
151
+
152
+ /**
153
+ * Checks if a term is the currently active term.
154
+ *
155
+ * @param {number} termId The term ID to check.
156
+ * @param {number} activeBlockContextId The currently active block context ID.
157
+ * @param {Array} blockContexts Array of block contexts.
158
+ * @return {boolean} True if the term is active, false otherwise.
159
+ */
160
+ function isActiveTerm(termId, activeBlockContextId, blockContexts) {
161
+ return termId === (activeBlockContextId || blockContexts[0]?.termId);
162
+ }
163
+ function TermTemplateEdit({
164
+ clientId,
165
+ setAttributes,
166
+ context: {
167
+ termQuery: {
168
+ taxonomy,
169
+ order,
170
+ orderBy,
171
+ hideEmpty,
172
+ hierarchical,
173
+ parent,
174
+ perPage = 10
175
+ } = {}
176
+ },
177
+ __unstableLayoutClassNames
178
+ }) {
179
+ const [activeBlockContextId, setActiveBlockContextId] = (0, _element.useState)();
180
+ const {
181
+ replaceInnerBlocks
182
+ } = (0, _data.useDispatch)(_blockEditor.store);
183
+ const queryArgs = {
184
+ order,
185
+ orderby: orderBy,
186
+ hide_empty: hideEmpty,
187
+ // To preview the data the closest to the frontend, we fetch the largest number of terms
188
+ // and limit them during rendering. This is because WP_Term_Query fetches data in hierarchical manner,
189
+ // while in editor we build the hierarchy manually. It also allows us to avoid re-fetching data when max terms changes.
190
+ per_page: 100
191
+ };
192
+ const {
193
+ records: terms,
194
+ isResolving
195
+ } = (0, _coreData.useEntityRecords)('taxonomy', taxonomy, queryArgs);
196
+
197
+ // Filter to show only top-level terms if "Show only top-level terms" is enabled.
198
+ const filteredTerms = (0, _element.useMemo)(() => {
199
+ if (!terms || parent !== 0) {
200
+ return terms;
201
+ }
202
+ return terms.filter(term => !term.parent);
203
+ }, [terms, parent]);
204
+ const {
205
+ blocks,
206
+ variations,
207
+ defaultVariation
208
+ } = (0, _data.useSelect)(select => {
209
+ const {
210
+ getBlocks
211
+ } = select(_blockEditor.store);
212
+ const {
213
+ getBlockVariations,
214
+ getDefaultBlockVariation
215
+ } = select(_blocks.store);
216
+ return {
217
+ blocks: getBlocks(clientId),
218
+ variations: getBlockVariations('core/term-template', 'block'),
219
+ defaultVariation: getDefaultBlockVariation('core/term-template', 'block')
220
+ };
221
+ }, [clientId]);
222
+ const blockProps = (0, _blockEditor.useBlockProps)({
223
+ className: __unstableLayoutClassNames
224
+ });
225
+ const blockContexts = (0, _element.useMemo)(() => filteredTerms?.map(term => ({
226
+ taxonomy,
227
+ termId: term.id,
228
+ classList: `term-${term.id}`,
229
+ termData: term
230
+ })), [filteredTerms, taxonomy]);
231
+
232
+ // Show variation picker if no blocks exist.
233
+ if (!blocks?.length) {
234
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
235
+ ...blockProps,
236
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalBlockVariationPicker, {
237
+ icon: _icons.layout,
238
+ label: (0, _i18n.__)('Term Template'),
239
+ variations: variations,
240
+ instructions: (0, _i18n.__)('Choose a layout for displaying terms:'),
241
+ onSelect: (nextVariation = defaultVariation) => {
242
+ if (nextVariation.attributes) {
243
+ setAttributes(nextVariation.attributes);
244
+ }
245
+ if (nextVariation.innerBlocks) {
246
+ replaceInnerBlocks(clientId, (0, _blocks.createBlocksFromInnerBlocksTemplate)(nextVariation.innerBlocks), true);
247
+ }
248
+ },
249
+ allowSkip: true
250
+ })
251
+ });
252
+ }
253
+ if (isResolving) {
254
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("ul", {
255
+ ...blockProps,
256
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
257
+ className: "wp-block-term term-loading",
258
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
259
+ className: "term-loading-placeholder"
260
+ })
261
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
262
+ className: "wp-block-term term-loading",
263
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
264
+ className: "term-loading-placeholder"
265
+ })
266
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
267
+ className: "wp-block-term term-loading",
268
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
269
+ className: "term-loading-placeholder"
270
+ })
271
+ })]
272
+ });
273
+ }
274
+ if (!filteredTerms?.length) {
275
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
276
+ ...blockProps,
277
+ children: [" ", (0, _i18n.__)('No terms found.')]
278
+ });
279
+ }
280
+ const renderTerm = term => {
281
+ const blockContext = {
282
+ taxonomy,
283
+ termId: term.id,
284
+ classList: `term-${term.id}`,
285
+ termData: term
286
+ };
287
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.BlockContextProvider, {
288
+ value: blockContext,
289
+ children: [isActiveTerm(term.id, activeBlockContextId, blockContexts) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(TermTemplateInnerBlocks, {
290
+ classList: blockContext.classList
291
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(MemoizedTermTemplateBlockPreview, {
292
+ blocks: blocks,
293
+ blockContextId: term.id,
294
+ classList: blockContext.classList,
295
+ setActiveBlockContextId: setActiveBlockContextId,
296
+ isHidden: isActiveTerm(term.id, activeBlockContextId, blockContexts)
297
+ })]
298
+ }, term.id);
299
+ };
300
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
301
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
302
+ ...blockProps,
303
+ children: hierarchical ? buildTermsTree(filteredTerms).map(termNode => renderTermNode(termNode, renderTerm)) : blockContexts && blockContexts.slice(0, perPage).map(blockContext => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.BlockContextProvider, {
304
+ value: blockContext,
305
+ children: [blockContext.termId === (activeBlockContextId || blockContexts[0]?.termId) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(TermTemplateInnerBlocks, {
306
+ classList: blockContext.classList
307
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(MemoizedTermTemplateBlockPreview, {
308
+ blocks: blocks,
309
+ blockContextId: blockContext.termId,
310
+ classList: blockContext.classList,
311
+ setActiveBlockContextId: setActiveBlockContextId,
312
+ isHidden: blockContext.termId === (activeBlockContextId || blockContexts[0]?.termId)
313
+ })]
314
+ }, blockContext.termId))
315
+ })
316
+ });
317
+ }
318
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_data","_icons","_i18n","_blockEditor","_coreData","_blocks","_jsxRuntime","TEMPLATE","layout","type","orientation","style","spacing","blockGap","metadata","name","__","bindings","content","source","args","key","placeholder","TermTemplateInnerBlocks","classList","innerBlocksProps","useInnerBlocksProps","className","clsx","template","__unstableDisableLayoutClassNames","jsx","TermTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","useBlockPreview","props","handleOnClick","display","undefined","tabIndex","role","onClick","onKeyPress","MemoizedTermTemplateBlockPreview","memo","buildTermsTree","terms","termsById","rootTerms","forEach","term","id","children","parent","push","renderTermNode","termNode","renderTerm","jsxs","length","map","child","isActiveTerm","termId","activeBlockContextId","blockContexts","TermTemplateEdit","clientId","setAttributes","context","termQuery","taxonomy","order","orderBy","hideEmpty","hierarchical","perPage","__unstableLayoutClassNames","useState","replaceInnerBlocks","useDispatch","blockEditorStore","queryArgs","orderby","hide_empty","per_page","records","isResolving","useEntityRecords","filteredTerms","useMemo","filter","variations","defaultVariation","useSelect","select","getBlocks","getBlockVariations","getDefaultBlockVariation","blocksStore","blockProps","useBlockProps","termData","__experimentalBlockVariationPicker","icon","label","instructions","onSelect","nextVariation","attributes","innerBlocks","createBlocksFromInnerBlocksTemplate","allowSkip","blockContext","BlockContextProvider","value","Fragment","slice"],"sources":["@wordpress/block-library/src/term-template/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { layout } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\t__experimentalBlockVariationPicker as BlockVariationPicker,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport {\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\nconst TEMPLATE = [\n\t[\n\t\t'core/group',\n\t\t{\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\torientation: 'horizontal',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\tspacing: {\n\t\t\t\t\tblockGap: '0.5rem',\n\t\t\t\t},\n\t\t\t},\n\t\t\tmetadata: {\n\t\t\t\tname: __( 'Term Name with Count' ),\n\t\t\t},\n\t\t},\n\t\t[\n\t\t\t[\n\t\t\t\t'core/paragraph',\n\t\t\t\t{\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tname: __( 'Term Name' ),\n\t\t\t\t\t\tbindings: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\tsource: 'core/term-data',\n\t\t\t\t\t\t\t\targs: {\n\t\t\t\t\t\t\t\t\tkey: 'name',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t[\n\t\t\t\t'core/paragraph',\n\t\t\t\t{\n\t\t\t\t\tplaceholder: __( '(count)' ),\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tname: __( 'Term Count' ),\n\t\t\t\t\t\tbindings: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\tsource: 'core/term-data',\n\t\t\t\t\t\t\t\targs: {\n\t\t\t\t\t\t\t\t\tkey: 'count',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t],\n\t],\n];\n\nfunction TermTemplateInnerBlocks( { classList } ) {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: clsx( 'wp-block-term', classList ) },\n\t\t{ template: TEMPLATE, __unstableDisableLayoutClassNames: true }\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction TermTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tclassList,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: clsx( 'wp-block-term', classList ),\n\t\t},\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\n// Prevent re-rendering of the block preview when the terms data changes.\nconst MemoizedTermTemplateBlockPreview = memo( TermTemplateBlockPreview );\n\n/**\n * Builds a hierarchical tree structure from flat terms array.\n *\n * @param {Array} terms Array of term objects.\n * @return {Array} Tree structure with parent/child relationships.\n */\nfunction buildTermsTree( terms ) {\n\tconst termsById = {};\n\tconst rootTerms = [];\n\n\tterms.forEach( ( term ) => {\n\t\ttermsById[ term.id ] = {\n\t\t\tterm,\n\t\t\tchildren: [],\n\t\t};\n\t} );\n\n\tterms.forEach( ( term ) => {\n\t\tif ( term.parent && termsById[ term.parent ] ) {\n\t\t\ttermsById[ term.parent ].children.push( termsById[ term.id ] );\n\t\t} else {\n\t\t\trootTerms.push( termsById[ term.id ] );\n\t\t}\n\t} );\n\n\treturn rootTerms;\n}\n\n/**\n * Renders a single term node and its children recursively.\n *\n * @param {Object} termNode Term node with term object and children.\n * @param {Function} renderTerm Function to render individual terms.\n * @return {JSX.Element} Rendered term node with children.\n */\nfunction renderTermNode( termNode, renderTerm ) {\n\treturn (\n\t\t<li className=\"wp-block-term\">\n\t\t\t{ renderTerm( termNode.term ) }\n\t\t\t{ termNode.children.length > 0 && (\n\t\t\t\t<ul>\n\t\t\t\t\t{ termNode.children.map( ( child ) =>\n\t\t\t\t\t\trenderTermNode( child, renderTerm )\n\t\t\t\t\t) }\n\t\t\t\t</ul>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\n/**\n * Checks if a term is the currently active term.\n *\n * @param {number} termId The term ID to check.\n * @param {number} activeBlockContextId The currently active block context ID.\n * @param {Array} blockContexts Array of block contexts.\n * @return {boolean} True if the term is active, false otherwise.\n */\nfunction isActiveTerm( termId, activeBlockContextId, blockContexts ) {\n\treturn termId === ( activeBlockContextId || blockContexts[ 0 ]?.termId );\n}\n\nexport default function TermTemplateEdit( {\n\tclientId,\n\tsetAttributes,\n\tcontext: {\n\t\ttermQuery: {\n\t\t\ttaxonomy,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\thideEmpty,\n\t\t\thierarchical,\n\t\t\tparent,\n\t\t\tperPage = 10,\n\t\t} = {},\n\t},\n\t__unstableLayoutClassNames,\n} ) {\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\n\tconst queryArgs = {\n\t\torder,\n\t\torderby: orderBy,\n\t\thide_empty: hideEmpty,\n\t\t// To preview the data the closest to the frontend, we fetch the largest number of terms\n\t\t// and limit them during rendering. This is because WP_Term_Query fetches data in hierarchical manner,\n\t\t// while in editor we build the hierarchy manually. It also allows us to avoid re-fetching data when max terms changes.\n\t\tper_page: 100,\n\t};\n\n\tconst { records: terms, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\ttaxonomy,\n\t\tqueryArgs\n\t);\n\n\t// Filter to show only top-level terms if \"Show only top-level terms\" is enabled.\n\tconst filteredTerms = useMemo( () => {\n\t\tif ( ! terms || parent !== 0 ) {\n\t\t\treturn terms;\n\t\t}\n\t\treturn terms.filter( ( term ) => ! term.parent );\n\t}, [ terms, parent ] );\n\n\tconst { blocks, variations, defaultVariation } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst { getBlockVariations, getDefaultBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t\tvariations: getBlockVariations( 'core/term-template', 'block' ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation(\n\t\t\t\t\t'core/term-template',\n\t\t\t\t\t'block'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: __unstableLayoutClassNames,\n\t} );\n\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tfilteredTerms?.map( ( term ) => ( {\n\t\t\t\ttaxonomy,\n\t\t\t\ttermId: term.id,\n\t\t\t\tclassList: `term-${ term.id }`,\n\t\t\t\ttermData: term,\n\t\t\t} ) ),\n\t\t[ filteredTerms, taxonomy ]\n\t);\n\n\t// Show variation picker if no blocks exist.\n\tif ( ! blocks?.length ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<BlockVariationPicker\n\t\t\t\t\ticon={ layout }\n\t\t\t\t\tlabel={ __( 'Term Template' ) }\n\t\t\t\t\tvariations={ variations }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Choose a layout for displaying terms:'\n\t\t\t\t\t) }\n\t\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tallowSkip\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isResolving ) {\n\t\treturn (\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t<li className=\"wp-block-term term-loading\">\n\t\t\t\t\t<div className=\"term-loading-placeholder\" />\n\t\t\t\t</li>\n\t\t\t\t<li className=\"wp-block-term term-loading\">\n\t\t\t\t\t<div className=\"term-loading-placeholder\" />\n\t\t\t\t</li>\n\t\t\t\t<li className=\"wp-block-term term-loading\">\n\t\t\t\t\t<div className=\"term-loading-placeholder\" />\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t);\n\t}\n\n\tif ( ! filteredTerms?.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No terms found.' ) }</p>;\n\t}\n\n\tconst renderTerm = ( term ) => {\n\t\tconst blockContext = {\n\t\t\ttaxonomy,\n\t\t\ttermId: term.id,\n\t\t\tclassList: `term-${ term.id }`,\n\t\t\ttermData: term,\n\t\t};\n\n\t\treturn (\n\t\t\t<BlockContextProvider key={ term.id } value={ blockContext }>\n\t\t\t\t{ isActiveTerm(\n\t\t\t\t\tterm.id,\n\t\t\t\t\tactiveBlockContextId,\n\t\t\t\t\tblockContexts\n\t\t\t\t) ? (\n\t\t\t\t\t<TermTemplateInnerBlocks\n\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t/>\n\t\t\t\t) : null }\n\t\t\t\t<MemoizedTermTemplateBlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tblockContextId={ term.id }\n\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\tsetActiveBlockContextId={ setActiveBlockContextId }\n\t\t\t\t\tisHidden={ isActiveTerm(\n\t\t\t\t\t\tterm.id,\n\t\t\t\t\t\tactiveBlockContextId,\n\t\t\t\t\t\tblockContexts\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</BlockContextProvider>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ hierarchical\n\t\t\t\t\t? buildTermsTree( filteredTerms ).map( ( termNode ) =>\n\t\t\t\t\t\t\trenderTermNode( termNode, renderTerm )\n\t\t\t\t\t )\n\t\t\t\t\t: blockContexts &&\n\t\t\t\t\t blockContexts\n\t\t\t\t\t\t\t.slice( 0, perPage )\n\t\t\t\t\t\t\t.map( ( blockContext ) => (\n\t\t\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\t\t\tkey={ blockContext.termId }\n\t\t\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ blockContext.termId ===\n\t\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.termId ) ? (\n\t\t\t\t\t\t\t\t\t\t<TermTemplateInnerBlocks\n\t\t\t\t\t\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t\t\t\t<MemoizedTermTemplateBlockPreview\n\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\tblockContextId={ blockContext.termId }\n\t\t\t\t\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\t\t\tsetActiveBlockContextId={\n\t\t\t\t\t\t\t\t\t\t\tsetActiveBlockContextId\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\t\t\t\tblockContext.termId ===\n\t\t\t\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.termId )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.settings = exports.name = exports.metadata = exports.init = void 0;
8
+ var _icons = require("@wordpress/icons");
9
+ var _initBlock = _interopRequireDefault(require("../utils/init-block"));
10
+ var _edit = _interopRequireDefault(require("./edit"));
11
+ var _save = _interopRequireDefault(require("./save"));
12
+ var _variations = _interopRequireDefault(require("./variations"));
13
+ /**
14
+ * WordPress dependencies
15
+ */
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+ const metadata = exports.metadata = {
20
+ $schema: "https://schemas.wp.org/trunk/block.json",
21
+ apiVersion: 3,
22
+ __experimental: true,
23
+ name: "core/term-template",
24
+ title: "Term Template",
25
+ category: "theme",
26
+ ancestor: ["core/terms-query"],
27
+ description: "Contains the block elements used to render a taxonomy term, like the name, description, and more.",
28
+ textdomain: "default",
29
+ usesContext: ["termQuery"],
30
+ attributes: {
31
+ namespace: {
32
+ type: "string"
33
+ }
34
+ },
35
+ supports: {
36
+ reusable: false,
37
+ html: false,
38
+ align: ["wide", "full"],
39
+ layout: {
40
+ allowSwitching: true,
41
+ allowEditing: true,
42
+ "default": {
43
+ type: "flex"
44
+ }
45
+ },
46
+ color: {
47
+ gradients: true,
48
+ link: true,
49
+ __experimentalDefaultControls: {
50
+ background: true,
51
+ text: true
52
+ }
53
+ },
54
+ typography: {
55
+ fontSize: true,
56
+ lineHeight: true,
57
+ __experimentalFontFamily: true,
58
+ __experimentalFontWeight: true,
59
+ __experimentalFontStyle: true,
60
+ __experimentalTextTransform: true,
61
+ __experimentalTextDecoration: true,
62
+ __experimentalLetterSpacing: true,
63
+ __experimentalDefaultControls: {
64
+ fontSize: true
65
+ }
66
+ },
67
+ spacing: {
68
+ margin: true,
69
+ padding: true,
70
+ blockGap: {
71
+ __experimentalDefault: "1.25em"
72
+ },
73
+ __experimentalDefaultControls: {
74
+ blockGap: true,
75
+ padding: false,
76
+ margin: false
77
+ }
78
+ },
79
+ interactivity: {
80
+ clientNavigation: true
81
+ },
82
+ __experimentalBorder: {
83
+ radius: true,
84
+ color: true,
85
+ width: true,
86
+ style: true
87
+ }
88
+ },
89
+ style: "wp-block-term-template",
90
+ variations: "file:./variations.js"
91
+ };
92
+ const {
93
+ name
94
+ } = metadata;
95
+ exports.name = name;
96
+ const settings = exports.settings = {
97
+ icon: _icons.layout,
98
+ variations: _variations.default,
99
+ edit: _edit.default,
100
+ save: _save.default,
101
+ example: {}
102
+ };
103
+ const init = () => (0, _initBlock.default)({
104
+ name,
105
+ metadata,
106
+ settings
107
+ });
108
+ exports.init = init;
109
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","_save","_variations","metadata","exports","$schema","apiVersion","__experimental","name","title","category","ancestor","description","textdomain","usesContext","attributes","namespace","type","supports","reusable","html","align","layout","allowSwitching","allowEditing","color","gradients","link","__experimentalDefaultControls","background","text","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","spacing","margin","padding","blockGap","__experimentalDefault","interactivity","clientNavigation","__experimentalBorder","radius","width","style","variations","settings","icon","edit","save","example","init","initBlock"],"sources":["@wordpress/block-library/src/term-template/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { layout as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport variations from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tvariations,\n\tedit,\n\tsave,\n\texample: {},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,KAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AAZA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAM,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,cAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;IAAAC,MAAA;MAAAC,cAAA;MAAAC,YAAA;MAAA;QAAAP,IAAA;MAAA;IAAA;IAAAQ,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAX,6BAAA;QAAAI,QAAA;MAAA;IAAA;IAAAQ,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,QAAA;QAAAC,qBAAA;MAAA;MAAAhB,6BAAA;QAAAe,QAAA;QAAAD,OAAA;QAAAD,MAAA;MAAA;IAAA;IAAAI,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAvB,KAAA;MAAAwB,KAAA;MAAAC,KAAA;IAAA;EAAA;EAAAA,KAAA;EAAAC,UAAA;AAAA;AASA,MAAM;EAAE3C;AAAK,CAAC,GAAGL,QAAQ;AAACC,OAAA,CAAAI,IAAA,GAAAA,IAAA;AAGnB,MAAM4C,QAAQ,GAAAhD,OAAA,CAAAgD,QAAA,GAAG;EACvBC,IAAI,EAAJA,aAAI;EACJF,UAAU,EAAVA,mBAAU;EACVG,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,OAAO,EAAE,CAAC;AACX,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAElD,IAAI;EAAEL,QAAQ;EAAEiD;AAAS,CAAE,CAAC;AAAChD,OAAA,CAAAqD,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = TermTemplateSave;
7
+ var _blockEditor = require("@wordpress/block-editor");
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ /**
10
+ * WordPress dependencies
11
+ */
12
+
13
+ function TermTemplateSave() {
14
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InnerBlocks.Content, {});
15
+ }
16
+ //# sourceMappingURL=save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_blockEditor","require","_jsxRuntime","TermTemplateSave","jsx","InnerBlocks","Content"],"sources":["@wordpress/block-library/src/term-template/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks } from '@wordpress/block-editor';\n\nexport default function TermTemplateSave() {\n\treturn <InnerBlocks.Content />;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAAsD,IAAAC,WAAA,GAAAD,OAAA;AAHtD;AACA;AACA;;AAGe,SAASE,gBAAgBA,CAAA,EAAG;EAC1C,oBAAO,IAAAD,WAAA,CAAAE,GAAA,EAACJ,YAAA,CAAAK,WAAW,CAACC,OAAO,IAAE,CAAC;AAC/B","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _i18n = require("@wordpress/i18n");
8
+ var _icons = require("@wordpress/icons");
9
+ /**
10
+ * WordPress dependencies
11
+ */
12
+
13
+ const createInnerBlocks = (groupMetadata, groupStyle = {}) => [['core/group', {
14
+ layout: {
15
+ type: 'flex',
16
+ orientation: 'horizontal'
17
+ },
18
+ style: {
19
+ spacing: {
20
+ blockGap: '0.5rem'
21
+ },
22
+ ...groupStyle
23
+ },
24
+ metadata: {
25
+ name: groupMetadata
26
+ }
27
+ }, [['core/paragraph', {
28
+ metadata: {
29
+ name: (0, _i18n.__)('Term Name'),
30
+ bindings: {
31
+ content: {
32
+ source: 'core/term-data',
33
+ args: {
34
+ key: 'name'
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }], ['core/paragraph', {
40
+ placeholder: (0, _i18n.__)('(count)'),
41
+ metadata: {
42
+ name: (0, _i18n.__)('Term Count'),
43
+ bindings: {
44
+ content: {
45
+ source: 'core/term-data',
46
+ args: {
47
+ key: 'count'
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }]]]];
53
+ const variations = [{
54
+ name: 'list',
55
+ title: (0, _i18n.__)('List'),
56
+ description: (0, _i18n.__)('Display terms in a list layout.'),
57
+ attributes: {
58
+ layout: {
59
+ type: 'default'
60
+ }
61
+ },
62
+ isDefault: true,
63
+ icon: _icons.list,
64
+ scope: ['block', 'inserter'],
65
+ innerBlocks: createInnerBlocks((0, _i18n.__)('Term Name with Count'))
66
+ }, {
67
+ name: 'grid',
68
+ title: (0, _i18n.__)('Grid'),
69
+ description: (0, _i18n.__)('Display terms in a grid layout.'),
70
+ attributes: {
71
+ layout: {
72
+ type: 'grid',
73
+ columnCount: 3
74
+ }
75
+ },
76
+ icon: _icons.grid,
77
+ scope: ['block', 'inserter'],
78
+ innerBlocks: createInnerBlocks((0, _i18n.__)('Term Card'), {
79
+ padding: '1rem'
80
+ })
81
+ }];
82
+ var _default = exports.default = variations;
83
+ //# sourceMappingURL=variations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_icons","createInnerBlocks","groupMetadata","groupStyle","layout","type","orientation","style","spacing","blockGap","metadata","name","__","bindings","content","source","args","key","placeholder","variations","title","description","attributes","isDefault","icon","list","scope","innerBlocks","columnCount","grid","padding","_default","exports","default"],"sources":["@wordpress/block-library/src/term-template/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { list, grid } from '@wordpress/icons';\n\nconst createInnerBlocks = ( groupMetadata, groupStyle = {} ) => [\n\t[\n\t\t'core/group',\n\t\t{\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\torientation: 'horizontal',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\tspacing: {\n\t\t\t\t\tblockGap: '0.5rem',\n\t\t\t\t},\n\t\t\t\t...groupStyle,\n\t\t\t},\n\t\t\tmetadata: {\n\t\t\t\tname: groupMetadata,\n\t\t\t},\n\t\t},\n\t\t[\n\t\t\t[\n\t\t\t\t'core/paragraph',\n\t\t\t\t{\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tname: __( 'Term Name' ),\n\t\t\t\t\t\tbindings: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\tsource: 'core/term-data',\n\t\t\t\t\t\t\t\targs: {\n\t\t\t\t\t\t\t\t\tkey: 'name',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t[\n\t\t\t\t'core/paragraph',\n\t\t\t\t{\n\t\t\t\t\tplaceholder: __( '(count)' ),\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tname: __( 'Term Count' ),\n\t\t\t\t\t\tbindings: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\tsource: 'core/term-data',\n\t\t\t\t\t\t\t\targs: {\n\t\t\t\t\t\t\t\t\tkey: 'count',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t],\n\t],\n];\n\nconst variations = [\n\t{\n\t\tname: 'list',\n\t\ttitle: __( 'List' ),\n\t\tdescription: __( 'Display terms in a list layout.' ),\n\t\tattributes: { layout: { type: 'default' } },\n\t\tisDefault: true,\n\t\ticon: list,\n\t\tscope: [ 'block', 'inserter' ],\n\t\tinnerBlocks: createInnerBlocks( __( 'Term Name with Count' ) ),\n\t},\n\t{\n\t\tname: 'grid',\n\t\ttitle: __( 'Grid' ),\n\t\tdescription: __( 'Display terms in a grid layout.' ),\n\t\tattributes: { layout: { type: 'grid', columnCount: 3 } },\n\t\ticon: grid,\n\t\tscope: [ 'block', 'inserter' ],\n\t\tinnerBlocks: createInnerBlocks( __( 'Term Card' ), {\n\t\t\tpadding: '1rem',\n\t\t} ),\n\t},\n];\n\nexport default variations;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,iBAAiB,GAAGA,CAAEC,aAAa,EAAEC,UAAU,GAAG,CAAC,CAAC,KAAM,CAC/D,CACC,YAAY,EACZ;EACCC,MAAM,EAAE;IACPC,IAAI,EAAE,MAAM;IACZC,WAAW,EAAE;EACd,CAAC;EACDC,KAAK,EAAE;IACNC,OAAO,EAAE;MACRC,QAAQ,EAAE;IACX,CAAC;IACD,GAAGN;EACJ,CAAC;EACDO,QAAQ,EAAE;IACTC,IAAI,EAAET;EACP;AACD,CAAC,EACD,CACC,CACC,gBAAgB,EAChB;EACCQ,QAAQ,EAAE;IACTC,IAAI,EAAE,IAAAC,QAAE,EAAE,WAAY,CAAC;IACvBC,QAAQ,EAAE;MACTC,OAAO,EAAE;QACRC,MAAM,EAAE,gBAAgB;QACxBC,IAAI,EAAE;UACLC,GAAG,EAAE;QACN;MACD;IACD;EACD;AACD,CAAC,CACD,EACD,CACC,gBAAgB,EAChB;EACCC,WAAW,EAAE,IAAAN,QAAE,EAAE,SAAU,CAAC;EAC5BF,QAAQ,EAAE;IACTC,IAAI,EAAE,IAAAC,QAAE,EAAE,YAAa,CAAC;IACxBC,QAAQ,EAAE;MACTC,OAAO,EAAE;QACRC,MAAM,EAAE,gBAAgB;QACxBC,IAAI,EAAE;UACLC,GAAG,EAAE;QACN;MACD;IACD;EACD;AACD,CAAC,CACD,CACD,CACD,CACD;AAED,MAAME,UAAU,GAAG,CAClB;EACCR,IAAI,EAAE,MAAM;EACZS,KAAK,EAAE,IAAAR,QAAE,EAAE,MAAO,CAAC;EACnBS,WAAW,EAAE,IAAAT,QAAE,EAAE,iCAAkC,CAAC;EACpDU,UAAU,EAAE;IAAElB,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAU;EAAE,CAAC;EAC3CkB,SAAS,EAAE,IAAI;EACfC,IAAI,EAAEC,WAAI;EACVC,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,CAAE;EAC9BC,WAAW,EAAE1B,iBAAiB,CAAE,IAAAW,QAAE,EAAE,sBAAuB,CAAE;AAC9D,CAAC,EACD;EACCD,IAAI,EAAE,MAAM;EACZS,KAAK,EAAE,IAAAR,QAAE,EAAE,MAAO,CAAC;EACnBS,WAAW,EAAE,IAAAT,QAAE,EAAE,iCAAkC,CAAC;EACpDU,UAAU,EAAE;IAAElB,MAAM,EAAE;MAAEC,IAAI,EAAE,MAAM;MAAEuB,WAAW,EAAE;IAAE;EAAE,CAAC;EACxDJ,IAAI,EAAEK,WAAI;EACVH,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,CAAE;EAC9BC,WAAW,EAAE1B,iBAAiB,CAAE,IAAAW,QAAE,EAAE,WAAY,CAAC,EAAE;IAClDkB,OAAO,EAAE;EACV,CAAE;AACH,CAAC,CACD;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEad,UAAU","ignoreList":[]}