@wordpress/dataviews 8.0.1-next.e256d081a.0 → 9.0.1-next.6870dfe5b.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 (269) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/README.md +96 -1
  3. package/build/components/dataform-context/index.js +1 -0
  4. package/build/components/dataform-context/index.js.map +1 -1
  5. package/build/components/dataviews/index.js +11 -1
  6. package/build/components/dataviews/index.js.map +1 -1
  7. package/build/components/dataviews-context/index.js +1 -0
  8. package/build/components/dataviews-context/index.js.map +1 -1
  9. package/build/components/dataviews-layout/index.js +2 -1
  10. package/build/components/dataviews-layout/index.js.map +1 -1
  11. package/build/components/dataviews-picker/footer.js +145 -0
  12. package/build/components/dataviews-picker/footer.js.map +1 -0
  13. package/build/components/dataviews-picker/index.js +201 -0
  14. package/build/components/dataviews-picker/index.js.map +1 -0
  15. package/build/components/dataviews-selection-checkbox/index.js +4 -2
  16. package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
  17. package/build/components/dataviews-view-config/index.js +1 -0
  18. package/build/components/dataviews-view-config/index.js.map +1 -1
  19. package/build/constants.js +4 -1
  20. package/build/constants.js.map +1 -1
  21. package/build/dataform-controls/checkbox.js +23 -2
  22. package/build/dataform-controls/checkbox.js.map +1 -1
  23. package/build/dataform-controls/color.js +128 -0
  24. package/build/dataform-controls/color.js.map +1 -0
  25. package/build/dataform-controls/email.js +10 -45
  26. package/build/dataform-controls/email.js.map +1 -1
  27. package/build/dataform-controls/index.js +8 -2
  28. package/build/dataform-controls/index.js.map +1 -1
  29. package/build/dataform-controls/telephone.js +34 -0
  30. package/build/dataform-controls/telephone.js.map +1 -0
  31. package/build/dataform-controls/text.js +7 -48
  32. package/build/dataform-controls/text.js.map +1 -1
  33. package/build/dataform-controls/{boolean.js → toggle.js} +6 -4
  34. package/build/dataform-controls/toggle.js.map +1 -0
  35. package/build/dataform-controls/url.js +34 -0
  36. package/build/dataform-controls/url.js.map +1 -0
  37. package/build/dataform-controls/utils/validated-text.js +76 -0
  38. package/build/dataform-controls/utils/validated-text.js.map +1 -0
  39. package/build/dataforms-layouts/card/index.js +6 -7
  40. package/build/dataforms-layouts/card/index.js.map +1 -1
  41. package/build/dataforms-layouts/data-form-layout.js +16 -4
  42. package/build/dataforms-layouts/data-form-layout.js.map +1 -1
  43. package/build/dataforms-layouts/index.js +31 -1
  44. package/build/dataforms-layouts/index.js.map +1 -1
  45. package/build/dataforms-layouts/row/index.js +113 -0
  46. package/build/dataforms-layouts/row/index.js.map +1 -0
  47. package/build/dataviews-layouts/grid/index.js +16 -11
  48. package/build/dataviews-layouts/grid/index.js.map +1 -1
  49. package/build/dataviews-layouts/index.js +9 -1
  50. package/build/dataviews-layouts/index.js.map +1 -1
  51. package/build/dataviews-layouts/picker-grid/index.js +357 -0
  52. package/build/dataviews-layouts/picker-grid/index.js.map +1 -0
  53. package/build/dataviews-layouts/utils/grid-items.js +37 -0
  54. package/build/dataviews-layouts/utils/grid-items.js.map +1 -0
  55. package/build/dataviews-layouts/utils/preview-size-picker.js +81 -0
  56. package/build/dataviews-layouts/utils/preview-size-picker.js.map +1 -0
  57. package/build/field-types/boolean.js +1 -1
  58. package/build/field-types/boolean.js.map +1 -1
  59. package/build/field-types/color.js +113 -0
  60. package/build/field-types/color.js.map +1 -0
  61. package/build/field-types/index.js +12 -0
  62. package/build/field-types/index.js.map +1 -1
  63. package/build/field-types/telephone.js +57 -0
  64. package/build/field-types/telephone.js.map +1 -0
  65. package/build/field-types/url.js +57 -0
  66. package/build/field-types/url.js.map +1 -0
  67. package/build/normalize-form-fields.js +6 -0
  68. package/build/normalize-form-fields.js.map +1 -1
  69. package/build/types.js.map +1 -1
  70. package/build/validation.js +1 -1
  71. package/build/validation.js.map +1 -1
  72. package/build-module/components/dataform-context/index.js +1 -0
  73. package/build-module/components/dataform-context/index.js.map +1 -1
  74. package/build-module/components/dataviews/index.js +11 -1
  75. package/build-module/components/dataviews/index.js.map +1 -1
  76. package/build-module/components/dataviews-context/index.js +1 -0
  77. package/build-module/components/dataviews-context/index.js.map +1 -1
  78. package/build-module/components/dataviews-layout/index.js +2 -1
  79. package/build-module/components/dataviews-layout/index.js.map +1 -1
  80. package/build-module/components/dataviews-picker/footer.js +136 -0
  81. package/build-module/components/dataviews-picker/footer.js.map +1 -0
  82. package/build-module/components/dataviews-picker/index.js +191 -0
  83. package/build-module/components/dataviews-picker/index.js.map +1 -0
  84. package/build-module/components/dataviews-selection-checkbox/index.js +4 -2
  85. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
  86. package/build-module/components/dataviews-view-config/index.js +1 -0
  87. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  88. package/build-module/constants.js +3 -0
  89. package/build-module/constants.js.map +1 -1
  90. package/build-module/dataform-controls/checkbox.js +25 -3
  91. package/build-module/dataform-controls/checkbox.js.map +1 -1
  92. package/build-module/dataform-controls/color.js +122 -0
  93. package/build-module/dataform-controls/color.js.map +1 -0
  94. package/build-module/dataform-controls/email.js +9 -45
  95. package/build-module/dataform-controls/email.js.map +1 -1
  96. package/build-module/dataform-controls/index.js +8 -2
  97. package/build-module/dataform-controls/index.js.map +1 -1
  98. package/build-module/dataform-controls/telephone.js +27 -0
  99. package/build-module/dataform-controls/telephone.js.map +1 -0
  100. package/build-module/dataform-controls/text.js +6 -48
  101. package/build-module/dataform-controls/text.js.map +1 -1
  102. package/build-module/dataform-controls/{boolean.js → toggle.js} +5 -3
  103. package/build-module/dataform-controls/toggle.js.map +1 -0
  104. package/build-module/dataform-controls/url.js +27 -0
  105. package/build-module/dataform-controls/url.js.map +1 -0
  106. package/build-module/dataform-controls/utils/validated-text.js +70 -0
  107. package/build-module/dataform-controls/utils/validated-text.js.map +1 -0
  108. package/build-module/dataforms-layouts/card/index.js +6 -7
  109. package/build-module/dataforms-layouts/card/index.js.map +1 -1
  110. package/build-module/dataforms-layouts/data-form-layout.js +14 -4
  111. package/build-module/dataforms-layouts/data-form-layout.js.map +1 -1
  112. package/build-module/dataforms-layouts/index.js +32 -1
  113. package/build-module/dataforms-layouts/index.js.map +1 -1
  114. package/build-module/dataforms-layouts/row/index.js +106 -0
  115. package/build-module/dataforms-layouts/row/index.js.map +1 -0
  116. package/build-module/dataviews-layouts/grid/index.js +16 -11
  117. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  118. package/build-module/dataviews-layouts/index.js +10 -2
  119. package/build-module/dataviews-layouts/index.js.map +1 -1
  120. package/build-module/dataviews-layouts/picker-grid/index.js +348 -0
  121. package/build-module/dataviews-layouts/picker-grid/index.js.map +1 -0
  122. package/build-module/dataviews-layouts/utils/grid-items.js +29 -0
  123. package/build-module/dataviews-layouts/utils/grid-items.js.map +1 -0
  124. package/build-module/dataviews-layouts/utils/preview-size-picker.js +73 -0
  125. package/build-module/dataviews-layouts/utils/preview-size-picker.js.map +1 -0
  126. package/build-module/field-types/boolean.js +1 -1
  127. package/build-module/field-types/boolean.js.map +1 -1
  128. package/build-module/field-types/color.js +107 -0
  129. package/build-module/field-types/color.js.map +1 -0
  130. package/build-module/field-types/index.js +12 -0
  131. package/build-module/field-types/index.js.map +1 -1
  132. package/build-module/field-types/telephone.js +51 -0
  133. package/build-module/field-types/telephone.js.map +1 -0
  134. package/build-module/field-types/url.js +51 -0
  135. package/build-module/field-types/url.js.map +1 -0
  136. package/build-module/normalize-form-fields.js +6 -0
  137. package/build-module/normalize-form-fields.js.map +1 -1
  138. package/build-module/types.js.map +1 -1
  139. package/build-module/validation.js +1 -1
  140. package/build-module/validation.js.map +1 -1
  141. package/build-style/style-rtl.css +252 -12
  142. package/build-style/style.css +252 -12
  143. package/build-types/components/dataform/stories/index.story.d.ts +19 -4
  144. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
  145. package/build-types/components/dataform-context/index.d.ts.map +1 -1
  146. package/build-types/components/dataviews/index.d.ts +1 -1
  147. package/build-types/components/dataviews/index.d.ts.map +1 -1
  148. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
  149. package/build-types/components/dataviews-context/index.d.ts +1 -0
  150. package/build-types/components/dataviews-context/index.d.ts.map +1 -1
  151. package/build-types/components/dataviews-layout/index.d.ts.map +1 -1
  152. package/build-types/components/dataviews-picker/footer.d.ts +4 -0
  153. package/build-types/components/dataviews-picker/footer.d.ts.map +1 -0
  154. package/build-types/components/dataviews-picker/index.d.ts +55 -0
  155. package/build-types/components/dataviews-picker/index.d.ts.map +1 -0
  156. package/build-types/components/dataviews-picker/stories/index.story.d.ts +42 -0
  157. package/build-types/components/dataviews-picker/stories/index.story.d.ts.map +1 -0
  158. package/build-types/components/dataviews-selection-checkbox/index.d.ts +2 -1
  159. package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -1
  160. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  161. package/build-types/constants.d.ts +1 -0
  162. package/build-types/constants.d.ts.map +1 -1
  163. package/build-types/dataform-controls/checkbox.d.ts.map +1 -1
  164. package/build-types/dataform-controls/color.d.ts +6 -0
  165. package/build-types/dataform-controls/color.d.ts.map +1 -0
  166. package/build-types/dataform-controls/email.d.ts.map +1 -1
  167. package/build-types/dataform-controls/index.d.ts.map +1 -1
  168. package/build-types/dataform-controls/telephone.d.ts +6 -0
  169. package/build-types/dataform-controls/telephone.d.ts.map +1 -0
  170. package/build-types/dataform-controls/text.d.ts.map +1 -1
  171. package/build-types/dataform-controls/toggle.d.ts +6 -0
  172. package/build-types/dataform-controls/toggle.d.ts.map +1 -0
  173. package/build-types/dataform-controls/url.d.ts +6 -0
  174. package/build-types/dataform-controls/url.d.ts.map +1 -0
  175. package/build-types/dataform-controls/utils/validated-text.d.ts +16 -0
  176. package/build-types/dataform-controls/utils/validated-text.d.ts.map +1 -0
  177. package/build-types/dataforms-layouts/card/index.d.ts +0 -3
  178. package/build-types/dataforms-layouts/card/index.d.ts.map +1 -1
  179. package/build-types/dataforms-layouts/data-form-layout.d.ts +4 -1
  180. package/build-types/dataforms-layouts/data-form-layout.d.ts.map +1 -1
  181. package/build-types/dataforms-layouts/index.d.ts +10 -0
  182. package/build-types/dataforms-layouts/index.d.ts.map +1 -1
  183. package/build-types/dataforms-layouts/row/index.d.ts +6 -0
  184. package/build-types/dataforms-layouts/row/index.d.ts.map +1 -0
  185. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
  186. package/build-types/dataviews-layouts/index.d.ts +12 -1
  187. package/build-types/dataviews-layouts/index.d.ts.map +1 -1
  188. package/build-types/dataviews-layouts/picker-grid/index.d.ts +4 -0
  189. package/build-types/dataviews-layouts/picker-grid/index.d.ts.map +1 -0
  190. package/build-types/dataviews-layouts/utils/grid-items.d.ts +5 -0
  191. package/build-types/dataviews-layouts/utils/grid-items.d.ts.map +1 -0
  192. package/build-types/dataviews-layouts/utils/preview-size-picker.d.ts +2 -0
  193. package/build-types/dataviews-layouts/utils/preview-size-picker.d.ts.map +1 -0
  194. package/build-types/field-types/color.d.ts +20 -0
  195. package/build-types/field-types/color.d.ts.map +1 -0
  196. package/build-types/field-types/index.d.ts.map +1 -1
  197. package/build-types/field-types/stories/index.story.d.ts +81 -0
  198. package/build-types/field-types/stories/index.story.d.ts.map +1 -0
  199. package/build-types/field-types/telephone.d.ts +20 -0
  200. package/build-types/field-types/telephone.d.ts.map +1 -0
  201. package/build-types/field-types/url.d.ts +20 -0
  202. package/build-types/field-types/url.d.ts.map +1 -0
  203. package/build-types/normalize-form-fields.d.ts.map +1 -1
  204. package/build-types/test/dataviews-picker.d.ts +2 -0
  205. package/build-types/test/dataviews-picker.d.ts.map +1 -0
  206. package/build-types/types.d.ts +36 -5
  207. package/build-types/types.d.ts.map +1 -1
  208. package/build-types/validation.d.ts.map +1 -1
  209. package/build-wp/index.js +5061 -4013
  210. package/package.json +16 -15
  211. package/src/components/dataform/stories/index.story.tsx +333 -11
  212. package/src/components/dataform-context/index.tsx +1 -0
  213. package/src/components/dataviews/index.tsx +25 -1
  214. package/src/components/dataviews/stories/fixtures.tsx +1 -1
  215. package/src/components/dataviews/stories/index.story.tsx +14 -0
  216. package/src/components/dataviews/style.scss +4 -2
  217. package/src/components/dataviews-context/index.ts +3 -0
  218. package/src/components/dataviews-layout/index.tsx +4 -2
  219. package/src/components/dataviews-picker/footer.tsx +207 -0
  220. package/src/components/dataviews-picker/index.tsx +284 -0
  221. package/src/components/dataviews-picker/stories/index.story.tsx +251 -0
  222. package/src/components/dataviews-picker/style.scss +10 -0
  223. package/src/components/dataviews-selection-checkbox/index.tsx +3 -0
  224. package/src/components/dataviews-view-config/index.tsx +1 -0
  225. package/src/constants.ts +3 -0
  226. package/src/dataform-controls/checkbox.tsx +33 -3
  227. package/src/dataform-controls/color.tsx +139 -0
  228. package/src/dataform-controls/email.tsx +10 -52
  229. package/src/dataform-controls/index.tsx +8 -2
  230. package/src/dataform-controls/telephone.tsx +30 -0
  231. package/src/dataform-controls/text.tsx +2 -57
  232. package/src/dataform-controls/{boolean.tsx → toggle.tsx} +3 -2
  233. package/src/dataform-controls/url.tsx +30 -0
  234. package/src/dataform-controls/utils/validated-text.tsx +96 -0
  235. package/src/dataforms-layouts/card/index.tsx +5 -4
  236. package/src/dataforms-layouts/card/style.scss +7 -0
  237. package/src/dataforms-layouts/data-form-layout.tsx +15 -3
  238. package/src/dataforms-layouts/index.tsx +35 -0
  239. package/src/dataforms-layouts/row/index.tsx +115 -0
  240. package/src/dataforms-layouts/row/style.scss +3 -0
  241. package/src/dataviews-layouts/grid/index.tsx +38 -33
  242. package/src/dataviews-layouts/grid/style.scss +42 -20
  243. package/src/dataviews-layouts/index.ts +16 -2
  244. package/src/dataviews-layouts/picker-grid/index.tsx +490 -0
  245. package/src/dataviews-layouts/picker-grid/style.scss +171 -0
  246. package/src/dataviews-layouts/utils/grid-items.scss +21 -0
  247. package/src/dataviews-layouts/utils/grid-items.tsx +35 -0
  248. package/src/dataviews-layouts/utils/preview-size-picker.tsx +87 -0
  249. package/src/field-types/boolean.tsx +1 -1
  250. package/src/field-types/color.tsx +115 -0
  251. package/src/field-types/index.tsx +15 -0
  252. package/src/field-types/stories/index.story.tsx +719 -0
  253. package/src/field-types/telephone.tsx +71 -0
  254. package/src/field-types/url.tsx +71 -0
  255. package/src/normalize-form-fields.ts +6 -0
  256. package/src/style.scss +4 -0
  257. package/src/test/dataform.tsx +2 -2
  258. package/src/test/dataviews-picker.tsx +478 -0
  259. package/src/test/dataviews.tsx +86 -0
  260. package/src/types.ts +56 -4
  261. package/src/validation.ts +3 -0
  262. package/tsconfig.tsbuildinfo +1 -1
  263. package/build/dataform-controls/boolean.js.map +0 -1
  264. package/build-module/dataform-controls/boolean.js.map +0 -1
  265. package/build-types/components/stories/index.story.d.ts +0 -63
  266. package/build-types/components/stories/index.story.d.ts.map +0 -1
  267. package/build-types/dataform-controls/boolean.d.ts +0 -6
  268. package/build-types/dataform-controls/boolean.d.ts.map +0 -1
  269. package/src/components/stories/index.story.tsx +0 -372
@@ -0,0 +1 @@
1
+ {"version":3,"names":["clsx","__experimentalHStack","HStack","__experimentalVStack","VStack","Spinner","Flex","FlexItem","privateApis","componentsPrivateApis","Composite","__","sprintf","useInstanceId","useContext","unlock","DataViewsSelectionCheckbox","DataViewsContext","useIsMultiselectPicker","GridItems","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Badge","GridItem","view","multiselect","selection","onChangeSelection","getItemId","item","mediaField","titleField","descriptionField","regularFields","badgeFields","config","posinset","setsize","showTitle","showMedia","showDescription","id","isSelected","includes","renderedMediaField","render","field","renderedTitleField","Item","children","props","spacing","role","className","onClick","filter","itemId","newSelection","disabled","tabIndex","justify","length","wrap","alignment","map","gap","expanded","style","height","direction","header","maxHeight","GridGroup","groupName","groupField","headerId","label","ViewPickerGrid","actions","data","fields","isLoading","empty","_view$fields","_view$page","_view$perPage","resizeObserverRef","paginationInfo","itemListLabel","find","otherFields","reduce","accumulator","fieldId","f","key","layout","push","hasData","usedPreviewSize","previewSize","isMultiselect","size","groupByField","dataByGroup","groups","getValue","has","set","get","Map","isInfiniteScroll","infiniteScrollEnabled","currentPage","page","perPage","setSize","totalItems","undefined","virtualFocus","orientation","Array","from","entries","groupItems","gridTemplateColumns","ref","posInSet","indexOf","sizes","index"],"sources":["@wordpress/dataviews/src/dataviews-layouts/picker-grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ReactNode } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n\tprivateApis as componentsPrivateApis,\n\tComposite,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport DataViewsContext from '../../components/dataviews-context';\nimport { useIsMultiselectPicker } from '../../components/dataviews-picker/footer';\nimport type {\n\tNormalizedField,\n\tViewPickerGrid as ViewPickerGridType,\n\tViewPickerGridProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport { GridItems } from '../utils/grid-items';\nconst { Badge } = unlock( componentsPrivateApis );\n\ninterface GridItemProps< Item > {\n\tview: ViewPickerGridType;\n\tmultiselect?: boolean;\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\titem: Item;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tregularFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\tconfig: {\n\t\tsizes: string;\n\t};\n\tposinset?: number;\n\tsetsize?: number;\n}\n\nfunction GridItem< Item >( {\n\tview,\n\tmultiselect,\n\tselection,\n\tonChangeSelection,\n\tgetItemId,\n\titem,\n\tmediaField,\n\ttitleField,\n\tdescriptionField,\n\tregularFields,\n\tbadgeFields,\n\tconfig,\n\tposinset,\n\tsetsize,\n}: GridItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render\n\t\t\titem={ item }\n\t\t\tfield={ mediaField }\n\t\t\tconfig={ config }\n\t\t/>\n\t) : null;\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } field={ titleField } />\n\t\t) : null;\n\n\treturn (\n\t\t<Composite.Item\n\t\t\tkey={ id }\n\t\t\trender={ ( { children, ...props } ) => (\n\t\t\t\t<VStack spacing={ 0 } children={ children } { ...props } />\n\t\t\t) }\n\t\t\trole=\"option\"\n\t\t\taria-posinset={ posinset }\n\t\t\taria-setsize={ setsize }\n\t\t\tclassName={ clsx( 'dataviews-view-picker-grid__card', {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\taria-selected={ isSelected }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( isSelected ) {\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tconst newSelection = multiselect\n\t\t\t\t\t\t? [ ...selection, id ]\n\t\t\t\t\t\t: [ id ];\n\t\t\t\t\tonChangeSelection( newSelection );\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ showMedia && renderedMediaField && (\n\t\t\t\t<div className=\"dataviews-view-picker-grid__media\">\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ showMedia && renderedMediaField && (\n\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\tdisabled={ false }\n\t\t\t\t\taria-hidden\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-picker-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<div className=\"dataviews-view-picker-grid__title-field dataviews-title-field\">\n\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t</div>\n\t\t\t</HStack>\n\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t<descriptionField.render\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tfield={ descriptionField }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"dataviews-view-picker-grid__badge-fields\"\n\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t\twrap\n\t\t\t\t\t\talignment=\"top\"\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-picker-grid__field-value\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<field.render\n\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t\t{ !! regularFields?.length && (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-picker-grid__fields\"\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ regularFields.map( ( field ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-picker-grid__field\"\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\t\tdirection=\"row\"\n\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\t\t<FlexItem className=\"dataviews-view-picker-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-picker-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<field.render\n\t\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</Composite.Item>\n\t);\n}\n\nfunction GridGroup< Item >( {\n\tgroupName,\n\tgroupField,\n\tchildren,\n}: {\n\tgroupName: string;\n\tgroupField: NormalizedField< Item >;\n\tchildren: ReactNode;\n} ) {\n\tconst headerId = useInstanceId(\n\t\tGridGroup,\n\t\t'dataviews-view-picker-grid-group__header'\n\t);\n\treturn (\n\t\t<VStack\n\t\t\tkey={ groupName }\n\t\t\tspacing={ 2 }\n\t\t\trole=\"group\"\n\t\t\taria-labelledby={ headerId }\n\t\t>\n\t\t\t<h3\n\t\t\t\tclassName=\"dataviews-view-picker-grid-group__header\"\n\t\t\t\tid={ headerId }\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: 1: The label of the field e.g. \"Date\". 2: The value of the field, e.g.: \"May 2022\".\n\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\tgroupField.label,\n\t\t\t\t\tgroupName\n\t\t\t\t) }\n\t\t\t</h3>\n\t\t\t{ children }\n\t\t</VStack>\n\t);\n}\n\nfunction ViewPickerGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tselection,\n\tview,\n\tclassName,\n\tempty,\n}: ViewPickerGridProps< Item > ) {\n\tconst { resizeObserverRef, paginationInfo, itemListLabel } =\n\t\tuseContext( DataViewsContext );\n\tconst titleField = fields.find(\n\t\t( field ) => field.id === view?.titleField\n\t);\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view?.mediaField\n\t);\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view?.descriptionField\n\t);\n\tconst otherFields = view.fields ?? [];\n\tconst { regularFields, badgeFields } = otherFields.reduce(\n\t\t(\n\t\t\taccumulator: Record< string, NormalizedField< Item >[] >,\n\t\t\tfieldId\n\t\t) => {\n\t\t\tconst field = fields.find( ( f ) => f.id === fieldId );\n\t\t\tif ( ! field ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout?.badgeFields?.includes( fieldId )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'regularFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ regularFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\tconst usedPreviewSize = view.layout?.previewSize;\n\tconst isMultiselect = useIsMultiselectPicker( actions );\n\n\t/*\n\t * This is the maximum width that an image can achieve in the grid. The reasoning is:\n\t * The biggest min image width available is 430px (see /dataviews-layouts/grid/preview-size-picker.tsx).\n\t * Because the grid is responsive, once there is room for another column, the images shrink to accommodate it.\n\t * So each image will never grow past 2*430px plus a little more to account for the gaps.\n\t */\n\tconst size = '900px';\n\n\tconst groupField = view.groupByField\n\t\t? fields.find( ( f ) => f.id === view.groupByField )\n\t\t: null;\n\n\t// Group data by groupByField if specified\n\tconst dataByGroup = groupField\n\t\t? data.reduce( ( groups: Map< string, typeof data >, item ) => {\n\t\t\t\tconst groupName = groupField.getValue( { item } );\n\t\t\t\tif ( ! groups.has( groupName ) ) {\n\t\t\t\t\tgroups.set( groupName, [] );\n\t\t\t\t}\n\t\t\t\tgroups.get( groupName )?.push( item );\n\t\t\t\treturn groups;\n\t\t }, new Map< string, typeof data >() )\n\t\t: null;\n\n\tconst isInfiniteScroll = view.infiniteScrollEnabled && ! dataByGroup;\n\n\tconst currentPage = view?.page ?? 1;\n\tconst perPage = view?.perPage ?? 0;\n\tconst setSize = isInfiniteScroll ? paginationInfo?.totalItems : undefined;\n\n\treturn (\n\t\t<>\n\t\t\t{\n\t\t\t\t// Render multiple groups.\n\t\t\t\thasData && groupField && dataByGroup && (\n\t\t\t\t\t<Composite\n\t\t\t\t\t\tvirtualFocus\n\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\taria-multiselectable={ isMultiselect }\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'dataviews-view-picker-grid',\n\t\t\t\t\t\t\tclassName\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ itemListLabel }\n\t\t\t\t\t\trender={ ( { children, ...props } ) => (\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t\t\tchildren={ children }\n\t\t\t\t\t\t\t\t{ ...props }\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\t\t{ Array.from( dataByGroup.entries() ).map(\n\t\t\t\t\t\t\t( [ groupName, groupItems ] ) => (\n\t\t\t\t\t\t\t\t<GridGroup\n\t\t\t\t\t\t\t\t\tkey={ groupName }\n\t\t\t\t\t\t\t\t\tgroupName={ groupName }\n\t\t\t\t\t\t\t\t\tgroupField={ groupField }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<GridItems\n\t\t\t\t\t\t\t\t\t\tpreviewSize={ usedPreviewSize }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tgridTemplateColumns:\n\t\t\t\t\t\t\t\t\t\t\t\tusedPreviewSize &&\n\t\t\t\t\t\t\t\t\t\t\t\t`repeat(auto-fill, minmax(${ usedPreviewSize }px, 1fr))`,\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t\t\t\t\t\t\tref={\n\t\t\t\t\t\t\t\t\t\t\tresizeObserverRef as React.RefObject< HTMLDivElement >\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\t\t{ groupItems.map( ( item ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst posInSet =\n\t\t\t\t\t\t\t\t\t\t\t\t( currentPage - 1 ) * perPage +\n\t\t\t\t\t\t\t\t\t\t\t\tdata.indexOf( item ) +\n\t\t\t\t\t\t\t\t\t\t\t\t1;\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\t\t\t\tmultiselect={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisMultiselect\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeSelection={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeSelection\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescriptionField\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tregularFields={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tregularFields\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\t\t\t\t\t\tconfig={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsizes: size,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tposinset={ posInSet }\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetsize={ setSize }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t</GridItems>\n\t\t\t\t\t\t\t\t</GridGroup>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Composite>\n\t\t\t\t)\n\t\t\t}\n\n\t\t\t{\n\t\t\t\t// Render a single grid with all data.\n\t\t\t\thasData && ! dataByGroup && (\n\t\t\t\t\t<Composite\n\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t<GridItems\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-picker-grid',\n\t\t\t\t\t\t\t\t\tclassName\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tpreviewSize={ usedPreviewSize }\n\t\t\t\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t\t\t\t\tref={\n\t\t\t\t\t\t\t\t\tresizeObserverRef as React.RefObject< HTMLDivElement >\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\tvirtualFocus\n\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\taria-multiselectable={ isMultiselect }\n\t\t\t\t\t\taria-label={ itemListLabel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ data.map( ( item, index ) => {\n\t\t\t\t\t\t\tlet posinset = isInfiniteScroll\n\t\t\t\t\t\t\t\t? index + 1\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\t\tif ( ! isInfiniteScroll ) {\n\t\t\t\t\t\t\t\t// When infinite scroll isn't active, take pagination into account\n\t\t\t\t\t\t\t\t// when calculating the posinset.\n\t\t\t\t\t\t\t\tposinset =\n\t\t\t\t\t\t\t\t\t( currentPage - 1 ) * perPage + index + 1;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tmultiselect={ isMultiselect }\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\t\tregularFields={ regularFields }\n\t\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\t\tconfig={ {\n\t\t\t\t\t\t\t\t\t\tsizes: size,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tposinset={ posinset }\n\t\t\t\t\t\t\t\t\tsetsize={ setSize }\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</Composite>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{\n\t\t\t\t// Render empty state.\n\t\t\t\t! hasData && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<p>{ isLoading ? <Spinner /> : empty }</p>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{ hasData && isLoading && (\n\t\t\t\t<p className=\"dataviews-loading-more\">\n\t\t\t\t\t<Spinner />\n\t\t\t\t</p>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ViewPickerGrid;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+
5
+ /**
6
+ * WordPress dependencies
7
+ */
8
+ import { forwardRef } from '@wordpress/element';
9
+
10
+ /**
11
+ * External dependencies
12
+ */
13
+ import clsx from 'clsx';
14
+ import { jsx as _jsx } from "react/jsx-runtime";
15
+ export const GridItems = forwardRef(({
16
+ className,
17
+ previewSize,
18
+ ...props
19
+ }, ref) => {
20
+ return /*#__PURE__*/_jsx("div", {
21
+ ref: ref,
22
+ className: clsx('dataviews-view-grid-items', className),
23
+ style: {
24
+ gridTemplateColumns: previewSize && `repeat(auto-fill, minmax(${previewSize}px, 1fr))`
25
+ },
26
+ ...props
27
+ });
28
+ });
29
+ //# sourceMappingURL=grid-items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","clsx","jsx","_jsx","GridItems","className","previewSize","props","ref","style","gridTemplateColumns"],"sources":["@wordpress/dataviews/src/dataviews-layouts/utils/grid-items.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentPropsWithoutRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\nexport const GridItems = forwardRef<\n\tHTMLDivElement,\n\t{\n\t\tclassName?: string;\n\t\tpreviewSize: number | undefined;\n\t} & ComponentPropsWithoutRef< 'div' >\n>( ( { className, previewSize, ...props }, ref ) => {\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ clsx( 'dataviews-view-grid-items', className ) }\n\t\t\tstyle={ {\n\t\t\t\tgridTemplateColumns:\n\t\t\t\t\tpreviewSize &&\n\t\t\t\t\t`repeat(auto-fill, minmax(${ previewSize }px, 1fr))`,\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n} );\n"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,IAAI,MAAM,MAAM;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExB,OAAO,MAAMC,SAAS,GAAGJ,UAAU,CAMhC,CAAE;EAAEK,SAAS;EAAEC,WAAW;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAM;EACnD,oBACCL,IAAA;IACCK,GAAG,EAAGA,GAAK;IACXH,SAAS,EAAGJ,IAAI,CAAE,2BAA2B,EAAEI,SAAU,CAAG;IAC5DI,KAAK,EAAG;MACPC,mBAAmB,EAClBJ,WAAW,IACX,4BAA6BA,WAAW;IAC1C,CAAG;IAAA,GACEC;EAAK,CACV,CAAC;AAEJ,CAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { RangeControl } from '@wordpress/components';
5
+ import { __ } from '@wordpress/i18n';
6
+ import { useContext } from '@wordpress/element';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import DataViewsContext from '../../components/dataviews-context';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ const imageSizes = [{
14
+ value: 120,
15
+ breakpoint: 1
16
+ }, {
17
+ value: 170,
18
+ breakpoint: 1
19
+ }, {
20
+ value: 230,
21
+ breakpoint: 1
22
+ }, {
23
+ value: 290,
24
+ breakpoint: 1112 // at minimum image width, 4 images display at this container size
25
+ }, {
26
+ value: 350,
27
+ breakpoint: 1636 // at minimum image width, 6 images display at this container size
28
+ }, {
29
+ value: 430,
30
+ breakpoint: 588 // at minimum image width, 2 images display at this container size
31
+ }];
32
+ export default function PreviewSizePicker() {
33
+ var _view$layout$previewS, _breakValues$map$filt;
34
+ const context = useContext(DataViewsContext);
35
+ const view = context.view;
36
+ const breakValues = imageSizes.filter(size => {
37
+ return context.containerWidth >= size.breakpoint;
38
+ });
39
+ const layoutPreviewSize = (_view$layout$previewS = view.layout?.previewSize) !== null && _view$layout$previewS !== void 0 ? _view$layout$previewS : 230; // Default to the third smallest size if no preview size is set.
40
+ // If the container has resized and the set preview size is no longer available,
41
+ // we reset it to the next smallest size, or the smallest available size.
42
+ const previewSizeToUse = (_breakValues$map$filt = breakValues.map((size, index) => ({
43
+ ...size,
44
+ index
45
+ })).filter(size => size.value <= layoutPreviewSize).sort((a, b) => b.value - a.value)[0]?.index) !== null && _breakValues$map$filt !== void 0 ? _breakValues$map$filt : 0;
46
+ const marks = breakValues.map((size, index) => {
47
+ return {
48
+ value: index
49
+ };
50
+ });
51
+ return /*#__PURE__*/_jsx(RangeControl, {
52
+ __nextHasNoMarginBottom: true,
53
+ __next40pxDefaultSize: true,
54
+ showTooltip: false,
55
+ label: __('Preview size'),
56
+ value: previewSizeToUse,
57
+ min: 0,
58
+ max: breakValues.length - 1,
59
+ withInputField: false,
60
+ onChange: (value = 0) => {
61
+ context.onChangeView({
62
+ ...view,
63
+ layout: {
64
+ ...view.layout,
65
+ previewSize: breakValues[value].value
66
+ }
67
+ });
68
+ },
69
+ step: 1,
70
+ marks: marks
71
+ });
72
+ }
73
+ //# sourceMappingURL=preview-size-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RangeControl","__","useContext","DataViewsContext","jsx","_jsx","imageSizes","value","breakpoint","PreviewSizePicker","_view$layout$previewS","_breakValues$map$filt","context","view","breakValues","filter","size","containerWidth","layoutPreviewSize","layout","previewSize","previewSizeToUse","map","index","sort","a","b","marks","__nextHasNoMarginBottom","__next40pxDefaultSize","showTooltip","label","min","max","length","withInputField","onChange","onChangeView","step"],"sources":["@wordpress/dataviews/src/dataviews-layouts/utils/preview-size-picker.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RangeControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../../components/dataviews-context';\nimport type { ViewGrid } from '../../types';\n\nconst imageSizes = [\n\t{\n\t\tvalue: 120,\n\t\tbreakpoint: 1,\n\t},\n\t{\n\t\tvalue: 170,\n\t\tbreakpoint: 1,\n\t},\n\t{\n\t\tvalue: 230,\n\t\tbreakpoint: 1,\n\t},\n\t{\n\t\tvalue: 290,\n\t\tbreakpoint: 1112, // at minimum image width, 4 images display at this container size\n\t},\n\t{\n\t\tvalue: 350,\n\t\tbreakpoint: 1636, // at minimum image width, 6 images display at this container size\n\t},\n\t{\n\t\tvalue: 430,\n\t\tbreakpoint: 588, // at minimum image width, 2 images display at this container size\n\t},\n];\n\nexport default function PreviewSizePicker() {\n\tconst context = useContext( DataViewsContext );\n\tconst view = context.view as ViewGrid;\n\n\tconst breakValues = imageSizes.filter( ( size ) => {\n\t\treturn context.containerWidth >= size.breakpoint;\n\t} );\n\n\tconst layoutPreviewSize = view.layout?.previewSize ?? 230; // Default to the third smallest size if no preview size is set.\n\t// If the container has resized and the set preview size is no longer available,\n\t// we reset it to the next smallest size, or the smallest available size.\n\tconst previewSizeToUse =\n\t\tbreakValues\n\t\t\t.map( ( size, index ) => ( { ...size, index } ) )\n\t\t\t.filter( ( size ) => size.value <= layoutPreviewSize )\n\t\t\t.sort( ( a, b ) => b.value - a.value )[ 0 ]?.index ?? 0;\n\n\tconst marks = breakValues.map( ( size, index ) => {\n\t\treturn {\n\t\t\tvalue: index,\n\t\t};\n\t} );\n\n\treturn (\n\t\t<RangeControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tshowTooltip={ false }\n\t\t\tlabel={ __( 'Preview size' ) }\n\t\t\tvalue={ previewSizeToUse }\n\t\t\tmin={ 0 }\n\t\t\tmax={ breakValues.length - 1 }\n\t\t\twithInputField={ false }\n\t\t\tonChange={ ( value = 0 ) => {\n\t\t\t\tcontext.onChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...view.layout,\n\t\t\t\t\t\tpreviewSize: breakValues[ value ].value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tstep={ 1 }\n\t\t\tmarks={ marks }\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,uBAAuB;AACpD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,oCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlE,MAAMC,UAAU,GAAG,CAClB;EACCC,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE;AACb,CAAC,EACD;EACCD,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE;AACb,CAAC,EACD;EACCD,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE;AACb,CAAC,EACD;EACCD,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE,IAAI,CAAE;AACnB,CAAC,EACD;EACCD,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE,IAAI,CAAE;AACnB,CAAC,EACD;EACCD,KAAK,EAAE,GAAG;EACVC,UAAU,EAAE,GAAG,CAAE;AAClB,CAAC,CACD;AAED,eAAe,SAASC,iBAAiBA,CAAA,EAAG;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EAC3C,MAAMC,OAAO,GAAGV,UAAU,CAAEC,gBAAiB,CAAC;EAC9C,MAAMU,IAAI,GAAGD,OAAO,CAACC,IAAgB;EAErC,MAAMC,WAAW,GAAGR,UAAU,CAACS,MAAM,CAAIC,IAAI,IAAM;IAClD,OAAOJ,OAAO,CAACK,cAAc,IAAID,IAAI,CAACR,UAAU;EACjD,CAAE,CAAC;EAEH,MAAMU,iBAAiB,IAAAR,qBAAA,GAAGG,IAAI,CAACM,MAAM,EAAEC,WAAW,cAAAV,qBAAA,cAAAA,qBAAA,GAAI,GAAG,CAAC,CAAC;EAC3D;EACA;EACA,MAAMW,gBAAgB,IAAAV,qBAAA,GACrBG,WAAW,CACTQ,GAAG,CAAE,CAAEN,IAAI,EAAEO,KAAK,MAAQ;IAAE,GAAGP,IAAI;IAAEO;EAAM,CAAC,CAAG,CAAC,CAChDR,MAAM,CAAIC,IAAI,IAAMA,IAAI,CAACT,KAAK,IAAIW,iBAAkB,CAAC,CACrDM,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMA,CAAC,CAACnB,KAAK,GAAGkB,CAAC,CAAClB,KAAM,CAAC,CAAE,CAAC,CAAE,EAAEgB,KAAK,cAAAZ,qBAAA,cAAAA,qBAAA,GAAI,CAAC;EAEzD,MAAMgB,KAAK,GAAGb,WAAW,CAACQ,GAAG,CAAE,CAAEN,IAAI,EAAEO,KAAK,KAAM;IACjD,OAAO;MACNhB,KAAK,EAAEgB;IACR,CAAC;EACF,CAAE,CAAC;EAEH,oBACClB,IAAA,CAACL,YAAY;IACZ4B,uBAAuB;IACvBC,qBAAqB;IACrBC,WAAW,EAAG,KAAO;IACrBC,KAAK,EAAG9B,EAAE,CAAE,cAAe,CAAG;IAC9BM,KAAK,EAAGc,gBAAkB;IAC1BW,GAAG,EAAG,CAAG;IACTC,GAAG,EAAGnB,WAAW,CAACoB,MAAM,GAAG,CAAG;IAC9BC,cAAc,EAAG,KAAO;IACxBC,QAAQ,EAAGA,CAAE7B,KAAK,GAAG,CAAC,KAAM;MAC3BK,OAAO,CAACyB,YAAY,CAAE;QACrB,GAAGxB,IAAI;QACPM,MAAM,EAAE;UACP,GAAGN,IAAI,CAACM,MAAM;UACdC,WAAW,EAAEN,WAAW,CAAEP,KAAK,CAAE,CAACA;QACnC;MACD,CAAE,CAAC;IACJ,CAAG;IACH+B,IAAI,EAAG,CAAG;IACVX,KAAK,EAAGA;EAAO,CACf,CAAC;AAEJ","ignoreList":[]}
@@ -37,7 +37,7 @@ export default {
37
37
  return null;
38
38
  }
39
39
  },
40
- Edit: 'boolean',
40
+ Edit: 'checkbox',
41
41
  render: ({
42
42
  item,
43
43
  field
@@ -1 +1 @@
1
- {"version":3,"names":["__","renderFromElements","OPERATOR_IS","OPERATOR_IS_NOT","sort","a","b","direction","boolA","Boolean","boolB","isValid","custom","item","field","value","getValue","undefined","includes","Edit","render","elements","enableSorting","filterBy","defaultOperators","validOperators"],"sources":["@wordpress/dataviews/src/field-types/boolean.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tSortDirection,\n\tFieldTypeDefinition,\n\tNormalizedField,\n} from '../types';\nimport { renderFromElements } from '../utils';\nimport { OPERATOR_IS, OPERATOR_IS_NOT } from '../constants';\n\nfunction sort( a: any, b: any, direction: SortDirection ) {\n\tconst boolA = Boolean( a );\n\tconst boolB = Boolean( b );\n\n\tif ( boolA === boolB ) {\n\t\treturn 0;\n\t}\n\n\t// In ascending order, false comes before true\n\tif ( direction === 'asc' ) {\n\t\treturn boolA ? 1 : -1;\n\t}\n\n\t// In descending order, true comes before false\n\treturn boolA ? -1 : 1;\n}\n\nexport default {\n\tsort,\n\tisValid: {\n\t\tcustom: ( item: any, field: NormalizedField< any > ) => {\n\t\t\tconst value = field.getValue( { item } );\n\n\t\t\tif (\n\t\t\t\t! [ undefined, '', null ].includes( value ) &&\n\t\t\t\t! [ true, false ].includes( value )\n\t\t\t) {\n\t\t\t\treturn __( 'Value must be true, false, or undefined' );\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t},\n\tEdit: 'boolean',\n\trender: ( { item, field }: DataViewRenderFieldProps< any > ) => {\n\t\tif ( field.elements ) {\n\t\t\treturn renderFromElements( { item, field } );\n\t\t}\n\n\t\tif ( field.getValue( { item } ) === true ) {\n\t\t\treturn __( 'True' );\n\t\t}\n\n\t\tif ( field.getValue( { item } ) === false ) {\n\t\t\treturn __( 'False' );\n\t\t}\n\n\t\treturn null;\n\t},\n\tenableSorting: true,\n\tfilterBy: {\n\t\tdefaultOperators: [ OPERATOR_IS, OPERATOR_IS_NOT ],\n\t\tvalidOperators: [ OPERATOR_IS, OPERATOR_IS_NOT ],\n\t},\n} satisfies FieldTypeDefinition< any >;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;;AAOA,SAASC,kBAAkB,QAAQ,UAAU;AAC7C,SAASC,WAAW,EAAEC,eAAe,QAAQ,cAAc;AAE3D,SAASC,IAAIA,CAAEC,CAAM,EAAEC,CAAM,EAAEC,SAAwB,EAAG;EACzD,MAAMC,KAAK,GAAGC,OAAO,CAAEJ,CAAE,CAAC;EAC1B,MAAMK,KAAK,GAAGD,OAAO,CAAEH,CAAE,CAAC;EAE1B,IAAKE,KAAK,KAAKE,KAAK,EAAG;IACtB,OAAO,CAAC;EACT;;EAEA;EACA,IAAKH,SAAS,KAAK,KAAK,EAAG;IAC1B,OAAOC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;EACtB;;EAEA;EACA,OAAOA,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;AACtB;AAEA,eAAe;EACdJ,IAAI;EACJO,OAAO,EAAE;IACRC,MAAM,EAAEA,CAAEC,IAAS,EAAEC,KAA6B,KAAM;MACvD,MAAMC,KAAK,GAAGD,KAAK,CAACE,QAAQ,CAAE;QAAEH;MAAK,CAAE,CAAC;MAExC,IACC,CAAE,CAAEI,SAAS,EAAE,EAAE,EAAE,IAAI,CAAE,CAACC,QAAQ,CAAEH,KAAM,CAAC,IAC3C,CAAE,CAAE,IAAI,EAAE,KAAK,CAAE,CAACG,QAAQ,CAAEH,KAAM,CAAC,EAClC;QACD,OAAOf,EAAE,CAAE,yCAA0C,CAAC;MACvD;MAEA,OAAO,IAAI;IACZ;EACD,CAAC;EACDmB,IAAI,EAAE,SAAS;EACfC,MAAM,EAAEA,CAAE;IAAEP,IAAI;IAAEC;EAAuC,CAAC,KAAM;IAC/D,IAAKA,KAAK,CAACO,QAAQ,EAAG;MACrB,OAAOpB,kBAAkB,CAAE;QAAEY,IAAI;QAAEC;MAAM,CAAE,CAAC;IAC7C;IAEA,IAAKA,KAAK,CAACE,QAAQ,CAAE;MAAEH;IAAK,CAAE,CAAC,KAAK,IAAI,EAAG;MAC1C,OAAOb,EAAE,CAAE,MAAO,CAAC;IACpB;IAEA,IAAKc,KAAK,CAACE,QAAQ,CAAE;MAAEH;IAAK,CAAE,CAAC,KAAK,KAAK,EAAG;MAC3C,OAAOb,EAAE,CAAE,OAAQ,CAAC;IACrB;IAEA,OAAO,IAAI;EACZ,CAAC;EACDsB,aAAa,EAAE,IAAI;EACnBC,QAAQ,EAAE;IACTC,gBAAgB,EAAE,CAAEtB,WAAW,EAAEC,eAAe,CAAE;IAClDsB,cAAc,EAAE,CAAEvB,WAAW,EAAEC,eAAe;EAC/C;AACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__","renderFromElements","OPERATOR_IS","OPERATOR_IS_NOT","sort","a","b","direction","boolA","Boolean","boolB","isValid","custom","item","field","value","getValue","undefined","includes","Edit","render","elements","enableSorting","filterBy","defaultOperators","validOperators"],"sources":["@wordpress/dataviews/src/field-types/boolean.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tSortDirection,\n\tFieldTypeDefinition,\n\tNormalizedField,\n} from '../types';\nimport { renderFromElements } from '../utils';\nimport { OPERATOR_IS, OPERATOR_IS_NOT } from '../constants';\n\nfunction sort( a: any, b: any, direction: SortDirection ) {\n\tconst boolA = Boolean( a );\n\tconst boolB = Boolean( b );\n\n\tif ( boolA === boolB ) {\n\t\treturn 0;\n\t}\n\n\t// In ascending order, false comes before true\n\tif ( direction === 'asc' ) {\n\t\treturn boolA ? 1 : -1;\n\t}\n\n\t// In descending order, true comes before false\n\treturn boolA ? -1 : 1;\n}\n\nexport default {\n\tsort,\n\tisValid: {\n\t\tcustom: ( item: any, field: NormalizedField< any > ) => {\n\t\t\tconst value = field.getValue( { item } );\n\n\t\t\tif (\n\t\t\t\t! [ undefined, '', null ].includes( value ) &&\n\t\t\t\t! [ true, false ].includes( value )\n\t\t\t) {\n\t\t\t\treturn __( 'Value must be true, false, or undefined' );\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t},\n\tEdit: 'checkbox',\n\trender: ( { item, field }: DataViewRenderFieldProps< any > ) => {\n\t\tif ( field.elements ) {\n\t\t\treturn renderFromElements( { item, field } );\n\t\t}\n\n\t\tif ( field.getValue( { item } ) === true ) {\n\t\t\treturn __( 'True' );\n\t\t}\n\n\t\tif ( field.getValue( { item } ) === false ) {\n\t\t\treturn __( 'False' );\n\t\t}\n\n\t\treturn null;\n\t},\n\tenableSorting: true,\n\tfilterBy: {\n\t\tdefaultOperators: [ OPERATOR_IS, OPERATOR_IS_NOT ],\n\t\tvalidOperators: [ OPERATOR_IS, OPERATOR_IS_NOT ],\n\t},\n} satisfies FieldTypeDefinition< any >;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;;AAOA,SAASC,kBAAkB,QAAQ,UAAU;AAC7C,SAASC,WAAW,EAAEC,eAAe,QAAQ,cAAc;AAE3D,SAASC,IAAIA,CAAEC,CAAM,EAAEC,CAAM,EAAEC,SAAwB,EAAG;EACzD,MAAMC,KAAK,GAAGC,OAAO,CAAEJ,CAAE,CAAC;EAC1B,MAAMK,KAAK,GAAGD,OAAO,CAAEH,CAAE,CAAC;EAE1B,IAAKE,KAAK,KAAKE,KAAK,EAAG;IACtB,OAAO,CAAC;EACT;;EAEA;EACA,IAAKH,SAAS,KAAK,KAAK,EAAG;IAC1B,OAAOC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;EACtB;;EAEA;EACA,OAAOA,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;AACtB;AAEA,eAAe;EACdJ,IAAI;EACJO,OAAO,EAAE;IACRC,MAAM,EAAEA,CAAEC,IAAS,EAAEC,KAA6B,KAAM;MACvD,MAAMC,KAAK,GAAGD,KAAK,CAACE,QAAQ,CAAE;QAAEH;MAAK,CAAE,CAAC;MAExC,IACC,CAAE,CAAEI,SAAS,EAAE,EAAE,EAAE,IAAI,CAAE,CAACC,QAAQ,CAAEH,KAAM,CAAC,IAC3C,CAAE,CAAE,IAAI,EAAE,KAAK,CAAE,CAACG,QAAQ,CAAEH,KAAM,CAAC,EAClC;QACD,OAAOf,EAAE,CAAE,yCAA0C,CAAC;MACvD;MAEA,OAAO,IAAI;IACZ;EACD,CAAC;EACDmB,IAAI,EAAE,UAAU;EAChBC,MAAM,EAAEA,CAAE;IAAEP,IAAI;IAAEC;EAAuC,CAAC,KAAM;IAC/D,IAAKA,KAAK,CAACO,QAAQ,EAAG;MACrB,OAAOpB,kBAAkB,CAAE;QAAEY,IAAI;QAAEC;MAAM,CAAE,CAAC;IAC7C;IAEA,IAAKA,KAAK,CAACE,QAAQ,CAAE;MAAEH;IAAK,CAAE,CAAC,KAAK,IAAI,EAAG;MAC1C,OAAOb,EAAE,CAAE,MAAO,CAAC;IACpB;IAEA,IAAKc,KAAK,CAACE,QAAQ,CAAE;MAAEH;IAAK,CAAE,CAAC,KAAK,KAAK,EAAG;MAC3C,OAAOb,EAAE,CAAE,OAAQ,CAAC;IACrB;IAEA,OAAO,IAAI;EACZ,CAAC;EACDsB,aAAa,EAAE,IAAI;EACnBC,QAAQ,EAAE;IACTC,gBAAgB,EAAE,CAAEtB,WAAW,EAAEC,eAAe,CAAE;IAClDsB,cAAc,EAAE,CAAEvB,WAAW,EAAEC,eAAe;EAC/C;AACD,CAAC","ignoreList":[]}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { colord } from 'colord';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import { __ } from '@wordpress/i18n';
10
+
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+
15
+ import { renderFromElements } from '../utils';
16
+ import { OPERATOR_IS, OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_NOT } from '../constants';
17
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ function sort(valueA, valueB, direction) {
19
+ // Convert colors to HSL for better sorting
20
+ const colorA = colord(valueA);
21
+ const colorB = colord(valueB);
22
+ if (!colorA.isValid() && !colorB.isValid()) {
23
+ return 0;
24
+ }
25
+ if (!colorA.isValid()) {
26
+ return direction === 'asc' ? 1 : -1;
27
+ }
28
+ if (!colorB.isValid()) {
29
+ return direction === 'asc' ? -1 : 1;
30
+ }
31
+
32
+ // Sort by hue, then saturation, then lightness
33
+ const hslA = colorA.toHsl();
34
+ const hslB = colorB.toHsl();
35
+ if (hslA.h !== hslB.h) {
36
+ return direction === 'asc' ? hslA.h - hslB.h : hslB.h - hslA.h;
37
+ }
38
+ if (hslA.s !== hslB.s) {
39
+ return direction === 'asc' ? hslA.s - hslB.s : hslB.s - hslA.s;
40
+ }
41
+ return direction === 'asc' ? hslA.l - hslB.l : hslB.l - hslA.l;
42
+ }
43
+ export default {
44
+ sort,
45
+ isValid: {
46
+ custom: (item, field) => {
47
+ const value = field.getValue({
48
+ item
49
+ });
50
+ if (![undefined, '', null].includes(value) && !colord(value).isValid()) {
51
+ return __('Value must be a valid color.');
52
+ }
53
+ if (field.elements) {
54
+ const validValues = field.elements.map(f => f.value);
55
+ if (!validValues.includes(value)) {
56
+ return __('Value must be one of the elements.');
57
+ }
58
+ }
59
+ return null;
60
+ }
61
+ },
62
+ Edit: 'color',
63
+ render: ({
64
+ item,
65
+ field
66
+ }) => {
67
+ if (field.elements) {
68
+ return renderFromElements({
69
+ item,
70
+ field
71
+ });
72
+ }
73
+ const value = field.getValue({
74
+ item
75
+ });
76
+ if (!value || !colord(value).isValid()) {
77
+ return value;
78
+ }
79
+
80
+ // Render color with visual preview
81
+ return /*#__PURE__*/_jsxs("div", {
82
+ style: {
83
+ display: 'flex',
84
+ alignItems: 'center',
85
+ gap: '8px'
86
+ },
87
+ children: [/*#__PURE__*/_jsx("div", {
88
+ style: {
89
+ width: '16px',
90
+ height: '16px',
91
+ borderRadius: '50%',
92
+ backgroundColor: value,
93
+ border: '1px solid #ddd',
94
+ flexShrink: 0
95
+ }
96
+ }), /*#__PURE__*/_jsx("span", {
97
+ children: value
98
+ })]
99
+ });
100
+ },
101
+ enableSorting: true,
102
+ filterBy: {
103
+ defaultOperators: [OPERATOR_IS_ANY, OPERATOR_IS_NONE],
104
+ validOperators: [OPERATOR_IS, OPERATOR_IS_NOT]
105
+ }
106
+ };
107
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["colord","__","renderFromElements","OPERATOR_IS","OPERATOR_IS_ANY","OPERATOR_IS_NONE","OPERATOR_IS_NOT","jsx","_jsx","jsxs","_jsxs","sort","valueA","valueB","direction","colorA","colorB","isValid","hslA","toHsl","hslB","h","s","l","custom","item","field","value","getValue","undefined","includes","elements","validValues","map","f","Edit","render","style","display","alignItems","gap","children","width","height","borderRadius","backgroundColor","border","flexShrink","enableSorting","filterBy","defaultOperators","validOperators"],"sources":["@wordpress/dataviews/src/field-types/color.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tSortDirection,\n\tNormalizedField,\n\tFieldTypeDefinition,\n} from '../types';\nimport { renderFromElements } from '../utils';\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_NOT,\n} from '../constants';\n\nfunction sort( valueA: any, valueB: any, direction: SortDirection ) {\n\t// Convert colors to HSL for better sorting\n\tconst colorA = colord( valueA );\n\tconst colorB = colord( valueB );\n\n\tif ( ! colorA.isValid() && ! colorB.isValid() ) {\n\t\treturn 0;\n\t}\n\tif ( ! colorA.isValid() ) {\n\t\treturn direction === 'asc' ? 1 : -1;\n\t}\n\tif ( ! colorB.isValid() ) {\n\t\treturn direction === 'asc' ? -1 : 1;\n\t}\n\n\t// Sort by hue, then saturation, then lightness\n\tconst hslA = colorA.toHsl();\n\tconst hslB = colorB.toHsl();\n\n\tif ( hslA.h !== hslB.h ) {\n\t\treturn direction === 'asc' ? hslA.h - hslB.h : hslB.h - hslA.h;\n\t}\n\tif ( hslA.s !== hslB.s ) {\n\t\treturn direction === 'asc' ? hslA.s - hslB.s : hslB.s - hslA.s;\n\t}\n\treturn direction === 'asc' ? hslA.l - hslB.l : hslB.l - hslA.l;\n}\n\nexport default {\n\tsort,\n\tisValid: {\n\t\tcustom: ( item: any, field: NormalizedField< any > ) => {\n\t\t\tconst value = field.getValue( { item } );\n\n\t\t\tif (\n\t\t\t\t! [ undefined, '', null ].includes( value ) &&\n\t\t\t\t! colord( value ).isValid()\n\t\t\t) {\n\t\t\t\treturn __( 'Value must be a valid color.' );\n\t\t\t}\n\n\t\t\tif ( field.elements ) {\n\t\t\t\tconst validValues = field.elements.map( ( f ) => f.value );\n\t\t\t\tif ( ! validValues.includes( value ) ) {\n\t\t\t\t\treturn __( 'Value must be one of the elements.' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t},\n\tEdit: 'color',\n\trender: ( { item, field }: DataViewRenderFieldProps< any > ) => {\n\t\tif ( field.elements ) {\n\t\t\treturn renderFromElements( { item, field } );\n\t\t}\n\n\t\tconst value = field.getValue( { item } );\n\n\t\tif ( ! value || ! colord( value ).isValid() ) {\n\t\t\treturn value;\n\t\t}\n\n\t\t// Render color with visual preview\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={ { display: 'flex', alignItems: 'center', gap: '8px' } }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '16px',\n\t\t\t\t\t\theight: '16px',\n\t\t\t\t\t\tborderRadius: '50%',\n\t\t\t\t\t\tbackgroundColor: value,\n\t\t\t\t\t\tborder: '1px solid #ddd',\n\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<span>{ value }</span>\n\t\t\t</div>\n\t\t);\n\t},\n\tenableSorting: true,\n\tfilterBy: {\n\t\tdefaultOperators: [ OPERATOR_IS_ANY, OPERATOR_IS_NONE ],\n\t\tvalidOperators: [ OPERATOR_IS, OPERATOR_IS_NOT ],\n\t},\n} satisfies FieldTypeDefinition< any >;\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,9 @@ import { default as date } from './date';
15
15
  import { default as boolean } from './boolean';
16
16
  import { default as media } from './media';
17
17
  import { default as array } from './array';
18
+ import { default as telephone } from './telephone';
19
+ import { default as color } from './color';
20
+ import { default as url } from './url';
18
21
  import { renderFromElements } from '../utils';
19
22
  import { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT } from '../constants';
20
23
 
@@ -49,6 +52,15 @@ export default function getFieldTypeDefinition(type) {
49
52
  if ('array' === type) {
50
53
  return array;
51
54
  }
55
+ if ('telephone' === type) {
56
+ return telephone;
57
+ }
58
+ if ('color' === type) {
59
+ return color;
60
+ }
61
+ if ('url' === type) {
62
+ return url;
63
+ }
52
64
 
53
65
  // This is a fallback for fields that don't provide a type.
54
66
  // It can be removed when the field.type is mandatory.
@@ -1 +1 @@
1
- {"version":3,"names":["__","default","email","integer","text","datetime","date","boolean","media","array","renderFromElements","ALL_OPERATORS","OPERATOR_IS","OPERATOR_IS_NOT","getFieldTypeDefinition","type","sort","a","b","direction","localeCompare","isValid","custom","item","field","elements","value","getValue","validValues","map","f","includes","Edit","render","enableSorting","filterBy","defaultOperators","validOperators"],"sources":["@wordpress/dataviews/src/field-types/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tNormalizedField,\n\tFieldType,\n\tFieldTypeDefinition,\n\tSortDirection,\n} from '../types';\nimport { default as email } from './email';\nimport { default as integer } from './integer';\nimport { default as text } from './text';\nimport { default as datetime } from './datetime';\nimport { default as date } from './date';\nimport { default as boolean } from './boolean';\nimport { default as media } from './media';\nimport { default as array } from './array';\nimport { renderFromElements } from '../utils';\nimport { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT } from '../constants';\n\n/**\n *\n * @param {FieldType} type The field type definition to get.\n *\n * @return A field type definition.\n */\nexport default function getFieldTypeDefinition< Item >(\n\ttype?: FieldType\n): FieldTypeDefinition< Item > {\n\tif ( 'email' === type ) {\n\t\treturn email;\n\t}\n\n\tif ( 'integer' === type ) {\n\t\treturn integer;\n\t}\n\n\tif ( 'text' === type ) {\n\t\treturn text;\n\t}\n\n\tif ( 'datetime' === type ) {\n\t\treturn datetime;\n\t}\n\n\tif ( 'date' === type ) {\n\t\treturn date;\n\t}\n\n\tif ( 'boolean' === type ) {\n\t\treturn boolean;\n\t}\n\n\tif ( 'media' === type ) {\n\t\treturn media;\n\t}\n\n\tif ( 'array' === type ) {\n\t\treturn array;\n\t}\n\n\t// This is a fallback for fields that don't provide a type.\n\t// It can be removed when the field.type is mandatory.\n\treturn {\n\t\tsort: ( a: any, b: any, direction: SortDirection ) => {\n\t\t\tif ( typeof a === 'number' && typeof b === 'number' ) {\n\t\t\t\treturn direction === 'asc' ? a - b : b - a;\n\t\t\t}\n\n\t\t\treturn direction === 'asc'\n\t\t\t\t? a.localeCompare( b )\n\t\t\t\t: b.localeCompare( a );\n\t\t},\n\t\tisValid: {\n\t\t\tcustom: ( item: any, field: NormalizedField< any > ) => {\n\t\t\t\tif ( field?.elements ) {\n\t\t\t\t\tconst value = field.getValue( { item } );\n\t\t\t\t\tconst validValues = field?.elements?.map(\n\t\t\t\t\t\t( f ) => f.value\n\t\t\t\t\t);\n\t\t\t\t\tif ( ! validValues.includes( value ) ) {\n\t\t\t\t\t\treturn __( 'Value must be one of the elements.' );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t},\n\t\t},\n\t\tEdit: null,\n\t\trender: ( { item, field }: DataViewRenderFieldProps< Item > ) => {\n\t\t\treturn field.elements\n\t\t\t\t? renderFromElements( { item, field } )\n\t\t\t\t: field.getValue( { item } );\n\t\t},\n\t\tenableSorting: true,\n\t\tfilterBy: {\n\t\t\tdefaultOperators: [ OPERATOR_IS, OPERATOR_IS_NOT ],\n\t\t\tvalidOperators: ALL_OPERATORS,\n\t\t},\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;;AAQA,SAASC,OAAO,IAAIC,KAAK,QAAQ,SAAS;AAC1C,SAASD,OAAO,IAAIE,OAAO,QAAQ,WAAW;AAC9C,SAASF,OAAO,IAAIG,IAAI,QAAQ,QAAQ;AACxC,SAASH,OAAO,IAAII,QAAQ,QAAQ,YAAY;AAChD,SAASJ,OAAO,IAAIK,IAAI,QAAQ,QAAQ;AACxC,SAASL,OAAO,IAAIM,OAAO,QAAQ,WAAW;AAC9C,SAASN,OAAO,IAAIO,KAAK,QAAQ,SAAS;AAC1C,SAASP,OAAO,IAAIQ,KAAK,QAAQ,SAAS;AAC1C,SAASC,kBAAkB,QAAQ,UAAU;AAC7C,SAASC,aAAa,EAAEC,WAAW,EAAEC,eAAe,QAAQ,cAAc;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,sBAAsBA,CAC7CC,IAAgB,EACc;EAC9B,IAAK,OAAO,KAAKA,IAAI,EAAG;IACvB,OAAOb,KAAK;EACb;EAEA,IAAK,SAAS,KAAKa,IAAI,EAAG;IACzB,OAAOZ,OAAO;EACf;EAEA,IAAK,MAAM,KAAKY,IAAI,EAAG;IACtB,OAAOX,IAAI;EACZ;EAEA,IAAK,UAAU,KAAKW,IAAI,EAAG;IAC1B,OAAOV,QAAQ;EAChB;EAEA,IAAK,MAAM,KAAKU,IAAI,EAAG;IACtB,OAAOT,IAAI;EACZ;EAEA,IAAK,SAAS,KAAKS,IAAI,EAAG;IACzB,OAAOR,OAAO;EACf;EAEA,IAAK,OAAO,KAAKQ,IAAI,EAAG;IACvB,OAAOP,KAAK;EACb;EAEA,IAAK,OAAO,KAAKO,IAAI,EAAG;IACvB,OAAON,KAAK;EACb;;EAEA;EACA;EACA,OAAO;IACNO,IAAI,EAAEA,CAAEC,CAAM,EAAEC,CAAM,EAAEC,SAAwB,KAAM;MACrD,IAAK,OAAOF,CAAC,KAAK,QAAQ,IAAI,OAAOC,CAAC,KAAK,QAAQ,EAAG;QACrD,OAAOC,SAAS,KAAK,KAAK,GAAGF,CAAC,GAAGC,CAAC,GAAGA,CAAC,GAAGD,CAAC;MAC3C;MAEA,OAAOE,SAAS,KAAK,KAAK,GACvBF,CAAC,CAACG,aAAa,CAAEF,CAAE,CAAC,GACpBA,CAAC,CAACE,aAAa,CAAEH,CAAE,CAAC;IACxB,CAAC;IACDI,OAAO,EAAE;MACRC,MAAM,EAAEA,CAAEC,IAAS,EAAEC,KAA6B,KAAM;QACvD,IAAKA,KAAK,EAAEC,QAAQ,EAAG;UACtB,MAAMC,KAAK,GAAGF,KAAK,CAACG,QAAQ,CAAE;YAAEJ;UAAK,CAAE,CAAC;UACxC,MAAMK,WAAW,GAAGJ,KAAK,EAAEC,QAAQ,EAAEI,GAAG,CACrCC,CAAC,IAAMA,CAAC,CAACJ,KACZ,CAAC;UACD,IAAK,CAAEE,WAAW,CAACG,QAAQ,CAAEL,KAAM,CAAC,EAAG;YACtC,OAAO1B,EAAE,CAAE,oCAAqC,CAAC;UAClD;QACD;QAEA,OAAO,IAAI;MACZ;IACD,CAAC;IACDgC,IAAI,EAAE,IAAI;IACVC,MAAM,EAAEA,CAAE;MAAEV,IAAI;MAAEC;IAAwC,CAAC,KAAM;MAChE,OAAOA,KAAK,CAACC,QAAQ,GAClBf,kBAAkB,CAAE;QAAEa,IAAI;QAAEC;MAAM,CAAE,CAAC,GACrCA,KAAK,CAACG,QAAQ,CAAE;QAAEJ;MAAK,CAAE,CAAC;IAC9B,CAAC;IACDW,aAAa,EAAE,IAAI;IACnBC,QAAQ,EAAE;MACTC,gBAAgB,EAAE,CAAExB,WAAW,EAAEC,eAAe,CAAE;MAClDwB,cAAc,EAAE1B;IACjB;EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["__","default","email","integer","text","datetime","date","boolean","media","array","telephone","color","url","renderFromElements","ALL_OPERATORS","OPERATOR_IS","OPERATOR_IS_NOT","getFieldTypeDefinition","type","sort","a","b","direction","localeCompare","isValid","custom","item","field","elements","value","getValue","validValues","map","f","includes","Edit","render","enableSorting","filterBy","defaultOperators","validOperators"],"sources":["@wordpress/dataviews/src/field-types/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tNormalizedField,\n\tFieldType,\n\tFieldTypeDefinition,\n\tSortDirection,\n} from '../types';\nimport { default as email } from './email';\nimport { default as integer } from './integer';\nimport { default as text } from './text';\nimport { default as datetime } from './datetime';\nimport { default as date } from './date';\nimport { default as boolean } from './boolean';\nimport { default as media } from './media';\nimport { default as array } from './array';\nimport { default as telephone } from './telephone';\nimport { default as color } from './color';\nimport { default as url } from './url';\nimport { renderFromElements } from '../utils';\nimport { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT } from '../constants';\n\n/**\n *\n * @param {FieldType} type The field type definition to get.\n *\n * @return A field type definition.\n */\nexport default function getFieldTypeDefinition< Item >(\n\ttype?: FieldType\n): FieldTypeDefinition< Item > {\n\tif ( 'email' === type ) {\n\t\treturn email;\n\t}\n\n\tif ( 'integer' === type ) {\n\t\treturn integer;\n\t}\n\n\tif ( 'text' === type ) {\n\t\treturn text;\n\t}\n\n\tif ( 'datetime' === type ) {\n\t\treturn datetime;\n\t}\n\n\tif ( 'date' === type ) {\n\t\treturn date;\n\t}\n\n\tif ( 'boolean' === type ) {\n\t\treturn boolean;\n\t}\n\n\tif ( 'media' === type ) {\n\t\treturn media;\n\t}\n\n\tif ( 'array' === type ) {\n\t\treturn array;\n\t}\n\n\tif ( 'telephone' === type ) {\n\t\treturn telephone;\n\t}\n\n\tif ( 'color' === type ) {\n\t\treturn color;\n\t}\n\n\tif ( 'url' === type ) {\n\t\treturn url;\n\t}\n\n\t// This is a fallback for fields that don't provide a type.\n\t// It can be removed when the field.type is mandatory.\n\treturn {\n\t\tsort: ( a: any, b: any, direction: SortDirection ) => {\n\t\t\tif ( typeof a === 'number' && typeof b === 'number' ) {\n\t\t\t\treturn direction === 'asc' ? a - b : b - a;\n\t\t\t}\n\n\t\t\treturn direction === 'asc'\n\t\t\t\t? a.localeCompare( b )\n\t\t\t\t: b.localeCompare( a );\n\t\t},\n\t\tisValid: {\n\t\t\tcustom: ( item: any, field: NormalizedField< any > ) => {\n\t\t\t\tif ( field?.elements ) {\n\t\t\t\t\tconst value = field.getValue( { item } );\n\t\t\t\t\tconst validValues = field?.elements?.map(\n\t\t\t\t\t\t( f ) => f.value\n\t\t\t\t\t);\n\t\t\t\t\tif ( ! validValues.includes( value ) ) {\n\t\t\t\t\t\treturn __( 'Value must be one of the elements.' );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t},\n\t\t},\n\t\tEdit: null,\n\t\trender: ( { item, field }: DataViewRenderFieldProps< Item > ) => {\n\t\t\treturn field.elements\n\t\t\t\t? renderFromElements( { item, field } )\n\t\t\t\t: field.getValue( { item } );\n\t\t},\n\t\tenableSorting: true,\n\t\tfilterBy: {\n\t\t\tdefaultOperators: [ OPERATOR_IS, OPERATOR_IS_NOT ],\n\t\t\tvalidOperators: ALL_OPERATORS,\n\t\t},\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+
10
+ import { renderFromElements } from '../utils';
11
+ import { OPERATOR_IS, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL, OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_NOT, OPERATOR_CONTAINS, OPERATOR_NOT_CONTAINS, OPERATOR_STARTS_WITH } from '../constants';
12
+ function sort(valueA, valueB, direction) {
13
+ return direction === 'asc' ? valueA.localeCompare(valueB) : valueB.localeCompare(valueA);
14
+ }
15
+ export default {
16
+ sort,
17
+ isValid: {
18
+ custom: (item, field) => {
19
+ const value = field.getValue({
20
+ item
21
+ });
22
+ if (field?.elements) {
23
+ const validValues = field.elements.map(f => f.value);
24
+ if (!validValues.includes(value)) {
25
+ return __('Value must be one of the elements.');
26
+ }
27
+ }
28
+ return null;
29
+ }
30
+ },
31
+ Edit: 'telephone',
32
+ render: ({
33
+ item,
34
+ field
35
+ }) => {
36
+ return field.elements ? renderFromElements({
37
+ item,
38
+ field
39
+ }) : field.getValue({
40
+ item
41
+ });
42
+ },
43
+ enableSorting: true,
44
+ filterBy: {
45
+ defaultOperators: [OPERATOR_IS_ANY, OPERATOR_IS_NONE],
46
+ validOperators: [OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_CONTAINS, OPERATOR_NOT_CONTAINS, OPERATOR_STARTS_WITH,
47
+ // Multiple selection
48
+ OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL]
49
+ }
50
+ };
51
+ //# sourceMappingURL=telephone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","renderFromElements","OPERATOR_IS","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_IS_ANY","OPERATOR_IS_NONE","OPERATOR_IS_NOT","OPERATOR_CONTAINS","OPERATOR_NOT_CONTAINS","OPERATOR_STARTS_WITH","sort","valueA","valueB","direction","localeCompare","isValid","custom","item","field","value","getValue","elements","validValues","map","f","includes","Edit","render","enableSorting","filterBy","defaultOperators","validOperators"],"sources":["@wordpress/dataviews/src/field-types/telephone.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tSortDirection,\n\tNormalizedField,\n\tFieldTypeDefinition,\n} from '../types';\nimport { renderFromElements } from '../utils';\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n} from '../constants';\n\nfunction sort( valueA: any, valueB: any, direction: SortDirection ) {\n\treturn direction === 'asc'\n\t\t? valueA.localeCompare( valueB )\n\t\t: valueB.localeCompare( valueA );\n}\n\nexport default {\n\tsort,\n\tisValid: {\n\t\tcustom: ( item: any, field: NormalizedField< any > ) => {\n\t\t\tconst value = field.getValue( { item } );\n\t\t\tif ( field?.elements ) {\n\t\t\t\tconst validValues = field.elements.map( ( f ) => f.value );\n\t\t\t\tif ( ! validValues.includes( value ) ) {\n\t\t\t\t\treturn __( 'Value must be one of the elements.' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t},\n\tEdit: 'telephone',\n\trender: ( { item, field }: DataViewRenderFieldProps< any > ) => {\n\t\treturn field.elements\n\t\t\t? renderFromElements( { item, field } )\n\t\t\t: field.getValue( { item } );\n\t},\n\tenableSorting: true,\n\tfilterBy: {\n\t\tdefaultOperators: [ OPERATOR_IS_ANY, OPERATOR_IS_NONE ],\n\t\tvalidOperators: [\n\t\t\tOPERATOR_IS,\n\t\t\tOPERATOR_IS_NOT,\n\t\t\tOPERATOR_CONTAINS,\n\t\t\tOPERATOR_NOT_CONTAINS,\n\t\t\tOPERATOR_STARTS_WITH,\n\t\t\t// Multiple selection\n\t\t\tOPERATOR_IS_ANY,\n\t\t\tOPERATOR_IS_NONE,\n\t\t\tOPERATOR_IS_ALL,\n\t\t\tOPERATOR_IS_NOT_ALL,\n\t\t],\n\t},\n} satisfies FieldTypeDefinition< any >;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;;AAOA,SAASC,kBAAkB,QAAQ,UAAU;AAC7C,SACCC,WAAW,EACXC,eAAe,EACfC,mBAAmB,EACnBC,eAAe,EACfC,gBAAgB,EAChBC,eAAe,EACfC,iBAAiB,EACjBC,qBAAqB,EACrBC,oBAAoB,QACd,cAAc;AAErB,SAASC,IAAIA,CAAEC,MAAW,EAAEC,MAAW,EAAEC,SAAwB,EAAG;EACnE,OAAOA,SAAS,KAAK,KAAK,GACvBF,MAAM,CAACG,aAAa,CAAEF,MAAO,CAAC,GAC9BA,MAAM,CAACE,aAAa,CAAEH,MAAO,CAAC;AAClC;AAEA,eAAe;EACdD,IAAI;EACJK,OAAO,EAAE;IACRC,MAAM,EAAEA,CAAEC,IAAS,EAAEC,KAA6B,KAAM;MACvD,MAAMC,KAAK,GAAGD,KAAK,CAACE,QAAQ,CAAE;QAAEH;MAAK,CAAE,CAAC;MACxC,IAAKC,KAAK,EAAEG,QAAQ,EAAG;QACtB,MAAMC,WAAW,GAAGJ,KAAK,CAACG,QAAQ,CAACE,GAAG,CAAIC,CAAC,IAAMA,CAAC,CAACL,KAAM,CAAC;QAC1D,IAAK,CAAEG,WAAW,CAACG,QAAQ,CAAEN,KAAM,CAAC,EAAG;UACtC,OAAOpB,EAAE,CAAE,oCAAqC,CAAC;QAClD;MACD;MAEA,OAAO,IAAI;IACZ;EACD,CAAC;EACD2B,IAAI,EAAE,WAAW;EACjBC,MAAM,EAAEA,CAAE;IAAEV,IAAI;IAAEC;EAAuC,CAAC,KAAM;IAC/D,OAAOA,KAAK,CAACG,QAAQ,GAClBrB,kBAAkB,CAAE;MAAEiB,IAAI;MAAEC;IAAM,CAAE,CAAC,GACrCA,KAAK,CAACE,QAAQ,CAAE;MAAEH;IAAK,CAAE,CAAC;EAC9B,CAAC;EACDW,aAAa,EAAE,IAAI;EACnBC,QAAQ,EAAE;IACTC,gBAAgB,EAAE,CAAE1B,eAAe,EAAEC,gBAAgB,CAAE;IACvD0B,cAAc,EAAE,CACf9B,WAAW,EACXK,eAAe,EACfC,iBAAiB,EACjBC,qBAAqB,EACrBC,oBAAoB;IACpB;IACAL,eAAe,EACfC,gBAAgB,EAChBH,eAAe,EACfC,mBAAmB;EAErB;AACD,CAAC","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+
10
+ import { renderFromElements } from '../utils';
11
+ import { OPERATOR_IS, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL, OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_NOT, OPERATOR_CONTAINS, OPERATOR_NOT_CONTAINS, OPERATOR_STARTS_WITH } from '../constants';
12
+ function sort(valueA, valueB, direction) {
13
+ return direction === 'asc' ? valueA.localeCompare(valueB) : valueB.localeCompare(valueA);
14
+ }
15
+ export default {
16
+ sort,
17
+ isValid: {
18
+ custom: (item, field) => {
19
+ const value = field.getValue({
20
+ item
21
+ });
22
+ if (field?.elements) {
23
+ const validValues = field.elements.map(f => f.value);
24
+ if (!validValues.includes(value)) {
25
+ return __('Value must be one of the elements.');
26
+ }
27
+ }
28
+ return null;
29
+ }
30
+ },
31
+ Edit: 'url',
32
+ render: ({
33
+ item,
34
+ field
35
+ }) => {
36
+ return field.elements ? renderFromElements({
37
+ item,
38
+ field
39
+ }) : field.getValue({
40
+ item
41
+ });
42
+ },
43
+ enableSorting: true,
44
+ filterBy: {
45
+ defaultOperators: [OPERATOR_IS_ANY, OPERATOR_IS_NONE],
46
+ validOperators: [OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_CONTAINS, OPERATOR_NOT_CONTAINS, OPERATOR_STARTS_WITH,
47
+ // Multiple selection
48
+ OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL]
49
+ }
50
+ };
51
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","renderFromElements","OPERATOR_IS","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_IS_ANY","OPERATOR_IS_NONE","OPERATOR_IS_NOT","OPERATOR_CONTAINS","OPERATOR_NOT_CONTAINS","OPERATOR_STARTS_WITH","sort","valueA","valueB","direction","localeCompare","isValid","custom","item","field","value","getValue","elements","validValues","map","f","includes","Edit","render","enableSorting","filterBy","defaultOperators","validOperators"],"sources":["@wordpress/dataviews/src/field-types/url.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tDataViewRenderFieldProps,\n\tSortDirection,\n\tNormalizedField,\n\tFieldTypeDefinition,\n} from '../types';\nimport { renderFromElements } from '../utils';\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n} from '../constants';\n\nfunction sort( valueA: any, valueB: any, direction: SortDirection ) {\n\treturn direction === 'asc'\n\t\t? valueA.localeCompare( valueB )\n\t\t: valueB.localeCompare( valueA );\n}\n\nexport default {\n\tsort,\n\tisValid: {\n\t\tcustom: ( item: any, field: NormalizedField< any > ) => {\n\t\t\tconst value = field.getValue( { item } );\n\t\t\tif ( field?.elements ) {\n\t\t\t\tconst validValues = field.elements.map( ( f ) => f.value );\n\t\t\t\tif ( ! validValues.includes( value ) ) {\n\t\t\t\t\treturn __( 'Value must be one of the elements.' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t},\n\tEdit: 'url',\n\trender: ( { item, field }: DataViewRenderFieldProps< any > ) => {\n\t\treturn field.elements\n\t\t\t? renderFromElements( { item, field } )\n\t\t\t: field.getValue( { item } );\n\t},\n\tenableSorting: true,\n\tfilterBy: {\n\t\tdefaultOperators: [ OPERATOR_IS_ANY, OPERATOR_IS_NONE ],\n\t\tvalidOperators: [\n\t\t\tOPERATOR_IS,\n\t\t\tOPERATOR_IS_NOT,\n\t\t\tOPERATOR_CONTAINS,\n\t\t\tOPERATOR_NOT_CONTAINS,\n\t\t\tOPERATOR_STARTS_WITH,\n\t\t\t// Multiple selection\n\t\t\tOPERATOR_IS_ANY,\n\t\t\tOPERATOR_IS_NONE,\n\t\t\tOPERATOR_IS_ALL,\n\t\t\tOPERATOR_IS_NOT_ALL,\n\t\t],\n\t},\n} satisfies FieldTypeDefinition< any >;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;;AAOA,SAASC,kBAAkB,QAAQ,UAAU;AAC7C,SACCC,WAAW,EACXC,eAAe,EACfC,mBAAmB,EACnBC,eAAe,EACfC,gBAAgB,EAChBC,eAAe,EACfC,iBAAiB,EACjBC,qBAAqB,EACrBC,oBAAoB,QACd,cAAc;AAErB,SAASC,IAAIA,CAAEC,MAAW,EAAEC,MAAW,EAAEC,SAAwB,EAAG;EACnE,OAAOA,SAAS,KAAK,KAAK,GACvBF,MAAM,CAACG,aAAa,CAAEF,MAAO,CAAC,GAC9BA,MAAM,CAACE,aAAa,CAAEH,MAAO,CAAC;AAClC;AAEA,eAAe;EACdD,IAAI;EACJK,OAAO,EAAE;IACRC,MAAM,EAAEA,CAAEC,IAAS,EAAEC,KAA6B,KAAM;MACvD,MAAMC,KAAK,GAAGD,KAAK,CAACE,QAAQ,CAAE;QAAEH;MAAK,CAAE,CAAC;MACxC,IAAKC,KAAK,EAAEG,QAAQ,EAAG;QACtB,MAAMC,WAAW,GAAGJ,KAAK,CAACG,QAAQ,CAACE,GAAG,CAAIC,CAAC,IAAMA,CAAC,CAACL,KAAM,CAAC;QAC1D,IAAK,CAAEG,WAAW,CAACG,QAAQ,CAAEN,KAAM,CAAC,EAAG;UACtC,OAAOpB,EAAE,CAAE,oCAAqC,CAAC;QAClD;MACD;MAEA,OAAO,IAAI;IACZ;EACD,CAAC;EACD2B,IAAI,EAAE,KAAK;EACXC,MAAM,EAAEA,CAAE;IAAEV,IAAI;IAAEC;EAAuC,CAAC,KAAM;IAC/D,OAAOA,KAAK,CAACG,QAAQ,GAClBrB,kBAAkB,CAAE;MAAEiB,IAAI;MAAEC;IAAM,CAAE,CAAC,GACrCA,KAAK,CAACE,QAAQ,CAAE;MAAEH;IAAK,CAAE,CAAC;EAC9B,CAAC;EACDW,aAAa,EAAE,IAAI;EACnBC,QAAQ,EAAE;IACTC,gBAAgB,EAAE,CAAE1B,eAAe,EAAEC,gBAAgB,CAAE;IACvD0B,cAAc,EAAE,CACf9B,WAAW,EACXK,eAAe,EACfC,iBAAiB,EACjBC,qBAAqB,EACrBC,oBAAoB;IACpB;IACAL,eAAe,EACfC,gBAAgB,EAChBH,eAAe,EACfC,mBAAmB;EAErB;AACD,CAAC","ignoreList":[]}
@@ -44,6 +44,12 @@ export function normalizeLayout(layout) {
44
44
  isOpened: typeof layout.isOpened === 'boolean' ? layout.isOpened : true
45
45
  };
46
46
  }
47
+ } else if (layout?.type === 'row') {
48
+ var _layout$alignment;
49
+ normalizedLayout = {
50
+ type: 'row',
51
+ alignment: (_layout$alignment = layout?.alignment) !== null && _layout$alignment !== void 0 ? _layout$alignment : 'center'
52
+ };
47
53
  }
48
54
  return normalizedLayout;
49
55
  }
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_LAYOUT","type","labelPosition","normalizeLayout","layout","normalizedLayout","_layout$labelPosition","_layout$labelPosition2","_layout$openAs","openAs","withHeader","isOpened","normalizeFormFields","form","_form$fields","formLayout","fields","map","field","id","fieldLayout"],"sources":["@wordpress/dataviews/src/normalize-form-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type {\n\tForm,\n\tLayout,\n\tNormalizedLayout,\n\tNormalizedRegularLayout,\n\tNormalizedPanelLayout,\n\tNormalizedCardLayout,\n} from './types';\n\ninterface NormalizedFormField {\n\tid: string;\n\tlayout: Layout;\n}\n\nexport const DEFAULT_LAYOUT: NormalizedLayout = {\n\ttype: 'regular',\n\tlabelPosition: 'top',\n};\n\n/**\n * Normalizes a layout configuration based on its type.\n *\n * @param layout The layout object to normalize.\n * @return The normalized layout object.\n */\nexport function normalizeLayout( layout?: Layout ): NormalizedLayout {\n\tlet normalizedLayout = DEFAULT_LAYOUT;\n\n\tif ( layout?.type === 'regular' ) {\n\t\tnormalizedLayout = {\n\t\t\ttype: 'regular',\n\t\t\tlabelPosition: layout?.labelPosition ?? 'top',\n\t\t} satisfies NormalizedRegularLayout;\n\t} else if ( layout?.type === 'panel' ) {\n\t\tnormalizedLayout = {\n\t\t\ttype: 'panel',\n\t\t\tlabelPosition: layout?.labelPosition ?? 'side',\n\t\t\topenAs: layout?.openAs ?? 'dropdown',\n\t\t} satisfies NormalizedPanelLayout;\n\t} else if ( layout?.type === 'card' ) {\n\t\tif ( layout.withHeader === false ) {\n\t\t\t// Don't let isOpened be false if withHeader is false.\n\t\t\t// Otherwise, the card will not be visible.\n\t\t\tnormalizedLayout = {\n\t\t\t\ttype: 'card',\n\t\t\t\twithHeader: false,\n\t\t\t\tisOpened: true,\n\t\t\t} satisfies NormalizedCardLayout;\n\t\t} else {\n\t\t\tnormalizedLayout = {\n\t\t\t\ttype: 'card',\n\t\t\t\twithHeader: true,\n\t\t\t\tisOpened:\n\t\t\t\t\ttypeof layout.isOpened === 'boolean'\n\t\t\t\t\t\t? layout.isOpened\n\t\t\t\t\t\t: true,\n\t\t\t} satisfies NormalizedCardLayout;\n\t\t}\n\t}\n\n\treturn normalizedLayout;\n}\n\nexport default function normalizeFormFields(\n\tform: Form\n): NormalizedFormField[] {\n\tconst formLayout = normalizeLayout( form?.layout );\n\n\treturn ( form.fields ?? [] ).map( ( field ) => {\n\t\tif ( typeof field === 'string' ) {\n\t\t\treturn {\n\t\t\t\tid: field,\n\t\t\t\tlayout: formLayout,\n\t\t\t};\n\t\t}\n\n\t\tconst fieldLayout = field.layout\n\t\t\t? normalizeLayout( field.layout )\n\t\t\t: formLayout;\n\t\treturn {\n\t\t\t...field,\n\t\t\tlayout: fieldLayout,\n\t\t};\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;;AAeA,OAAO,MAAMA,cAAgC,GAAG;EAC/CC,IAAI,EAAE,SAAS;EACfC,aAAa,EAAE;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAEC,MAAe,EAAqB;EACpE,IAAIC,gBAAgB,GAAGL,cAAc;EAErC,IAAKI,MAAM,EAAEH,IAAI,KAAK,SAAS,EAAG;IAAA,IAAAK,qBAAA;IACjCD,gBAAgB,GAAG;MAClBJ,IAAI,EAAE,SAAS;MACfC,aAAa,GAAAI,qBAAA,GAAEF,MAAM,EAAEF,aAAa,cAAAI,qBAAA,cAAAA,qBAAA,GAAI;IACzC,CAAmC;EACpC,CAAC,MAAM,IAAKF,MAAM,EAAEH,IAAI,KAAK,OAAO,EAAG;IAAA,IAAAM,sBAAA,EAAAC,cAAA;IACtCH,gBAAgB,GAAG;MAClBJ,IAAI,EAAE,OAAO;MACbC,aAAa,GAAAK,sBAAA,GAAEH,MAAM,EAAEF,aAAa,cAAAK,sBAAA,cAAAA,sBAAA,GAAI,MAAM;MAC9CE,MAAM,GAAAD,cAAA,GAAEJ,MAAM,EAAEK,MAAM,cAAAD,cAAA,cAAAA,cAAA,GAAI;IAC3B,CAAiC;EAClC,CAAC,MAAM,IAAKJ,MAAM,EAAEH,IAAI,KAAK,MAAM,EAAG;IACrC,IAAKG,MAAM,CAACM,UAAU,KAAK,KAAK,EAAG;MAClC;MACA;MACAL,gBAAgB,GAAG;QAClBJ,IAAI,EAAE,MAAM;QACZS,UAAU,EAAE,KAAK;QACjBC,QAAQ,EAAE;MACX,CAAgC;IACjC,CAAC,MAAM;MACNN,gBAAgB,GAAG;QAClBJ,IAAI,EAAE,MAAM;QACZS,UAAU,EAAE,IAAI;QAChBC,QAAQ,EACP,OAAOP,MAAM,CAACO,QAAQ,KAAK,SAAS,GACjCP,MAAM,CAACO,QAAQ,GACf;MACL,CAAgC;IACjC;EACD;EAEA,OAAON,gBAAgB;AACxB;AAEA,eAAe,SAASO,mBAAmBA,CAC1CC,IAAU,EACc;EAAA,IAAAC,YAAA;EACxB,MAAMC,UAAU,GAAGZ,eAAe,CAAEU,IAAI,EAAET,MAAO,CAAC;EAElD,OAAO,EAAAU,YAAA,GAAED,IAAI,CAACG,MAAM,cAAAF,YAAA,cAAAA,YAAA,GAAI,EAAE,EAAGG,GAAG,CAAIC,KAAK,IAAM;IAC9C,IAAK,OAAOA,KAAK,KAAK,QAAQ,EAAG;MAChC,OAAO;QACNC,EAAE,EAAED,KAAK;QACTd,MAAM,EAAEW;MACT,CAAC;IACF;IAEA,MAAMK,WAAW,GAAGF,KAAK,CAACd,MAAM,GAC7BD,eAAe,CAAEe,KAAK,CAACd,MAAO,CAAC,GAC/BW,UAAU;IACb,OAAO;MACN,GAAGG,KAAK;MACRd,MAAM,EAAEgB;IACT,CAAC;EACF,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_LAYOUT","type","labelPosition","normalizeLayout","layout","normalizedLayout","_layout$labelPosition","_layout$labelPosition2","_layout$openAs","openAs","withHeader","isOpened","_layout$alignment","alignment","normalizeFormFields","form","_form$fields","formLayout","fields","map","field","id","fieldLayout"],"sources":["@wordpress/dataviews/src/normalize-form-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type {\n\tForm,\n\tLayout,\n\tNormalizedLayout,\n\tNormalizedRegularLayout,\n\tNormalizedPanelLayout,\n\tNormalizedCardLayout,\n\tNormalizedRowLayout,\n} from './types';\n\ninterface NormalizedFormField {\n\tid: string;\n\tlayout: Layout;\n}\n\nexport const DEFAULT_LAYOUT: NormalizedLayout = {\n\ttype: 'regular',\n\tlabelPosition: 'top',\n};\n\n/**\n * Normalizes a layout configuration based on its type.\n *\n * @param layout The layout object to normalize.\n * @return The normalized layout object.\n */\nexport function normalizeLayout( layout?: Layout ): NormalizedLayout {\n\tlet normalizedLayout = DEFAULT_LAYOUT;\n\n\tif ( layout?.type === 'regular' ) {\n\t\tnormalizedLayout = {\n\t\t\ttype: 'regular',\n\t\t\tlabelPosition: layout?.labelPosition ?? 'top',\n\t\t} satisfies NormalizedRegularLayout;\n\t} else if ( layout?.type === 'panel' ) {\n\t\tnormalizedLayout = {\n\t\t\ttype: 'panel',\n\t\t\tlabelPosition: layout?.labelPosition ?? 'side',\n\t\t\topenAs: layout?.openAs ?? 'dropdown',\n\t\t} satisfies NormalizedPanelLayout;\n\t} else if ( layout?.type === 'card' ) {\n\t\tif ( layout.withHeader === false ) {\n\t\t\t// Don't let isOpened be false if withHeader is false.\n\t\t\t// Otherwise, the card will not be visible.\n\t\t\tnormalizedLayout = {\n\t\t\t\ttype: 'card',\n\t\t\t\twithHeader: false,\n\t\t\t\tisOpened: true,\n\t\t\t} satisfies NormalizedCardLayout;\n\t\t} else {\n\t\t\tnormalizedLayout = {\n\t\t\t\ttype: 'card',\n\t\t\t\twithHeader: true,\n\t\t\t\tisOpened:\n\t\t\t\t\ttypeof layout.isOpened === 'boolean'\n\t\t\t\t\t\t? layout.isOpened\n\t\t\t\t\t\t: true,\n\t\t\t} satisfies NormalizedCardLayout;\n\t\t}\n\t} else if ( layout?.type === 'row' ) {\n\t\tnormalizedLayout = {\n\t\t\ttype: 'row',\n\t\t\talignment: layout?.alignment ?? 'center',\n\t\t} satisfies NormalizedRowLayout;\n\t}\n\n\treturn normalizedLayout;\n}\n\nexport default function normalizeFormFields(\n\tform: Form\n): NormalizedFormField[] {\n\tconst formLayout = normalizeLayout( form?.layout );\n\n\treturn ( form.fields ?? [] ).map( ( field ) => {\n\t\tif ( typeof field === 'string' ) {\n\t\t\treturn {\n\t\t\t\tid: field,\n\t\t\t\tlayout: formLayout,\n\t\t\t};\n\t\t}\n\n\t\tconst fieldLayout = field.layout\n\t\t\t? normalizeLayout( field.layout )\n\t\t\t: formLayout;\n\t\treturn {\n\t\t\t...field,\n\t\t\tlayout: fieldLayout,\n\t\t};\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;;AAgBA,OAAO,MAAMA,cAAgC,GAAG;EAC/CC,IAAI,EAAE,SAAS;EACfC,aAAa,EAAE;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAEC,MAAe,EAAqB;EACpE,IAAIC,gBAAgB,GAAGL,cAAc;EAErC,IAAKI,MAAM,EAAEH,IAAI,KAAK,SAAS,EAAG;IAAA,IAAAK,qBAAA;IACjCD,gBAAgB,GAAG;MAClBJ,IAAI,EAAE,SAAS;MACfC,aAAa,GAAAI,qBAAA,GAAEF,MAAM,EAAEF,aAAa,cAAAI,qBAAA,cAAAA,qBAAA,GAAI;IACzC,CAAmC;EACpC,CAAC,MAAM,IAAKF,MAAM,EAAEH,IAAI,KAAK,OAAO,EAAG;IAAA,IAAAM,sBAAA,EAAAC,cAAA;IACtCH,gBAAgB,GAAG;MAClBJ,IAAI,EAAE,OAAO;MACbC,aAAa,GAAAK,sBAAA,GAAEH,MAAM,EAAEF,aAAa,cAAAK,sBAAA,cAAAA,sBAAA,GAAI,MAAM;MAC9CE,MAAM,GAAAD,cAAA,GAAEJ,MAAM,EAAEK,MAAM,cAAAD,cAAA,cAAAA,cAAA,GAAI;IAC3B,CAAiC;EAClC,CAAC,MAAM,IAAKJ,MAAM,EAAEH,IAAI,KAAK,MAAM,EAAG;IACrC,IAAKG,MAAM,CAACM,UAAU,KAAK,KAAK,EAAG;MAClC;MACA;MACAL,gBAAgB,GAAG;QAClBJ,IAAI,EAAE,MAAM;QACZS,UAAU,EAAE,KAAK;QACjBC,QAAQ,EAAE;MACX,CAAgC;IACjC,CAAC,MAAM;MACNN,gBAAgB,GAAG;QAClBJ,IAAI,EAAE,MAAM;QACZS,UAAU,EAAE,IAAI;QAChBC,QAAQ,EACP,OAAOP,MAAM,CAACO,QAAQ,KAAK,SAAS,GACjCP,MAAM,CAACO,QAAQ,GACf;MACL,CAAgC;IACjC;EACD,CAAC,MAAM,IAAKP,MAAM,EAAEH,IAAI,KAAK,KAAK,EAAG;IAAA,IAAAW,iBAAA;IACpCP,gBAAgB,GAAG;MAClBJ,IAAI,EAAE,KAAK;MACXY,SAAS,GAAAD,iBAAA,GAAER,MAAM,EAAES,SAAS,cAAAD,iBAAA,cAAAA,iBAAA,GAAI;IACjC,CAA+B;EAChC;EAEA,OAAOP,gBAAgB;AACxB;AAEA,eAAe,SAASS,mBAAmBA,CAC1CC,IAAU,EACc;EAAA,IAAAC,YAAA;EACxB,MAAMC,UAAU,GAAGd,eAAe,CAAEY,IAAI,EAAEX,MAAO,CAAC;EAElD,OAAO,EAAAY,YAAA,GAAED,IAAI,CAACG,MAAM,cAAAF,YAAA,cAAAA,YAAA,GAAI,EAAE,EAAGG,GAAG,CAAIC,KAAK,IAAM;IAC9C,IAAK,OAAOA,KAAK,KAAK,QAAQ,EAAG;MAChC,OAAO;QACNC,EAAE,EAAED,KAAK;QACThB,MAAM,EAAEa;MACT,CAAC;IACF;IAEA,MAAMK,WAAW,GAAGF,KAAK,CAAChB,MAAM,GAC7BD,eAAe,CAAEiB,KAAK,CAAChB,MAAO,CAAC,GAC/Ba,UAAU;IACb,OAAO;MACN,GAAGG,KAAK;MACRhB,MAAM,EAAEkB;IACT,CAAC;EACF,CAAE,CAAC;AACJ","ignoreList":[]}