@mittwald/flow-react-components 1.5.0-next.8 → 1.5.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 (787) hide show
  1. package/AGENTS.md +152 -14
  2. package/MIGRATION.md +53 -0
  3. package/USAGE.md +7 -0
  4. package/dist/assets/component-index.json +1 -1
  5. package/dist/assets/doc-properties.json +1 -1
  6. package/dist/css/all-layered.css +1 -1
  7. package/dist/css/all.css +1 -1
  8. package/dist/js/_virtual/_23.locale.mjs +2 -2
  9. package/dist/js/_virtual/_32.locale.mjs +3 -9
  10. package/dist/js/_virtual/_33.locale.mjs +5 -7
  11. package/dist/js/_virtual/_34.locale.mjs +7 -13
  12. package/dist/js/_virtual/_35.locale.mjs +23 -0
  13. package/dist/js/default.mjs +6 -4
  14. package/dist/js/node_modules/.pnpm/@lezer_lr@1.4.10/node_modules/@lezer/lr/dist/index.mjs.map +1 -1
  15. package/dist/js/packages/components/src/components/AccentBox/AccentBox.mjs.map +1 -1
  16. package/dist/js/packages/components/src/components/Accordion/Accordion.mjs +90 -57
  17. package/dist/js/packages/components/src/components/Accordion/Accordion.mjs.map +1 -1
  18. package/dist/js/packages/components/src/components/Accordion/Accordion.module.mjs +7 -3
  19. package/dist/js/packages/components/src/components/Accordion/Accordion.module.mjs.map +1 -1
  20. package/dist/js/packages/components/src/components/AccordionGroup/AccordionGroup.mjs +68 -0
  21. package/dist/js/packages/components/src/components/AccordionGroup/AccordionGroup.mjs.map +1 -0
  22. package/dist/js/packages/components/src/components/AccordionGroup/AccordionGroup.module.mjs +15 -0
  23. package/dist/js/packages/components/src/components/AccordionGroup/AccordionGroup.module.mjs.map +1 -0
  24. package/dist/js/packages/components/src/components/AccordionGroup/context.mjs +10 -0
  25. package/dist/js/packages/components/src/components/AccordionGroup/context.mjs.map +1 -0
  26. package/dist/js/packages/components/src/components/AccordionGroup/lib/expansion.mjs +29 -0
  27. package/dist/js/packages/components/src/components/AccordionGroup/lib/expansion.mjs.map +1 -0
  28. package/dist/js/packages/components/src/components/Action/lib/ariaLive.mjs.map +1 -1
  29. package/dist/js/packages/components/src/components/Action/models/ActionState.mjs +8 -70
  30. package/dist/js/packages/components/src/components/Action/models/ActionState.mjs.map +1 -1
  31. package/dist/js/packages/components/src/components/ActionGroup/ActionGroup.mjs.map +1 -1
  32. package/dist/js/packages/components/src/components/ActionGroup/ActionGroup.module.mjs.map +1 -1
  33. package/dist/js/packages/components/src/components/Alert/Alert.mjs +3 -1
  34. package/dist/js/packages/components/src/components/Alert/Alert.mjs.map +1 -1
  35. package/dist/js/packages/components/src/components/Alert/Alert.module.mjs +4 -2
  36. package/dist/js/packages/components/src/components/Alert/Alert.module.mjs.map +1 -1
  37. package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.mjs +7 -4
  38. package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.mjs.map +1 -1
  39. package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.module.mjs +6 -2
  40. package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.module.mjs.map +1 -1
  41. package/dist/js/packages/components/src/components/AlertIcon/AlertIcon.mjs +10 -0
  42. package/dist/js/packages/components/src/components/AlertIcon/AlertIcon.mjs.map +1 -1
  43. package/dist/js/packages/components/src/components/AlertText/AlertText.mjs +9 -2
  44. package/dist/js/packages/components/src/components/AlertText/AlertText.mjs.map +1 -1
  45. package/dist/js/packages/components/src/components/Autocomplete/Autocomplete.mjs +16 -8
  46. package/dist/js/packages/components/src/components/Autocomplete/Autocomplete.mjs.map +1 -1
  47. package/dist/js/packages/components/src/components/Avatar/Avatar.mjs +11 -2
  48. package/dist/js/packages/components/src/components/Avatar/Avatar.mjs.map +1 -1
  49. package/dist/js/packages/components/src/components/Avatar/Avatar.module.mjs +6 -2
  50. package/dist/js/packages/components/src/components/Avatar/Avatar.module.mjs.map +1 -1
  51. package/dist/js/packages/components/src/components/AvatarStack/AvatarStack.mjs +1 -1
  52. package/dist/js/packages/components/src/components/AvatarStack/AvatarStack.mjs.map +1 -1
  53. package/dist/js/packages/components/src/components/Badge/Badge.mjs +6 -3
  54. package/dist/js/packages/components/src/components/Badge/Badge.mjs.map +1 -1
  55. package/dist/js/packages/components/src/components/Badge/Badge.module.mjs +6 -2
  56. package/dist/js/packages/components/src/components/Badge/Badge.module.mjs.map +1 -1
  57. package/dist/js/packages/components/src/components/BigNumber/BigNumber.mjs.map +1 -1
  58. package/dist/js/packages/components/src/components/Breadcrumb/Breadcrumb.mjs +3 -1
  59. package/dist/js/packages/components/src/components/Breadcrumb/Breadcrumb.mjs.map +1 -1
  60. package/dist/js/packages/components/src/components/Breadcrumb/Breadcrumb.module.mjs +3 -1
  61. package/dist/js/packages/components/src/components/Breadcrumb/Breadcrumb.module.mjs.map +1 -1
  62. package/dist/js/packages/components/src/components/Breadcrumb/components/BreadcrumbItem/BreadcrumbItem.mjs.map +1 -1
  63. package/dist/js/packages/components/src/components/Button/Button.mjs +10 -2
  64. package/dist/js/packages/components/src/components/Button/Button.mjs.map +1 -1
  65. package/dist/js/packages/components/src/components/Button/Button.module.mjs +6 -2
  66. package/dist/js/packages/components/src/components/Button/Button.module.mjs.map +1 -1
  67. package/dist/js/packages/components/src/components/Calendar/Calendar.mjs +7 -4
  68. package/dist/js/packages/components/src/components/Calendar/Calendar.mjs.map +1 -1
  69. package/dist/js/packages/components/src/components/Calendar/Calendar.module.mjs +6 -2
  70. package/dist/js/packages/components/src/components/Calendar/Calendar.module.mjs.map +1 -1
  71. package/dist/js/packages/components/src/components/Calendar/components/CalendarHeader/CalendarHeader.mjs.map +1 -1
  72. package/dist/js/packages/components/src/components/Calendar/components/RangeCalendar/RangeCalendar.mjs +5 -2
  73. package/dist/js/packages/components/src/components/Calendar/components/RangeCalendar/RangeCalendar.mjs.map +1 -1
  74. package/dist/js/packages/components/src/components/Calendar/components/RangeCalendar/helpers/useCalendarDateRangePresets.mjs +1 -1
  75. package/dist/js/packages/components/src/components/Calendar/components/RangeCalendar/helpers/useCalendarDateRangePresets.mjs.map +1 -1
  76. package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.mjs +11 -0
  77. package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.mjs.map +1 -1
  78. package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.module.mjs +6 -2
  79. package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.module.mjs.map +1 -1
  80. package/dist/js/packages/components/src/components/CartesianChart/components/ChartTooltip/ChartTooltip.mjs.map +1 -1
  81. package/dist/js/packages/components/src/components/CartesianChart/components/ChartTooltip/TooltipLegendItem.mjs.map +1 -1
  82. package/dist/js/packages/components/src/components/CartesianChart/components/ChartTooltip/TooltipProgressBar.mjs.map +1 -1
  83. package/dist/js/packages/components/src/components/CartesianChart/components/YAxis/YAxis.mjs +5 -1
  84. package/dist/js/packages/components/src/components/CartesianChart/components/YAxis/YAxis.mjs.map +1 -1
  85. package/dist/js/packages/components/src/components/Chat/Chat.mjs.map +1 -1
  86. package/dist/js/packages/components/src/components/Checkbox/Checkbox.mjs +20 -5
  87. package/dist/js/packages/components/src/components/Checkbox/Checkbox.mjs.map +1 -1
  88. package/dist/js/packages/components/src/components/Checkbox/Checkbox.module.mjs +6 -2
  89. package/dist/js/packages/components/src/components/Checkbox/Checkbox.module.mjs.map +1 -1
  90. package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.mjs +17 -12
  91. package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.mjs.map +1 -1
  92. package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.module.mjs +3 -1
  93. package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.module.mjs.map +1 -1
  94. package/dist/js/packages/components/src/components/CheckboxGroup/CheckboxGroup.mjs +4 -3
  95. package/dist/js/packages/components/src/components/CheckboxGroup/CheckboxGroup.mjs.map +1 -1
  96. package/dist/js/packages/components/src/components/CoachMark/CoachMark.mjs.map +1 -1
  97. package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.mjs +8 -4
  98. package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.mjs.map +1 -1
  99. package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.module.mjs +6 -2
  100. package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.module.mjs.map +1 -1
  101. package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.mjs +70 -39
  102. package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.mjs.map +1 -1
  103. package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.module.mjs +8 -2
  104. package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.module.mjs.map +1 -1
  105. package/dist/js/packages/components/src/components/CodeEditor/hooks/useCodeEditorExtensions.mjs +2 -2
  106. package/dist/js/packages/components/src/components/CodeEditor/hooks/useCodeEditorExtensions.mjs.map +1 -1
  107. package/dist/js/packages/components/src/components/CodeEditor/languages/dotEnv/index.mjs.map +1 -1
  108. package/dist/js/packages/components/src/components/CodeEditor/languages/index.mjs +2 -1
  109. package/dist/js/packages/components/src/components/CodeEditor/languages/index.mjs.map +1 -1
  110. package/dist/js/packages/components/src/components/CodeEditor/themes/defaultEditorTheme.mjs.map +1 -1
  111. package/dist/js/packages/components/src/components/Color/Color.mjs.map +1 -1
  112. package/dist/js/packages/components/src/components/ColumnLayout/ColumnLayout.mjs.map +1 -1
  113. package/dist/js/packages/components/src/components/Combine/Combine.mjs +1 -0
  114. package/dist/js/packages/components/src/components/Combine/Combine.mjs.map +1 -1
  115. package/dist/js/packages/components/src/components/Combine/Combine.module.mjs +4 -2
  116. package/dist/js/packages/components/src/components/Combine/Combine.module.mjs.map +1 -1
  117. package/dist/js/packages/components/src/components/ComboBox/ComboBox.mjs +4 -3
  118. package/dist/js/packages/components/src/components/ComboBox/ComboBox.mjs.map +1 -1
  119. package/dist/js/packages/components/src/components/ComboBox/ComboBox.module.mjs +3 -1
  120. package/dist/js/packages/components/src/components/ComboBox/ComboBox.module.mjs.map +1 -1
  121. package/dist/js/packages/components/src/components/Content/Content.mjs +2 -1
  122. package/dist/js/packages/components/src/components/Content/Content.mjs.map +1 -1
  123. package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs.map +1 -1
  124. package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs.map +1 -1
  125. package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSelectAll/ContextMenuSelectAll.mjs.map +1 -1
  126. package/dist/js/packages/components/src/components/ContextualHelp/ContextualHelp.mjs.map +1 -1
  127. package/dist/js/packages/components/src/components/ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs.map +1 -1
  128. package/dist/js/packages/components/src/components/CopyButton/CopyButton.mjs.map +1 -1
  129. package/dist/js/packages/components/src/components/CounterBadge/CounterBadge.mjs +4 -1
  130. package/dist/js/packages/components/src/components/CounterBadge/CounterBadge.mjs.map +1 -1
  131. package/dist/js/packages/components/src/components/CounterBadge/CounterBadge.module.mjs +8 -2
  132. package/dist/js/packages/components/src/components/CounterBadge/CounterBadge.module.mjs.map +1 -1
  133. package/dist/js/packages/components/src/components/CountryOptions/CountryOptions.mjs.map +1 -1
  134. package/dist/js/packages/components/src/components/DatePicker/DatePicker.mjs +7 -5
  135. package/dist/js/packages/components/src/components/DatePicker/DatePicker.mjs.map +1 -1
  136. package/dist/js/packages/components/src/components/DatePicker/components/DateInput/DateInput.mjs.map +1 -1
  137. package/dist/js/packages/components/src/components/DatePicker/components/DateInput/DateInput.module.mjs +3 -1
  138. package/dist/js/packages/components/src/components/DateRangePicker/DateRangePicker.mjs +5 -3
  139. package/dist/js/packages/components/src/components/DateRangePicker/DateRangePicker.mjs.map +1 -1
  140. package/dist/js/packages/components/src/components/DateRangePicker/components/DateRangeInput/DateRangeInput.mjs.map +1 -1
  141. package/dist/js/packages/components/src/components/DateRangePicker/components/DateRangeInput/DateRangeInput.module.mjs +3 -1
  142. package/dist/js/packages/components/src/components/DonutChart/DonutChart.mjs +30 -16
  143. package/dist/js/packages/components/src/components/DonutChart/DonutChart.mjs.map +1 -1
  144. package/dist/js/packages/components/src/components/DonutChart/DonutChart.module.mjs +6 -2
  145. package/dist/js/packages/components/src/components/DonutChart/DonutChart.module.mjs.map +1 -1
  146. package/dist/js/packages/components/src/components/DonutChart/components/Donut.mjs +5 -2
  147. package/dist/js/packages/components/src/components/DonutChart/components/Donut.mjs.map +1 -1
  148. package/dist/js/packages/components/src/components/DonutChart/components/DonutChartFill.mjs.map +1 -1
  149. package/dist/js/packages/components/src/components/DonutChart/components/DonutChartLegend.mjs.map +1 -1
  150. package/dist/js/packages/components/src/components/DonutChart/components/DonutChartValue.mjs +1 -1
  151. package/dist/js/packages/components/src/components/DonutChart/components/DonutChartValue.mjs.map +1 -1
  152. package/dist/js/packages/components/src/components/EmulatedBoldText/EmulatedBoldText.mjs.map +1 -1
  153. package/dist/js/packages/components/src/components/FieldDescription/FieldDescription.mjs.map +1 -1
  154. package/dist/js/packages/components/src/components/FieldError/FieldError.mjs +43 -31
  155. package/dist/js/packages/components/src/components/FieldError/FieldError.mjs.map +1 -1
  156. package/dist/js/packages/components/src/components/FileCard/FileCard.mjs.map +1 -1
  157. package/dist/js/packages/components/src/components/FileCard/components/Avatar/Avatar.mjs.map +1 -1
  158. package/dist/js/packages/components/src/components/FileCard/components/DeleteButton/DeleteButton.mjs.map +1 -1
  159. package/dist/js/packages/components/src/components/FileCard/components/FileSizeText/FileSizeText.mjs.map +1 -1
  160. package/dist/js/packages/components/src/components/FileDropZone/FileDropZone.mjs +14 -9
  161. package/dist/js/packages/components/src/components/FileDropZone/FileDropZone.mjs.map +1 -1
  162. package/dist/js/packages/components/src/components/FileDropZone/FileDropZone.module.mjs +6 -2
  163. package/dist/js/packages/components/src/components/FileDropZone/FileDropZone.module.mjs.map +1 -1
  164. package/dist/js/packages/components/src/components/FileField/FileField.mjs +4 -3
  165. package/dist/js/packages/components/src/components/FileField/FileField.mjs.map +1 -1
  166. package/dist/js/packages/components/src/components/FileField/components/FileInput.mjs +2 -1
  167. package/dist/js/packages/components/src/components/FileField/components/FileInput.mjs.map +1 -1
  168. package/dist/js/packages/components/src/components/FileField/components/FileInput.module.mjs +3 -1
  169. package/dist/js/packages/components/src/components/FileField/components/FileInput.module.mjs.map +1 -1
  170. package/dist/js/packages/components/src/components/Flex/Flex.mjs.map +1 -1
  171. package/dist/js/packages/components/src/components/Header/Header.mjs.map +1 -1
  172. package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.mjs +14 -5
  173. package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.mjs.map +1 -1
  174. package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.module.mjs.map +1 -1
  175. package/dist/js/packages/components/src/components/Heading/Heading.mjs +8 -1
  176. package/dist/js/packages/components/src/components/Heading/Heading.mjs.map +1 -1
  177. package/dist/js/packages/components/src/components/Icon/Icon.mjs +9 -0
  178. package/dist/js/packages/components/src/components/Icon/Icon.mjs.map +1 -1
  179. package/dist/js/packages/components/src/components/Icon/Icon.module.mjs +6 -2
  180. package/dist/js/packages/components/src/components/Icon/Icon.module.mjs.map +1 -1
  181. package/dist/js/packages/components/src/components/Icon/components/icons/IconAI.mjs.map +1 -1
  182. package/dist/js/packages/components/src/components/Icon/components/icons/IconAIHosting.mjs.map +1 -1
  183. package/dist/js/packages/components/src/components/Icon/components/icons/IconAnalytics.mjs.map +1 -1
  184. package/dist/js/packages/components/src/components/Icon/components/icons/IconApp.mjs.map +1 -1
  185. package/dist/js/packages/components/src/components/Icon/components/icons/IconAscending.mjs.map +1 -1
  186. package/dist/js/packages/components/src/components/Icon/components/icons/IconAttachment.mjs.map +1 -1
  187. package/dist/js/packages/components/src/components/Icon/components/icons/IconAutoresponder.mjs.map +1 -1
  188. package/dist/js/packages/components/src/components/Icon/components/icons/IconBackLink.mjs.map +1 -1
  189. package/dist/js/packages/components/src/components/Icon/components/icons/IconBackup.mjs.map +1 -1
  190. package/dist/js/packages/components/src/components/Icon/components/icons/IconBold.mjs.map +1 -1
  191. package/dist/js/packages/components/src/components/Icon/components/icons/IconCamera.mjs.map +1 -1
  192. package/dist/js/packages/components/src/components/Icon/components/icons/IconCertificate.mjs.map +1 -1
  193. package/dist/js/packages/components/src/components/Icon/components/icons/IconChangelog.mjs.map +1 -1
  194. package/dist/js/packages/components/src/components/Icon/components/icons/IconCheck.mjs.map +1 -1
  195. package/dist/js/packages/components/src/components/Icon/components/icons/IconCheckboxChecked.mjs.map +1 -1
  196. package/dist/js/packages/components/src/components/Icon/components/icons/IconCheckboxEmpty.mjs.map +1 -1
  197. package/dist/js/packages/components/src/components/Icon/components/icons/IconCheckboxIndeterminate.mjs.map +1 -1
  198. package/dist/js/packages/components/src/components/Icon/components/icons/IconChevronDown.mjs.map +1 -1
  199. package/dist/js/packages/components/src/components/Icon/components/icons/IconChevronLeft.mjs.map +1 -1
  200. package/dist/js/packages/components/src/components/Icon/components/icons/IconChevronRight.mjs.map +1 -1
  201. package/dist/js/packages/components/src/components/Icon/components/icons/IconChevronUp.mjs.map +1 -1
  202. package/dist/js/packages/components/src/components/Icon/components/icons/IconClose.mjs.map +1 -1
  203. package/dist/js/packages/components/src/components/Icon/components/icons/IconCode.mjs.map +1 -1
  204. package/dist/js/packages/components/src/components/Icon/components/icons/IconContainer.mjs.map +1 -1
  205. package/dist/js/packages/components/src/components/Icon/components/icons/IconContextMenu.mjs.map +1 -1
  206. package/dist/js/packages/components/src/components/Icon/components/icons/IconContextMenuVertical.mjs.map +1 -1
  207. package/dist/js/packages/components/src/components/Icon/components/icons/IconContract.mjs.map +1 -1
  208. package/dist/js/packages/components/src/components/Icon/components/icons/IconContractPartner.mjs.map +1 -1
  209. package/dist/js/packages/components/src/components/Icon/components/icons/IconContributor.mjs.map +1 -1
  210. package/dist/js/packages/components/src/components/Icon/components/icons/IconCopy.mjs.map +1 -1
  211. package/dist/js/packages/components/src/components/Icon/components/icons/IconCronjob.mjs.map +1 -1
  212. package/dist/js/packages/components/src/components/Icon/components/icons/IconCustomer.mjs.map +1 -1
  213. package/dist/js/packages/components/src/components/Icon/components/icons/IconDanger.mjs.map +1 -1
  214. package/dist/js/packages/components/src/components/Icon/components/icons/IconDashboard.mjs.map +1 -1
  215. package/dist/js/packages/components/src/components/Icon/components/icons/IconDatabase.mjs.map +1 -1
  216. package/dist/js/packages/components/src/components/Icon/components/icons/IconDate.mjs.map +1 -1
  217. package/dist/js/packages/components/src/components/Icon/components/icons/IconDelete.mjs.map +1 -1
  218. package/dist/js/packages/components/src/components/Icon/components/icons/IconDeliveryBox.mjs.map +1 -1
  219. package/dist/js/packages/components/src/components/Icon/components/icons/IconDescending.mjs.map +1 -1
  220. package/dist/js/packages/components/src/components/Icon/components/icons/IconDesktop.mjs.map +1 -1
  221. package/dist/js/packages/components/src/components/Icon/components/icons/IconDirectory.mjs.map +1 -1
  222. package/dist/js/packages/components/src/components/Icon/components/icons/IconDnsSubZone.mjs.map +1 -1
  223. package/dist/js/packages/components/src/components/Icon/components/icons/IconDnsZone.mjs.map +1 -1
  224. package/dist/js/packages/components/src/components/Icon/components/icons/IconDomain.mjs.map +1 -1
  225. package/dist/js/packages/components/src/components/Icon/components/icons/IconDownload.mjs.map +1 -1
  226. package/dist/js/packages/components/src/components/Icon/components/icons/IconEdit.mjs.map +1 -1
  227. package/dist/js/packages/components/src/components/Icon/components/icons/IconEmail.mjs.map +1 -1
  228. package/dist/js/packages/components/src/components/Icon/components/icons/IconEmailArchive.mjs.map +1 -1
  229. package/dist/js/packages/components/src/components/Icon/components/icons/IconExtension.mjs.map +1 -1
  230. package/dist/js/packages/components/src/components/Icon/components/icons/IconExternalLink.mjs.map +1 -1
  231. package/dist/js/packages/components/src/components/Icon/components/icons/IconFailed.mjs.map +1 -1
  232. package/dist/js/packages/components/src/components/Icon/components/icons/IconFeedback.mjs.map +1 -1
  233. package/dist/js/packages/components/src/components/Icon/components/icons/IconFile.mjs.map +1 -1
  234. package/dist/js/packages/components/src/components/Icon/components/icons/IconFilter.mjs.map +1 -1
  235. package/dist/js/packages/components/src/components/Icon/components/icons/IconForwardAddress.mjs.map +1 -1
  236. package/dist/js/packages/components/src/components/Icon/components/icons/IconForwardLink.mjs.map +1 -1
  237. package/dist/js/packages/components/src/components/Icon/components/icons/IconHide.mjs.map +1 -1
  238. package/dist/js/packages/components/src/components/Icon/components/icons/IconHome.mjs.map +1 -1
  239. package/dist/js/packages/components/src/components/Icon/components/icons/IconImage.mjs.map +1 -1
  240. package/dist/js/packages/components/src/components/Icon/components/icons/IconInfo.mjs.map +1 -1
  241. package/dist/js/packages/components/src/components/Icon/components/icons/IconInvite.mjs.map +1 -1
  242. package/dist/js/packages/components/src/components/Icon/components/icons/IconInvoice.mjs.map +1 -1
  243. package/dist/js/packages/components/src/components/Icon/components/icons/IconItalic.mjs.map +1 -1
  244. package/dist/js/packages/components/src/components/Icon/components/icons/IconKnowledgeHint.mjs.map +1 -1
  245. package/dist/js/packages/components/src/components/Icon/components/icons/IconLanguage.mjs.map +1 -1
  246. package/dist/js/packages/components/src/components/Icon/components/icons/IconLeadFyndr.mjs.map +1 -1
  247. package/dist/js/packages/components/src/components/Icon/components/icons/IconLink.mjs.map +1 -1
  248. package/dist/js/packages/components/src/components/Icon/components/icons/IconLock.mjs.map +1 -1
  249. package/dist/js/packages/components/src/components/Icon/components/icons/IconLockOpen.mjs.map +1 -1
  250. package/dist/js/packages/components/src/components/Icon/components/icons/IconLogout.mjs.map +1 -1
  251. package/dist/js/packages/components/src/components/Icon/components/icons/IconMainUser.mjs.map +1 -1
  252. package/dist/js/packages/components/src/components/Icon/components/icons/IconMarketplace.mjs.map +1 -1
  253. package/dist/js/packages/components/src/components/Icon/components/icons/IconMaximize.mjs.map +1 -1
  254. package/dist/js/packages/components/src/components/Icon/components/icons/IconMember.mjs.map +1 -1
  255. package/dist/js/packages/components/src/components/Icon/components/icons/IconMenu.mjs.map +1 -1
  256. package/dist/js/packages/components/src/components/Icon/components/icons/IconMinimize.mjs.map +1 -1
  257. package/dist/js/packages/components/src/components/Icon/components/icons/IconMinus.mjs.map +1 -1
  258. package/dist/js/packages/components/src/components/Icon/components/icons/IconMittwald.mjs.map +1 -1
  259. package/dist/js/packages/components/src/components/Icon/components/icons/IconMobile.mjs.map +1 -1
  260. package/dist/js/packages/components/src/components/Icon/components/icons/IconMonitoring.mjs.map +1 -1
  261. package/dist/js/packages/components/src/components/Icon/components/icons/IconMove.mjs.map +1 -1
  262. package/dist/js/packages/components/src/components/Icon/components/icons/IconNewsletter.mjs.map +1 -1
  263. package/dist/js/packages/components/src/components/Icon/components/icons/IconNotification.mjs.map +1 -1
  264. package/dist/js/packages/components/src/components/Icon/components/icons/IconNumber.mjs.map +1 -1
  265. package/dist/js/packages/components/src/components/Icon/components/icons/IconOrder.mjs.map +1 -1
  266. package/dist/js/packages/components/src/components/Icon/components/icons/IconOrderedList.mjs.map +1 -1
  267. package/dist/js/packages/components/src/components/Icon/components/icons/IconPassword.mjs.map +1 -1
  268. package/dist/js/packages/components/src/components/Icon/components/icons/IconPath.mjs.map +1 -1
  269. package/dist/js/packages/components/src/components/Icon/components/icons/IconPause.mjs.map +1 -1
  270. package/dist/js/packages/components/src/components/Icon/components/icons/IconPayment.mjs.map +1 -1
  271. package/dist/js/packages/components/src/components/Icon/components/icons/IconPending.mjs.map +1 -1
  272. package/dist/js/packages/components/src/components/Icon/components/icons/IconPicture.mjs.map +1 -1
  273. package/dist/js/packages/components/src/components/Icon/components/icons/IconPlus.mjs.map +1 -1
  274. package/dist/js/packages/components/src/components/Icon/components/icons/IconProject.mjs.map +1 -1
  275. package/dist/js/packages/components/src/components/Icon/components/icons/IconQuote.mjs.map +1 -1
  276. package/dist/js/packages/components/src/components/Icon/components/icons/IconRadioOff.mjs.map +1 -1
  277. package/dist/js/packages/components/src/components/Icon/components/icons/IconRadioOn.mjs.map +1 -1
  278. package/dist/js/packages/components/src/components/Icon/components/icons/IconRedo.mjs.map +1 -1
  279. package/dist/js/packages/components/src/components/Icon/components/icons/IconRefresh.mjs.map +1 -1
  280. package/dist/js/packages/components/src/components/Icon/components/icons/IconRegistry.mjs.map +1 -1
  281. package/dist/js/packages/components/src/components/Icon/components/icons/IconSave.mjs.map +1 -1
  282. package/dist/js/packages/components/src/components/Icon/components/icons/IconSearch.mjs.map +1 -1
  283. package/dist/js/packages/components/src/components/Icon/components/icons/IconSecurity.mjs.map +1 -1
  284. package/dist/js/packages/components/src/components/Icon/components/icons/IconSend.mjs.map +1 -1
  285. package/dist/js/packages/components/src/components/Icon/components/icons/IconServer.mjs.map +1 -1
  286. package/dist/js/packages/components/src/components/Icon/components/icons/IconSettings.mjs.map +1 -1
  287. package/dist/js/packages/components/src/components/Icon/components/icons/IconShare.mjs.map +1 -1
  288. package/dist/js/packages/components/src/components/Icon/components/icons/IconShow.mjs.map +1 -1
  289. package/dist/js/packages/components/src/components/Icon/components/icons/IconSorting.mjs.map +1 -1
  290. package/dist/js/packages/components/src/components/Icon/components/icons/IconSsh.mjs.map +1 -1
  291. package/dist/js/packages/components/src/components/Icon/components/icons/IconSshKey.mjs.map +1 -1
  292. package/dist/js/packages/components/src/components/Icon/components/icons/IconSshSftp.mjs.map +1 -1
  293. package/dist/js/packages/components/src/components/Icon/components/icons/IconStack.mjs.map +1 -1
  294. package/dist/js/packages/components/src/components/Icon/components/icons/IconStar.mjs.map +1 -1
  295. package/dist/js/packages/components/src/components/Icon/components/icons/IconStarFilled.mjs.map +1 -1
  296. package/dist/js/packages/components/src/components/Icon/components/icons/IconStart.mjs.map +1 -1
  297. package/dist/js/packages/components/src/components/Icon/components/icons/IconStrikeThrough.mjs.map +1 -1
  298. package/dist/js/packages/components/src/components/Icon/components/icons/IconSubdomain.mjs.map +1 -1
  299. package/dist/js/packages/components/src/components/Icon/components/icons/IconSucceeded.mjs.map +1 -1
  300. package/dist/js/packages/components/src/components/Icon/components/icons/IconSuccess.mjs.map +1 -1
  301. package/dist/js/packages/components/src/components/Icon/components/icons/IconSupport.mjs.map +1 -1
  302. package/dist/js/packages/components/src/components/Icon/components/icons/IconTerminate.mjs.map +1 -1
  303. package/dist/js/packages/components/src/components/Icon/components/icons/IconTicket.mjs.map +1 -1
  304. package/dist/js/packages/components/src/components/Icon/components/icons/IconTime.mjs.map +1 -1
  305. package/dist/js/packages/components/src/components/Icon/components/icons/IconUnavailable.mjs.map +1 -1
  306. package/dist/js/packages/components/src/components/Icon/components/icons/IconUndo.mjs.map +1 -1
  307. package/dist/js/packages/components/src/components/Icon/components/icons/IconUnorderedList.mjs.map +1 -1
  308. package/dist/js/packages/components/src/components/Icon/components/icons/IconUpload.mjs.map +1 -1
  309. package/dist/js/packages/components/src/components/Icon/components/icons/IconUser.mjs.map +1 -1
  310. package/dist/js/packages/components/src/components/Icon/components/icons/IconVhost.mjs.map +1 -1
  311. package/dist/js/packages/components/src/components/Icon/components/icons/IconView.mjs.map +1 -1
  312. package/dist/js/packages/components/src/components/Icon/components/icons/IconVolume.mjs.map +1 -1
  313. package/dist/js/packages/components/src/components/Icon/components/icons/IconWarning.mjs.map +1 -1
  314. package/dist/js/packages/components/src/components/IllustratedMessage/IllustratedMessage.mjs.map +1 -1
  315. package/dist/js/packages/components/src/components/Image/Image.mjs +23 -0
  316. package/dist/js/packages/components/src/components/Image/Image.mjs.map +1 -1
  317. package/dist/js/packages/components/src/components/Image/Image.module.mjs +6 -2
  318. package/dist/js/packages/components/src/components/Image/Image.module.mjs.map +1 -1
  319. package/dist/js/packages/components/src/components/ImageCropper/ImageCropper.mjs +27 -22
  320. package/dist/js/packages/components/src/components/ImageCropper/ImageCropper.mjs.map +1 -1
  321. package/dist/js/packages/components/src/components/ImageCropper/ImageCropper.module.mjs +6 -2
  322. package/dist/js/packages/components/src/components/ImageCropper/ImageCropper.module.mjs.map +1 -1
  323. package/dist/js/packages/components/src/components/Initials/Initials.mjs +4 -1
  324. package/dist/js/packages/components/src/components/Initials/Initials.mjs.map +1 -1
  325. package/dist/js/packages/components/src/components/Initials/Initials.module.mjs +8 -2
  326. package/dist/js/packages/components/src/components/Initials/Initials.module.mjs.map +1 -1
  327. package/dist/js/packages/components/src/components/Initials/lib/getColorFromInitials.mjs.map +1 -1
  328. package/dist/js/packages/components/src/components/InlineCode/InlineCode.mjs +8 -1
  329. package/dist/js/packages/components/src/components/InlineCode/InlineCode.mjs.map +1 -1
  330. package/dist/js/packages/components/src/components/Kbd/Kbd.mjs +4 -1
  331. package/dist/js/packages/components/src/components/Kbd/Kbd.mjs.map +1 -1
  332. package/dist/js/packages/components/src/components/Kbd/Kbd.module.mjs +6 -2
  333. package/dist/js/packages/components/src/components/Kbd/Kbd.module.mjs.map +1 -1
  334. package/dist/js/packages/components/src/components/Label/Label.mjs +9 -2
  335. package/dist/js/packages/components/src/components/Label/Label.mjs.map +1 -1
  336. package/dist/js/packages/components/src/components/LabeledValue/LabeledValue.mjs.map +1 -1
  337. package/dist/js/packages/components/src/components/LayoutCard/LayoutCard.mjs +2 -1
  338. package/dist/js/packages/components/src/components/LayoutCard/LayoutCard.mjs.map +1 -1
  339. package/dist/js/packages/components/src/components/LayoutCard/LayoutCard.module.mjs +3 -1
  340. package/dist/js/packages/components/src/components/LayoutCard/LayoutCard.module.mjs.map +1 -1
  341. package/dist/js/packages/components/src/components/Legend/Legend.mjs.map +1 -1
  342. package/dist/js/packages/components/src/components/Legend/components/LegendItem/LegendItem.mjs +5 -2
  343. package/dist/js/packages/components/src/components/Legend/components/LegendItem/LegendItem.mjs.map +1 -1
  344. package/dist/js/packages/components/src/components/Legend/components/LegendItem/LegendItem.module.mjs +6 -2
  345. package/dist/js/packages/components/src/components/Legend/components/LegendItem/LegendItem.module.mjs.map +1 -1
  346. package/dist/js/packages/components/src/components/LightBox/LightBox.mjs.map +1 -1
  347. package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/Controls.mjs.map +1 -1
  348. package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/LightBoxGallery.mjs.map +1 -1
  349. package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/LightBoxGallery.module.mjs.map +1 -1
  350. package/dist/js/packages/components/src/components/LightBox/components/LightBoxGalleryItem/LightBoxGalleryItem.mjs.map +1 -1
  351. package/dist/js/packages/components/src/components/Link/Link.mjs +34 -14
  352. package/dist/js/packages/components/src/components/Link/Link.mjs.map +1 -1
  353. package/dist/js/packages/components/src/components/Link/components/LinkIcon/LinkIcon.mjs.map +1 -1
  354. package/dist/js/packages/components/src/components/List/List.mjs.map +1 -1
  355. package/dist/js/packages/components/src/components/List/components/DataLoader/DataLoaderSuspense.mjs.map +1 -1
  356. package/dist/js/packages/components/src/components/List/components/EmptySearchResultView/EmptySearchResultView.mjs.map +1 -1
  357. package/dist/js/packages/components/src/components/List/components/EmptyView/EmptyView.mjs.map +1 -1
  358. package/dist/js/packages/components/src/components/List/components/Footer/Footer.mjs.map +1 -1
  359. package/dist/js/packages/components/src/components/List/components/Footer/components/PaginationInfos/PaginationInfos.mjs.map +1 -1
  360. package/dist/js/packages/components/src/components/List/components/Footer/components/ShowNextBatchButton/ShowNextBatchButton.mjs.map +1 -1
  361. package/dist/js/packages/components/src/components/List/components/Header/Header.mjs.map +1 -1
  362. package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs +1 -1
  363. package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs.map +1 -1
  364. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/AllFiltersModal.mjs +2 -1
  365. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/AllFiltersModal.mjs.map +1 -1
  366. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordion.mjs +4 -1
  367. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordion.mjs.map +1 -1
  368. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.mjs.map +1 -1
  369. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionDateRange.mjs.map +1 -1
  370. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionRadioGroup.mjs.map +1 -1
  371. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/SortingAccordion.mjs +4 -1
  372. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/SortingAccordion.mjs.map +1 -1
  373. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.mjs +4 -1
  374. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.mjs.map +1 -1
  375. package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/DateRangeFilterPopover.mjs.map +1 -1
  376. package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterContextMenu.mjs.map +1 -1
  377. package/dist/js/packages/components/src/components/List/components/Header/components/SearchField/SearchField.mjs.map +1 -1
  378. package/dist/js/packages/components/src/components/List/components/Header/components/SortingContextMenu/SortingContextMenu.mjs.map +1 -1
  379. package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeContextMenu.mjs.map +1 -1
  380. package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem.mjs.map +1 -1
  381. package/dist/js/packages/components/src/components/List/components/Items/Items.mjs.map +1 -1
  382. package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.mjs.map +1 -1
  383. package/dist/js/packages/components/src/components/List/components/Items/components/Item/components/AccordionButton.mjs.map +1 -1
  384. package/dist/js/packages/components/src/components/List/components/Items/components/Item/components/OptionsButton/OptionsButton.mjs.map +1 -1
  385. package/dist/js/packages/components/src/components/List/components/Items/views/GridListItem/GridListItem.mjs.map +1 -1
  386. package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs.map +1 -1
  387. package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.module.mjs.map +1 -1
  388. package/dist/js/packages/components/src/components/List/components/ListItemView/components/ListItemViewContent/ListItemViewContent.mjs.map +1 -1
  389. package/dist/js/packages/components/src/components/List/components/ListSummary/ListSummary.mjs.map +1 -1
  390. package/dist/js/packages/components/src/components/List/components/Table/Table.mjs.map +1 -1
  391. package/dist/js/packages/components/src/components/List/components/Table/components/TableBodyLoadingView.mjs.map +1 -1
  392. package/dist/js/packages/components/src/components/List/components/Table/components/TableRowSkeletonView.mjs.map +1 -1
  393. package/dist/js/packages/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs.map +1 -1
  394. package/dist/js/packages/components/src/components/List/model/List.mjs +15 -4
  395. package/dist/js/packages/components/src/components/List/model/List.mjs.map +1 -1
  396. package/dist/js/packages/components/src/components/List/model/ListSettingsStore.mjs.map +1 -1
  397. package/dist/js/packages/components/src/components/List/model/ListViewMode.mjs +35 -23
  398. package/dist/js/packages/components/src/components/List/model/ListViewMode.mjs.map +1 -1
  399. package/dist/js/packages/components/src/components/List/model/ReactTable.mjs +16 -10
  400. package/dist/js/packages/components/src/components/List/model/ReactTable.mjs.map +1 -1
  401. package/dist/js/packages/components/src/components/List/model/filter/DateRangeFilter.mjs +25 -13
  402. package/dist/js/packages/components/src/components/List/model/filter/DateRangeFilter.mjs.map +1 -1
  403. package/dist/js/packages/components/src/components/List/model/filter/Filter.mjs +20 -181
  404. package/dist/js/packages/components/src/components/List/model/filter/Filter.mjs.map +1 -1
  405. package/dist/js/packages/components/src/components/List/model/item/ItemCollection.mjs +11 -7
  406. package/dist/js/packages/components/src/components/List/model/item/ItemCollection.mjs.map +1 -1
  407. package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoader.mjs +10 -13
  408. package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoader.mjs.map +1 -1
  409. package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoaderState.mjs +13 -61
  410. package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoaderState.mjs.map +1 -1
  411. package/dist/js/packages/components/src/components/List/model/search/Search.mjs +19 -47
  412. package/dist/js/packages/components/src/components/List/model/search/Search.mjs.map +1 -1
  413. package/dist/js/packages/components/src/components/List/model/sorting/Sorting.mjs +15 -54
  414. package/dist/js/packages/components/src/components/List/model/sorting/Sorting.mjs.map +1 -1
  415. package/dist/js/packages/components/src/components/List/model/sorting/SortingFunctions.mjs.map +1 -1
  416. package/dist/js/packages/components/src/components/List/views/EmptyView/EmptyView.mjs.map +1 -1
  417. package/dist/js/packages/components/src/components/List/views/EmptyViewContainer/EmptyViewContainer.mjs.map +1 -1
  418. package/dist/js/packages/components/src/components/LoadingSpinner/LoadingSpinner.mjs +7 -0
  419. package/dist/js/packages/components/src/components/LoadingSpinner/LoadingSpinner.mjs.map +1 -1
  420. package/dist/js/packages/components/src/components/Markdown/Markdown.mjs +19 -3
  421. package/dist/js/packages/components/src/components/Markdown/Markdown.mjs.map +1 -1
  422. package/dist/js/packages/components/src/components/Markdown/Markdown.module.mjs +6 -2
  423. package/dist/js/packages/components/src/components/Markdown/Markdown.module.mjs.map +1 -1
  424. package/dist/js/packages/components/src/components/Markdown/components/SkeletonBlocks.mjs +82 -0
  425. package/dist/js/packages/components/src/components/Markdown/components/SkeletonBlocks.mjs.map +1 -0
  426. package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.mjs +9 -6
  427. package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.mjs.map +1 -1
  428. package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.module.mjs +8 -2
  429. package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.module.mjs.map +1 -1
  430. package/dist/js/packages/components/src/components/MarkdownEditor/components/AttachmentButton.mjs.map +1 -1
  431. package/dist/js/packages/components/src/components/MarkdownEditor/components/ModeButton.mjs.map +1 -1
  432. package/dist/js/packages/components/src/components/MarkdownEditor/components/Toolbar.mjs.map +1 -1
  433. package/dist/js/packages/components/src/components/MarkdownEditor/components/ToolbarButton.mjs.map +1 -1
  434. package/dist/js/packages/components/src/components/MarkdownEditor/lib/useFileUpload.mjs.map +1 -1
  435. package/dist/js/packages/components/src/components/MenuItem/MenuItem.mjs.map +1 -1
  436. package/dist/js/packages/components/src/components/MenuItem/components/MenuItemContent/MenuItemContent.mjs.map +1 -1
  437. package/dist/js/packages/components/src/components/Message/Message.mjs +2 -1
  438. package/dist/js/packages/components/src/components/Message/Message.mjs.map +1 -1
  439. package/dist/js/packages/components/src/components/MessageThread/MessageThread.mjs.map +1 -1
  440. package/dist/js/packages/components/src/components/MessageThread/components/MessageSeparator/MessageSeparator.mjs.map +1 -1
  441. package/dist/js/packages/components/src/components/Modal/Modal.mjs.map +1 -1
  442. package/dist/js/packages/components/src/components/Modal/Modal.module.mjs +2 -0
  443. package/dist/js/packages/components/src/components/Modal/Modal.module.mjs.map +1 -1
  444. package/dist/js/packages/components/src/components/Modal/components/ConfirmUnsavedChangesModal/ConfirmUnsavedChangesModal.mjs.map +1 -1
  445. package/dist/js/packages/components/src/components/Navigation/Navigation.mjs +8 -1
  446. package/dist/js/packages/components/src/components/Navigation/Navigation.mjs.map +1 -1
  447. package/dist/js/packages/components/src/components/Navigation/Navigation.module.mjs.map +1 -1
  448. package/dist/js/packages/components/src/components/Navigation/components/LinkListTunnelExit/LinkListTunnelExit.mjs.map +1 -1
  449. package/dist/js/packages/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.mjs.map +1 -1
  450. package/dist/js/packages/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.module.mjs.map +1 -1
  451. package/dist/js/packages/components/src/components/Notification/Notification.mjs +19 -11
  452. package/dist/js/packages/components/src/components/Notification/Notification.mjs.map +1 -1
  453. package/dist/js/packages/components/src/components/Notification/Notification.module.mjs +4 -2
  454. package/dist/js/packages/components/src/components/Notification/Notification.module.mjs.map +1 -1
  455. package/dist/js/packages/components/src/components/NotificationProvider/NotificationContainer/NotificationContainer.mjs +1 -1
  456. package/dist/js/packages/components/src/components/NotificationProvider/NotificationContainer/NotificationContainer.mjs.map +1 -1
  457. package/dist/js/packages/components/src/components/NumberField/NumberField.mjs +18 -7
  458. package/dist/js/packages/components/src/components/NumberField/NumberField.mjs.map +1 -1
  459. package/dist/js/packages/components/src/components/NumberField/NumberField.module.mjs +12 -2
  460. package/dist/js/packages/components/src/components/NumberField/NumberField.module.mjs.map +1 -1
  461. package/dist/js/packages/components/src/components/NumberField/components/NumberFieldUnit.mjs +36 -0
  462. package/dist/js/packages/components/src/components/NumberField/components/NumberFieldUnit.mjs.map +1 -0
  463. package/dist/js/packages/components/src/components/Option/Option.mjs.map +1 -1
  464. package/dist/js/packages/components/src/components/Options/Options.mjs.map +1 -1
  465. package/dist/js/packages/components/src/components/Overlay/Overlay.mjs.map +1 -1
  466. package/dist/js/packages/components/src/components/Overlay/components/OverlayContent.mjs +7 -2
  467. package/dist/js/packages/components/src/components/Overlay/components/OverlayContent.mjs.map +1 -1
  468. package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs +53 -24
  469. package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map +1 -1
  470. package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.module.mjs +3 -1
  471. package/dist/js/packages/components/src/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator.mjs +2 -2
  472. package/dist/js/packages/components/src/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator.mjs.map +1 -1
  473. package/dist/js/packages/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.mjs.map +1 -1
  474. package/dist/js/packages/components/src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.mjs.map +1 -1
  475. package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.mjs.map +1 -1
  476. package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry.mjs.map +1 -1
  477. package/dist/js/packages/components/src/components/PasswordCreationField/lib/ariaAnnounce.mjs.map +1 -1
  478. package/dist/js/packages/components/src/components/PasswordCreationField/lib/usePolicyValidationResult.mjs +19 -0
  479. package/dist/js/packages/components/src/components/PasswordCreationField/lib/usePolicyValidationResult.mjs.map +1 -1
  480. package/dist/js/packages/components/src/components/Popover/Popover.mjs.map +1 -1
  481. package/dist/js/packages/components/src/components/Popover/components/NonModalPopoverContent/NonModalPopoverContent.mjs.map +1 -1
  482. package/dist/js/packages/components/src/components/Popover/components/PopoverContent/PopoverContent.mjs.map +1 -1
  483. package/dist/js/packages/components/src/components/Popover/components/PopoverTip/PopoverTip.mjs.map +1 -1
  484. package/dist/js/packages/components/src/components/Popover/viewportPadding.mjs.map +1 -1
  485. package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.mjs +4 -1
  486. package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.mjs.map +1 -1
  487. package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.module.mjs +6 -2
  488. package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.module.mjs.map +1 -1
  489. package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarBar.mjs +2 -0
  490. package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarBar.mjs.map +1 -1
  491. package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarLegend.mjs.map +1 -1
  492. package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarValue.mjs.map +1 -1
  493. package/dist/js/packages/components/src/components/RadioGroup/RadioGroup.mjs +4 -2
  494. package/dist/js/packages/components/src/components/RadioGroup/RadioGroup.mjs.map +1 -1
  495. package/dist/js/packages/components/src/components/RadioGroup/components/Radio/Radio.mjs +14 -1
  496. package/dist/js/packages/components/src/components/RadioGroup/components/Radio/Radio.mjs.map +1 -1
  497. package/dist/js/packages/components/src/components/RadioGroup/components/Radio/Radio.module.mjs +6 -2
  498. package/dist/js/packages/components/src/components/RadioGroup/components/Radio/Radio.module.mjs.map +1 -1
  499. package/dist/js/packages/components/src/components/RadioGroup/components/RadioButton/RadioButton.mjs +4 -1
  500. package/dist/js/packages/components/src/components/RadioGroup/components/RadioButton/RadioButton.mjs.map +1 -1
  501. package/dist/js/packages/components/src/components/RadioGroup/components/RadioButton/RadioButton.module.mjs +3 -1
  502. package/dist/js/packages/components/src/components/Rating/Rating.mjs +8 -4
  503. package/dist/js/packages/components/src/components/Rating/Rating.mjs.map +1 -1
  504. package/dist/js/packages/components/src/components/Rating/Rating.module.mjs +6 -2
  505. package/dist/js/packages/components/src/components/Rating/Rating.module.mjs.map +1 -1
  506. package/dist/js/packages/components/src/components/Rating/components/RatingSegment/EmptySegment.mjs.map +1 -1
  507. package/dist/js/packages/components/src/components/Rating/components/RatingSegment/FilledSegment.mjs.map +1 -1
  508. package/dist/js/packages/components/src/components/Rating/components/RatingSegment/RatingSegment.mjs.map +1 -1
  509. package/dist/js/packages/components/src/components/SearchField/SearchField.mjs +4 -3
  510. package/dist/js/packages/components/src/components/SearchField/SearchField.mjs.map +1 -1
  511. package/dist/js/packages/components/src/components/SearchField/SearchField.module.mjs +3 -1
  512. package/dist/js/packages/components/src/components/SearchField/SearchField.module.mjs.map +1 -1
  513. package/dist/js/packages/components/src/components/Section/Section.mjs.map +1 -1
  514. package/dist/js/packages/components/src/components/Section/Section.module.mjs.map +1 -1
  515. package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs.map +1 -1
  516. package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.mjs +4 -2
  517. package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  518. package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.module.mjs +3 -1
  519. package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.module.mjs.map +1 -1
  520. package/dist/js/packages/components/src/components/SegmentedControl/components/Segment/Segment.mjs.map +1 -1
  521. package/dist/js/packages/components/src/components/SegmentedControl/components/Segment/Segment.module.mjs +3 -1
  522. package/dist/js/packages/components/src/components/Select/Select.mjs +4 -3
  523. package/dist/js/packages/components/src/components/Select/Select.mjs.map +1 -1
  524. package/dist/js/packages/components/src/components/Select/Select.module.mjs +3 -1
  525. package/dist/js/packages/components/src/components/Select/Select.module.mjs.map +1 -1
  526. package/dist/js/packages/components/src/components/Separator/Separator.mjs.map +1 -1
  527. package/dist/js/packages/components/src/components/Skeleton/Skeleton.mjs.map +1 -1
  528. package/dist/js/packages/components/src/components/Skeleton/Skeleton.module.mjs +3 -3
  529. package/dist/js/packages/components/src/components/Skeleton/Skeleton.module.mjs.map +1 -1
  530. package/dist/js/packages/components/src/components/SkeletonMode/SkeletonMode.mjs +35 -0
  531. package/dist/js/packages/components/src/components/SkeletonMode/SkeletonMode.mjs.map +1 -0
  532. package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonIconSurface/SkeletonIconSurface.mjs +24 -0
  533. package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonIconSurface/SkeletonIconSurface.mjs.map +1 -0
  534. package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonIconSurface/SkeletonIconSurface.module.mjs +13 -0
  535. package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonIconSurface/SkeletonIconSurface.module.mjs.map +1 -0
  536. package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonRawText/SkeletonRawText.mjs +25 -0
  537. package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonRawText/SkeletonRawText.mjs.map +1 -0
  538. package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonTextContent/SkeletonTextContent.mjs +29 -0
  539. package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonTextContent/SkeletonTextContent.mjs.map +1 -0
  540. package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonTextContent/SkeletonTextContent.module.mjs +13 -0
  541. package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonTextContent/SkeletonTextContent.module.mjs.map +1 -0
  542. package/dist/js/packages/components/src/components/SkeletonMode/lib/hasContent.mjs +11 -0
  543. package/dist/js/packages/components/src/components/SkeletonMode/lib/hasContent.mjs.map +1 -0
  544. package/dist/js/packages/components/src/components/SkeletonMode/lib/isTextChild.mjs +19 -0
  545. package/dist/js/packages/components/src/components/SkeletonMode/lib/isTextChild.mjs.map +1 -0
  546. package/dist/js/packages/components/src/components/SkeletonMode/skeletonModeContext.mjs +27 -0
  547. package/dist/js/packages/components/src/components/SkeletonMode/skeletonModeContext.mjs.map +1 -0
  548. package/dist/js/packages/components/src/components/SkeletonText/SkeletonText.mjs.map +1 -1
  549. package/dist/js/packages/components/src/components/SkeletonText/SkeletonText.module.mjs +3 -3
  550. package/dist/js/packages/components/src/components/SkeletonText/SkeletonText.module.mjs.map +1 -1
  551. package/dist/js/packages/components/src/components/Slider/Slider.mjs +13 -4
  552. package/dist/js/packages/components/src/components/Slider/Slider.mjs.map +1 -1
  553. package/dist/js/packages/components/src/components/Slider/Slider.module.mjs +3 -1
  554. package/dist/js/packages/components/src/components/Slider/Slider.module.mjs.map +1 -1
  555. package/dist/js/packages/components/src/components/Switch/Switch.mjs +7 -4
  556. package/dist/js/packages/components/src/components/Switch/Switch.mjs.map +1 -1
  557. package/dist/js/packages/components/src/components/Switch/Switch.module.mjs +3 -1
  558. package/dist/js/packages/components/src/components/Switch/Switch.module.mjs.map +1 -1
  559. package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.mjs +3 -0
  560. package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.mjs.map +1 -1
  561. package/dist/js/packages/components/src/components/TabNavigation/components/LinkContent/LinkContent.mjs.map +1 -1
  562. package/dist/js/packages/components/src/components/Table/Table.mjs.map +1 -1
  563. package/dist/js/packages/components/src/components/Table/components/TableBody/TableBody.mjs.map +1 -1
  564. package/dist/js/packages/components/src/components/Table/components/TableCell/TableCell.mjs +2 -1
  565. package/dist/js/packages/components/src/components/Table/components/TableCell/TableCell.mjs.map +1 -1
  566. package/dist/js/packages/components/src/components/Table/components/TableColumn/TableColumn.mjs +2 -1
  567. package/dist/js/packages/components/src/components/Table/components/TableColumn/TableColumn.mjs.map +1 -1
  568. package/dist/js/packages/components/src/components/Table/components/TableHeader/TableHeader.mjs.map +1 -1
  569. package/dist/js/packages/components/src/components/Table/components/TableRow/TableRow.mjs.map +1 -1
  570. package/dist/js/packages/components/src/components/Tabs/Tabs.mjs +1 -1
  571. package/dist/js/packages/components/src/components/Tabs/Tabs.mjs.map +1 -1
  572. package/dist/js/packages/components/src/components/Tabs/components/FallbackTab/FallbackTab.mjs +1 -1
  573. package/dist/js/packages/components/src/components/Tabs/components/FallbackTab/FallbackTab.mjs.map +1 -1
  574. package/dist/js/packages/components/src/components/Tabs/components/Tab/Tab.mjs.map +1 -1
  575. package/dist/js/packages/components/src/components/Tabs/components/TabList/TabList.mjs +5 -1
  576. package/dist/js/packages/components/src/components/Tabs/components/TabList/TabList.mjs.map +1 -1
  577. package/dist/js/packages/components/src/components/Tabs/components/TabTitle/TabTitle.mjs +3 -1
  578. package/dist/js/packages/components/src/components/Tabs/components/TabTitle/TabTitle.mjs.map +1 -1
  579. package/dist/js/packages/components/src/components/Tabs/components/TabTitle/TabTitle.module.mjs +3 -1
  580. package/dist/js/packages/components/src/components/Tabs/components/TabTitle/TabTitle.module.mjs.map +1 -1
  581. package/dist/js/packages/components/src/components/Text/Text.mjs +9 -2
  582. package/dist/js/packages/components/src/components/Text/Text.mjs.map +1 -1
  583. package/dist/js/packages/components/src/components/TextArea/TextArea.mjs +4 -3
  584. package/dist/js/packages/components/src/components/TextArea/TextArea.mjs.map +1 -1
  585. package/dist/js/packages/components/src/components/TextArea/TextArea.module.mjs +3 -1
  586. package/dist/js/packages/components/src/components/TextField/TextField.mjs +5 -4
  587. package/dist/js/packages/components/src/components/TextField/TextField.mjs.map +1 -1
  588. package/dist/js/packages/components/src/components/TextField/TextField.module.mjs +3 -1
  589. package/dist/js/packages/components/src/components/TextField/TextField.module.mjs.map +1 -1
  590. package/dist/js/packages/components/src/components/TimeField/TimeField.mjs +6 -3
  591. package/dist/js/packages/components/src/components/TimeField/TimeField.mjs.map +1 -1
  592. package/dist/js/packages/components/src/components/TimeField/TimeField.module.mjs +3 -1
  593. package/dist/js/packages/components/src/components/Tooltip/Tooltip.mjs.map +1 -1
  594. package/dist/js/packages/components/src/components/Truncate/Truncate.mjs.map +1 -1
  595. package/dist/js/packages/components/src/components/TunnelEntry/TunnelEntry.mjs.map +1 -1
  596. package/dist/js/packages/components/src/components/propTypes/index.mjs +1 -0
  597. package/dist/js/packages/components/src/components/propTypes/index.mjs.map +1 -1
  598. package/dist/js/packages/components/src/integrations/nextjs/components/RouterProvider/RouterProvider.mjs.map +1 -1
  599. package/dist/js/packages/components/src/integrations/react-hook-form/components/Field/Field.mjs +4 -2
  600. package/dist/js/packages/components/src/integrations/react-hook-form/components/Field/Field.mjs.map +1 -1
  601. package/dist/js/packages/components/src/integrations/react-hook-form/components/Form/Form.mjs.map +1 -1
  602. package/dist/js/packages/components/src/integrations/react-hook-form/components/FormAction/FormAction.mjs.map +1 -1
  603. package/dist/js/packages/components/src/integrations/react-hook-form/components/FormRootError/FormRootError.mjs.map +1 -1
  604. package/dist/js/packages/components/src/lib/hooks/fieldErrorRenderedContext.mjs +16 -0
  605. package/dist/js/packages/components/src/lib/hooks/fieldErrorRenderedContext.mjs.map +1 -0
  606. package/dist/js/packages/components/src/lib/hooks/useFieldComponent.mjs +14 -7
  607. package/dist/js/packages/components/src/lib/hooks/useFieldComponent.mjs.map +1 -1
  608. package/dist/js/packages/components/src/lib/hooks/useFieldError.mjs +34 -21
  609. package/dist/js/packages/components/src/lib/hooks/useFieldError.mjs.map +1 -1
  610. package/dist/js/packages/components/src/lib/propsContext/nestedPropsContext/types.mjs.map +1 -1
  611. package/dist/js/packages/components/src/lib/propsContext/overlayTriggerTunnel.mjs.map +1 -1
  612. package/dist/js/packages/components/src/lib/react/cloneElement.mjs.map +1 -1
  613. package/dist/js/packages/components/src/lib/react/components/Render/Render.mjs.map +1 -1
  614. package/dist/js/packages/components/src/lib/react/getPropsMerger.mjs.map +1 -1
  615. package/dist/js/packages/components/src/lib/remote/eventHandlerContext.mjs +3 -1
  616. package/dist/js/packages/components/src/lib/remote/eventHandlerContext.mjs.map +1 -1
  617. package/dist/js/packages/components/src/lib/theming/hooks/useDesignTokens.mjs.map +1 -1
  618. package/dist/js/packages/components/src/lib/tokens/CategoricalColors.mjs.map +1 -1
  619. package/dist/js/packages/components/src/lib/tokens/isCategoricalColor.mjs.map +1 -1
  620. package/dist/js/packages/components/src/lib/types/props.mjs.map +1 -1
  621. package/dist/js/packages/components/src/status/component-status.mjs +8 -0
  622. package/dist/js/packages/components/src/status/component-status.mjs.map +1 -1
  623. package/dist/js/packages/components/src/status/componentStatus.mjs.map +1 -1
  624. package/dist/js/packages/components/src/views/AccordionGroupView.mjs +16 -0
  625. package/dist/js/packages/components/src/views/AccordionGroupView.mjs.map +1 -0
  626. package/dist/js/packages/components-base/src/action/ActionState.mjs +87 -0
  627. package/dist/js/packages/components-base/src/action/ActionState.mjs.map +1 -0
  628. package/dist/js/packages/components-base/src/index.mjs +18 -0
  629. package/dist/js/packages/components-base/src/lib/array.mjs +9 -0
  630. package/dist/js/packages/components-base/src/lib/array.mjs.map +1 -0
  631. package/dist/js/packages/components-base/src/list/ListModelContext.mjs +19 -0
  632. package/dist/js/packages/components-base/src/list/ListModelContext.mjs.map +1 -0
  633. package/dist/js/packages/components-base/src/list/filter/ListDateRangeFilter.mjs +29 -0
  634. package/dist/js/packages/components-base/src/list/filter/ListDateRangeFilter.mjs.map +1 -0
  635. package/dist/js/packages/components-base/src/list/filter/ListFilter.mjs +229 -0
  636. package/dist/js/packages/components-base/src/list/filter/ListFilter.mjs.map +1 -0
  637. package/dist/js/packages/components-base/src/list/filter/ListFilterValue.mjs +51 -0
  638. package/dist/js/packages/components-base/src/list/filter/ListFilterValue.mjs.map +1 -0
  639. package/dist/js/packages/components-base/src/list/filter/dateRange.mjs +51 -0
  640. package/dist/js/packages/components-base/src/list/filter/dateRange.mjs.map +1 -0
  641. package/dist/js/packages/components-base/src/list/item/ListItem.mjs +21 -0
  642. package/dist/js/packages/components-base/src/list/item/ListItem.mjs.map +1 -0
  643. package/dist/js/packages/components-base/src/list/item/ListItemCollection.mjs +24 -0
  644. package/dist/js/packages/components-base/src/list/item/ListItemCollection.mjs.map +1 -0
  645. package/dist/js/packages/components-base/src/list/loading/ListLoaderState.mjs +86 -0
  646. package/dist/js/packages/components-base/src/list/loading/ListLoaderState.mjs.map +1 -0
  647. package/dist/js/packages/components-base/src/list/loading/types.mjs +29 -0
  648. package/dist/js/packages/components-base/src/list/loading/types.mjs.map +1 -0
  649. package/dist/js/packages/components-base/src/list/pagination/ListBatchesController.mjs +64 -0
  650. package/dist/js/packages/components-base/src/list/pagination/ListBatchesController.mjs.map +1 -0
  651. package/dist/js/packages/components-base/src/list/search/ListSearch.mjs +62 -0
  652. package/dist/js/packages/components-base/src/list/search/ListSearch.mjs.map +1 -0
  653. package/dist/js/packages/components-base/src/list/sorting/ListSorting.mjs +81 -0
  654. package/dist/js/packages/components-base/src/list/sorting/ListSorting.mjs.map +1 -0
  655. package/dist/js/packages/components-base/src/list/table/ListTable.mjs +80 -0
  656. package/dist/js/packages/components-base/src/list/table/ListTable.mjs.map +1 -0
  657. package/dist/js/packages/components-base/src/list/viewMode/ListViewMode.mjs +53 -0
  658. package/dist/js/packages/components-base/src/list/viewMode/ListViewMode.mjs.map +1 -0
  659. package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs +24 -4
  660. package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs.map +1 -1
  661. package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs +24 -4
  662. package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs.map +1 -1
  663. package/dist/types/_bundled/flow-components-base/action/ActionState.d.ts +36 -0
  664. package/dist/types/_bundled/flow-components-base/index.d.ts +23 -0
  665. package/dist/types/_bundled/flow-components-base/lib/array.d.ts +4 -0
  666. package/dist/types/_bundled/flow-components-base/list/ListModelContext.d.ts +30 -0
  667. package/dist/types/_bundled/flow-components-base/list/filter/ListDateRangeFilter.d.ts +18 -0
  668. package/dist/types/_bundled/flow-components-base/list/filter/ListFilter.d.ts +104 -0
  669. package/dist/types/_bundled/flow-components-base/list/filter/ListFilterValue.d.ts +21 -0
  670. package/dist/types/_bundled/flow-components-base/list/filter/dateRange.d.ts +23 -0
  671. package/dist/types/_bundled/flow-components-base/list/filter/types.d.ts +18 -0
  672. package/dist/types/_bundled/flow-components-base/list/item/ListItem.d.ts +10 -0
  673. package/dist/types/_bundled/flow-components-base/list/item/ListItemCollection.d.ts +14 -0
  674. package/dist/types/_bundled/flow-components-base/list/loading/ListLoaderState.d.ts +44 -0
  675. package/dist/types/_bundled/flow-components-base/list/loading/types.d.ts +69 -0
  676. package/dist/types/_bundled/flow-components-base/list/pagination/ListBatchesController.d.ts +32 -0
  677. package/dist/types/_bundled/flow-components-base/list/pagination/types.d.ts +17 -0
  678. package/dist/types/_bundled/flow-components-base/list/search/ListSearch.d.ts +27 -0
  679. package/dist/types/_bundled/flow-components-base/list/search/types.d.ts +5 -0
  680. package/dist/types/_bundled/flow-components-base/list/settings/types.d.ts +52 -0
  681. package/dist/types/_bundled/flow-components-base/list/sorting/ListSorting.d.ts +40 -0
  682. package/dist/types/_bundled/flow-components-base/list/sorting/types.d.ts +14 -0
  683. package/dist/types/_bundled/flow-components-base/list/table/ListTable.d.ts +34 -0
  684. package/dist/types/_bundled/flow-components-base/list/types.d.ts +18 -0
  685. package/dist/types/_bundled/flow-components-base/list/viewMode/ListViewMode.d.ts +25 -0
  686. package/dist/types/_bundled/flow-components-base/list/viewMode/types.d.ts +10 -0
  687. package/dist/types/components/Accordion/Accordion.d.ts +10 -1
  688. package/dist/types/components/AccordionGroup/AccordionGroup.d.ts +33 -0
  689. package/dist/types/components/AccordionGroup/context.d.ts +8 -0
  690. package/dist/types/components/AccordionGroup/index.d.ts +3 -0
  691. package/dist/types/components/AccordionGroup/lib/expansion.d.ts +16 -0
  692. package/dist/types/components/AccordionGroup/view.d.ts +7 -0
  693. package/dist/types/components/Action/models/ActionState.d.ts +8 -21
  694. package/dist/types/components/ActionGroup/ActionGroup.d.ts +3 -2
  695. package/dist/types/components/Button/Button.d.ts +7 -1
  696. package/dist/types/components/Button/stories/lib.d.ts +1 -1
  697. package/dist/types/components/CartesianChart/components/ChartTooltip/TooltipLegendItem.d.ts +3 -1
  698. package/dist/types/components/CartesianChart/components/YAxis/YAxis.d.ts +7 -0
  699. package/dist/types/components/CodeEditor/CodeEditor.d.ts +12 -2
  700. package/dist/types/components/CodeEditor/hooks/useCodeEditorExtensions.d.ts +32 -1
  701. package/dist/types/components/CodeEditor/languages/all.d.ts +1 -1
  702. package/dist/types/components/CodeEditor/languages/index.d.ts +1 -0
  703. package/dist/types/components/DonutChart/components/Donut.d.ts +2 -0
  704. package/dist/types/components/FileField/FileField.d.ts +1 -1
  705. package/dist/types/components/Link/Link.d.ts +5 -1
  706. package/dist/types/components/List/components/DataLoader/DataLoader.d.ts +1 -1
  707. package/dist/types/components/List/components/Header/lib.d.ts +1 -2
  708. package/dist/types/components/List/components/Items/components/Item/Item.d.ts +1 -1
  709. package/dist/types/components/List/components/Items/components/Item/hooks/useGridItemProps.d.ts +1 -1
  710. package/dist/types/components/List/components/ListItemView/components/ListItemViewContent/ListItemViewContent.d.ts +1 -1
  711. package/dist/types/components/List/model/List.d.ts +6 -1
  712. package/dist/types/components/List/model/ListSettingsStore.d.ts +2 -4
  713. package/dist/types/components/List/model/ListViewMode.d.ts +17 -10
  714. package/dist/types/components/List/model/ReactTable.d.ts +1 -1
  715. package/dist/types/components/List/model/filter/DateRangeFilter.d.ts +21 -9
  716. package/dist/types/components/List/model/filter/Filter.d.ts +18 -52
  717. package/dist/types/components/List/model/filter/FilterValue.d.ts +10 -11
  718. package/dist/types/components/List/model/filter/types.d.ts +6 -18
  719. package/dist/types/components/List/model/item/Item.d.ts +8 -7
  720. package/dist/types/components/List/model/item/ItemCollection.d.ts +9 -4
  721. package/dist/types/components/List/model/loading/IncrementalLoaderState.d.ts +11 -21
  722. package/dist/types/components/List/model/loading/types.d.ts +5 -26
  723. package/dist/types/components/List/model/pagination/BatchesController.d.ts +1 -15
  724. package/dist/types/components/List/model/pagination/types.d.ts +1 -3
  725. package/dist/types/components/List/model/search/Search.d.ts +16 -19
  726. package/dist/types/components/List/model/search/types.d.ts +6 -8
  727. package/dist/types/components/List/model/sorting/Sorting.d.ts +14 -22
  728. package/dist/types/components/List/model/sorting/SortingFunctions.d.ts +1 -1
  729. package/dist/types/components/List/model/sorting/types.d.ts +1 -13
  730. package/dist/types/components/List/model/types.d.ts +7 -24
  731. package/dist/types/components/List/typedList.d.ts +5 -5
  732. package/dist/types/components/Markdown/components/SkeletonBlocks.d.ts +15 -0
  733. package/dist/types/components/Modal/components/ModalTrigger/ModalTrigger.d.ts +1 -5
  734. package/dist/types/components/NumberField/NumberField.d.ts +5 -0
  735. package/dist/types/components/NumberField/components/NumberFieldUnit.d.ts +13 -0
  736. package/dist/types/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator.d.ts +5 -0
  737. package/dist/types/components/SkeletonMode/SkeletonMode.d.ts +16 -0
  738. package/dist/types/components/SkeletonMode/components/SkeletonIconSurface/SkeletonIconSurface.d.ts +10 -0
  739. package/dist/types/components/SkeletonMode/components/SkeletonIconSurface/index.d.ts +2 -0
  740. package/dist/types/components/SkeletonMode/components/SkeletonRawText/SkeletonRawText.d.ts +8 -0
  741. package/dist/types/components/SkeletonMode/components/SkeletonRawText/index.d.ts +2 -0
  742. package/dist/types/components/SkeletonMode/components/SkeletonTextContent/SkeletonTextContent.d.ts +12 -0
  743. package/dist/types/components/SkeletonMode/components/SkeletonTextContent/index.d.ts +2 -0
  744. package/dist/types/components/SkeletonMode/index.d.ts +3 -0
  745. package/dist/types/components/SkeletonMode/lib/hasContent.d.ts +3 -0
  746. package/dist/types/components/SkeletonMode/lib/isTextChild.d.ts +8 -0
  747. package/dist/types/components/SkeletonMode/skeletonModeContext.d.ts +16 -0
  748. package/dist/types/components/SkeletonMode/view.d.ts +7 -0
  749. package/dist/types/components/propTypes/index.d.ts +2 -0
  750. package/dist/types/components/public.d.ts +2 -0
  751. package/dist/types/integrations/react-hook-form/components/Field/Field.d.ts +1 -1
  752. package/dist/types/integrations/react-hook-form/components/Form/Form.d.ts +1 -1
  753. package/dist/types/integrations/react-hook-form/components/FormContextProvider/FormContextProvider.d.ts +1 -1
  754. package/dist/types/integrations/react-hook-form/components/FormSettingsProvider/FormSettingsProvider.d.ts +1 -1
  755. package/dist/types/lib/dev/parkPointer.d.ts +1 -0
  756. package/dist/types/lib/hooks/useFieldComponent.d.ts +24 -4
  757. package/dist/types/lib/hooks/useFieldError.d.ts +7 -1
  758. package/dist/types/lib/propsContext/nestedPropsContext/types.d.ts +3 -0
  759. package/dist/types/lib/propsContext/overlayTriggerTunnel.d.ts +2 -2
  760. package/dist/types/lib/remote/eventHandlerContext.d.ts +2 -1
  761. package/dist/types/lib/theming/hooks/useDesignTokens.d.ts +18 -2
  762. package/dist/types/lib/types/props.d.ts +14 -0
  763. package/dist/types/status/component-status.json.d.ts +8 -0
  764. package/dist/types/views/AccordionGroupView.d.ts +4 -0
  765. package/dist/types/views/SkeletonModeView.d.ts +4 -0
  766. package/package.json +15 -11
  767. package/dist/js/packages/components/src/components/List/model/filter/FilterValue.mjs +0 -43
  768. package/dist/js/packages/components/src/components/List/model/filter/FilterValue.mjs.map +0 -1
  769. package/dist/js/packages/components/src/components/List/model/filter/dateRangeFilterFn.mjs +0 -23
  770. package/dist/js/packages/components/src/components/List/model/filter/dateRangeFilterFn.mjs.map +0 -1
  771. package/dist/js/packages/components/src/components/List/model/item/Item.mjs +0 -20
  772. package/dist/js/packages/components/src/components/List/model/item/Item.mjs.map +0 -1
  773. package/dist/js/packages/components/src/components/List/model/pagination/BatchesController.mjs +0 -58
  774. package/dist/js/packages/components/src/components/List/model/pagination/BatchesController.mjs.map +0 -1
  775. package/dist/js/packages/components/src/lib/array/toArray.mjs +0 -8
  776. package/dist/js/packages/components/src/lib/array/toArray.mjs.map +0 -1
  777. package/dist/js/packages/components/src/lib/date/transformDateValueToDateTime.mjs +0 -15
  778. package/dist/js/packages/components/src/lib/date/transformDateValueToDateTime.mjs.map +0 -1
  779. package/dist/js/packages/components/src/lib/promises/sleep.mjs +0 -8
  780. package/dist/js/packages/components/src/lib/promises/sleep.mjs.map +0 -1
  781. package/dist/types/components/List/model/filter/dateRangeFilterFn.d.ts +0 -6
  782. package/dist/types/components/List/typedList.test-types.d.ts +0 -1
  783. package/dist/types/integrations/@mittwald/password-tools-js/passwordCreationFieldExport.test-types.d.ts +0 -1
  784. package/dist/types/lib/array/toArray.d.ts +0 -1
  785. package/dist/types/lib/types/array.d.ts +0 -1
  786. package/dist/types/lib/types/props.test-types.d.ts +0 -1
  787. /package/dist/types/{components/CartesianChart/typedCartesianChart.test-types.d.ts → lib/hooks/fieldErrorRenderedContext.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SearchField.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/SearchField/SearchField.tsx"],"sourcesContent":["import type { FC, KeyboardEvent } from \"react\";\nimport { createElement, useEffect, useState } from \"react\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport type { Search } from \"@/components/List/model/search/Search\";\nimport type { SearchFieldRenderComponent } from \"@/components/List/model/search/types\";\nimport { useOnChange } from \"@/lib/hooks\";\nimport SearchFieldView from \"@/views/SearchFieldView\";\nimport styles from \"./SearchField.module.scss\";\nimport { useAriaAnnounceSearchState } from \"@/components/List/hooks/useAriaAnnounceSearchState\";\n\ninterface Props extends PropsWithClassName {\n search: Search<never>;\n isDisabled?: boolean;\n}\n\nconst autoSubmitTimeout = 500;\n\nconst DefaultSearchFieldRender: SearchFieldRenderComponent = (props) => {\n const { onChange, value, autoSubmit = true, ...searchFieldProps } = props;\n\n const [searchString, setSearchString] = useState(value ?? \"\");\n const [previousSearchString, setPreviousSearchString] = useState(\"\");\n\n const submitSearch = () => {\n if (searchString.trim() === \"\") {\n onChange(undefined);\n } else if (previousSearchString !== searchString) {\n setPreviousSearchString(searchString);\n onChange(searchString);\n }\n };\n\n useEffect(() => {\n if (autoSubmit) {\n const timeout = setTimeout(() => submitSearch(), autoSubmitTimeout);\n return () => clearTimeout(timeout);\n }\n }, [searchString, autoSubmit]);\n\n useAriaAnnounceSearchState();\n\n useOnChange(value, () => {\n setSearchString(value ?? \"\");\n }, [searchString]);\n\n const clearSearch = () => {\n onChange(undefined);\n setSearchString(\"\");\n };\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e.key === \"Enter\" && !autoSubmit) {\n submitSearch();\n } else if (e.key === \"Escape\") {\n clearSearch();\n }\n };\n\n return (\n <SearchFieldView\n className={styles.searchField}\n value={searchString}\n onKeyUp={handleKeyPress}\n onChange={(value) => setSearchString(value)}\n onClear={clearSearch}\n {...searchFieldProps}\n />\n );\n};\n\nexport const SearchField: FC<Props> = (props) => {\n const { search, isDisabled } = props;\n\n const render = search.render ?? DefaultSearchFieldRender;\n\n return createElement(render, {\n value: search.value,\n onChange: search.setValue.bind(search),\n isDisabled,\n ...search.textFieldProps,\n });\n};\n\nexport default SearchField;\n"],"mappings":";;;;;;;;;AAeA,IAAM,oBAAoB;AAE1B,IAAM,4BAAwD,UAAU;CACtE,MAAM,EAAE,UAAU,OAAO,aAAa,MAAM,GAAG,qBAAqB;CAEpE,MAAM,CAAC,cAAc,mBAAmB,SAAS,SAAS,EAAE;CAC5D,MAAM,CAAC,sBAAsB,2BAA2B,SAAS,EAAE;CAEnE,MAAM,qBAAqB;EACzB,IAAI,aAAa,KAAK,MAAM,IAC1B,SAAS,KAAA,CAAS;OACb,IAAI,yBAAyB,cAAc;GAChD,wBAAwB,YAAY;GACpC,SAAS,YAAY;EACvB;CACF;CAEA,gBAAgB;EACd,IAAI,YAAY;GACd,MAAM,UAAU,iBAAiB,aAAa,GAAG,iBAAiB;GAClE,aAAa,aAAa,OAAO;EACnC;CACF,GAAG,CAAC,cAAc,UAAU,CAAC;CAE7B,2BAA2B;CAE3B,YAAY,aAAa;EACvB,gBAAgB,SAAS,EAAE;CAC7B,GAAG,CAAC,YAAY,CAAC;CAEjB,MAAM,oBAAoB;EACxB,SAAS,KAAA,CAAS;EAClB,gBAAgB,EAAE;CACpB;CAEA,MAAM,kBAAkB,MAAqB;EAC3C,IAAI,EAAE,QAAQ,WAAW,CAAC,YACxB,aAAa;OACR,IAAI,EAAE,QAAQ,UACnB,YAAY;CAEhB;CAEA,OACE,oBAAC,iBAAD;EACE,WAAW,2BAAO;EAClB,OAAO;EACP,SAAS;EACT,WAAW,UAAU,gBAAgB,KAAK;EAC1C,SAAS;EACT,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,eAA0B,UAAU;CAC/C,MAAM,EAAE,QAAQ,eAAe;CAE/B,MAAM,SAAS,OAAO,UAAU;CAEhC,OAAO,cAAc,QAAQ;EAC3B,OAAO,OAAO;EACd,UAAU,OAAO,SAAS,KAAK,MAAM;EACrC;EACA,GAAG,OAAO;CACZ,CAAC;AACH"}
1
+ {"version":3,"file":"SearchField.mjs","names":["styles"],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/SearchField/SearchField.tsx"],"sourcesContent":["import type { FC, KeyboardEvent } from \"react\";\nimport { createElement, useEffect, useState } from \"react\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport type { Search } from \"@/components/List/model/search/Search\";\nimport type { SearchFieldRenderComponent } from \"@/components/List/model/search/types\";\nimport { useOnChange } from \"@/lib/hooks\";\nimport SearchFieldView from \"@/views/SearchFieldView\";\nimport styles from \"./SearchField.module.scss\";\nimport { useAriaAnnounceSearchState } from \"@/components/List/hooks/useAriaAnnounceSearchState\";\n\ninterface Props extends PropsWithClassName {\n search: Search<never>;\n isDisabled?: boolean;\n}\n\nconst autoSubmitTimeout = 500;\n\nconst DefaultSearchFieldRender: SearchFieldRenderComponent = (props) => {\n const { onChange, value, autoSubmit = true, ...searchFieldProps } = props;\n\n const [searchString, setSearchString] = useState(value ?? \"\");\n const [previousSearchString, setPreviousSearchString] = useState(\"\");\n\n const submitSearch = () => {\n if (searchString.trim() === \"\") {\n onChange(undefined);\n } else if (previousSearchString !== searchString) {\n setPreviousSearchString(searchString);\n onChange(searchString);\n }\n };\n\n useEffect(() => {\n if (autoSubmit) {\n const timeout = setTimeout(() => submitSearch(), autoSubmitTimeout);\n return () => clearTimeout(timeout);\n }\n }, [searchString, autoSubmit]);\n\n useAriaAnnounceSearchState();\n\n useOnChange(value, () => {\n setSearchString(value ?? \"\");\n }, [searchString]);\n\n const clearSearch = () => {\n onChange(undefined);\n setSearchString(\"\");\n };\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e.key === \"Enter\" && !autoSubmit) {\n submitSearch();\n } else if (e.key === \"Escape\") {\n clearSearch();\n }\n };\n\n return (\n <SearchFieldView\n className={styles.searchField}\n value={searchString}\n onKeyUp={handleKeyPress}\n onChange={(value) => setSearchString(value)}\n onClear={clearSearch}\n {...searchFieldProps}\n />\n );\n};\n\nexport const SearchField: FC<Props> = (props) => {\n const { search, isDisabled } = props;\n\n const render = search.render ?? DefaultSearchFieldRender;\n\n return createElement(render, {\n value: search.value,\n onChange: search.setValue.bind(search),\n isDisabled,\n ...search.textFieldProps,\n });\n};\n\nexport default SearchField;\n"],"mappings":";;;;;;;;;AAeA,IAAM,oBAAoB;AAE1B,IAAM,4BAAwD,UAAU;CACtE,MAAM,EAAE,UAAU,OAAO,aAAa,MAAM,GAAG,qBAAqB;CAEpE,MAAM,CAAC,cAAc,mBAAmB,SAAS,SAAS,EAAE;CAC5D,MAAM,CAAC,sBAAsB,2BAA2B,SAAS,EAAE;CAEnE,MAAM,qBAAqB;EACzB,IAAI,aAAa,KAAK,MAAM,IAC1B,SAAS,KAAA,CAAS;OACb,IAAI,yBAAyB,cAAc;GAChD,wBAAwB,YAAY;GACpC,SAAS,YAAY;EACvB;CACF;CAEA,gBAAgB;EACd,IAAI,YAAY;GACd,MAAM,UAAU,iBAAiB,aAAa,GAAG,iBAAiB;GAClE,aAAa,aAAa,OAAO;EACnC;CACF,GAAG,CAAC,cAAc,UAAU,CAAC;CAE7B,2BAA2B;CAE3B,YAAY,aAAa;EACvB,gBAAgB,SAAS,EAAE;CAC7B,GAAG,CAAC,YAAY,CAAC;CAEjB,MAAM,oBAAoB;EACxB,SAAS,KAAA,CAAS;EAClB,gBAAgB,EAAE;CACpB;CAEA,MAAM,kBAAkB,MAAqB;EAC3C,IAAI,EAAE,QAAQ,WAAW,CAAC,YACxB,aAAa;OACR,IAAI,EAAE,QAAQ,UACnB,YAAY;CAEhB;CAEA,OACE,oBAAC,iBAAD;EACE,WAAWA,2BAAO;EAClB,OAAO;EACP,SAAS;EACT,WAAW,UAAU,gBAAgB,KAAK;EAC1C,SAAS;EACT,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,eAA0B,UAAU;CAC/C,MAAM,EAAE,QAAQ,eAAe;CAE/B,MAAM,SAAS,OAAO,UAAU;CAEhC,OAAO,cAAc,QAAQ;EAC3B,OAAO,OAAO;EACd,UAAU,OAAO,SAAS,KAAK,MAAM;EACrC;EACA,GAAG,OAAO;CACZ,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"SortingContextMenu.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/SortingContextMenu/SortingContextMenu.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport locales from \"../../../../locales/*.locale.json\";\nimport TextView from \"@/views/TextView\";\nimport ButtonView from \"@/views/ButtonView\";\nimport {\n IconAscending,\n IconDescending,\n IconSorting,\n} from \"@/components/Icon/components/icons\";\nimport styles from \"@/components/List/components/Header/Header.module.scss\";\nimport { SortingMenuItem } from \"@/components/List/components/Header/components/SortingContextMenu/SortingMenuItem\";\nimport ContextMenuTriggerView from \"@/views/ContextMenuTriggerView\";\nimport ContextMenuView from \"@/views/ContextMenuView\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider\";\n\ninterface Props {\n isDisabled?: boolean;\n}\n\nexport const SortingContextMenu: FC<Props> = (props) => {\n const { isDisabled } = props;\n\n const list = useList();\n const formatter = useLocalizedStringFormatter(locales, \"List\");\n\n const sortingItems = list.visibleSorting.map((s) => (\n <SortingMenuItem sorting={s} key={s.id} />\n ));\n\n if (sortingItems.length === 0) {\n return null;\n }\n\n const labelSorting = list.visibleSorting.find((s) => s.isSorted());\n\n const text = (\n <TextView>\n {labelSorting ? (\n <>{labelSorting.name ?? labelSorting.property}</>\n ) : (\n formatter.format(\"sorting\")\n )}\n </TextView>\n );\n\n const icon = !labelSorting ? (\n <IconSorting />\n ) : labelSorting?.direction === \"asc\" ? (\n <IconAscending />\n ) : (\n <IconDescending />\n );\n\n return (\n <ContextMenuTriggerView>\n <ButtonView\n variant=\"outline\"\n color=\"secondary\"\n className={styles.hideOnMobile}\n isDisabled={isDisabled}\n >\n {text}\n {icon}\n </ButtonView>\n <ContextMenuView\n selectionMode=\"single\"\n selectedKeys={labelSorting ? [labelSorting.id] : []}\n >\n {sortingItems}\n </ContextMenuView>\n </ContextMenuTriggerView>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAoBA,IAAa,sBAAiC,UAAU;CACtD,MAAM,EAAE,eAAe;CAEvB,MAAM,OAAO,QAAQ;CACrB,MAAM,YAAY,4BAA4B,kBAAS,MAAM;CAE7D,MAAM,eAAe,KAAK,eAAe,KAAK,MAC5C,oBAAC,iBAAD,EAAiB,SAAS,EAAe,GAAP,EAAE,EAAK,CAC1C;CAED,IAAI,aAAa,WAAW,GAC1B,OAAO;CAGT,MAAM,eAAe,KAAK,eAAe,MAAM,MAAM,EAAE,SAAS,CAAC;CAEjE,MAAM,OACJ,oBAAC,UAAD,EAAA,UACG,eACC,oBAAA,UAAA,EAAA,UAAG,aAAa,QAAQ,aAAa,SAAW,CAAA,IAEhD,UAAU,OAAO,SAAS,EAEpB,CAAA;CAGZ,MAAM,OAAO,CAAC,eACZ,oBAAC,aAAD,CAAc,CAAA,IACZ,cAAc,cAAc,QAC9B,oBAAC,eAAD,CAAgB,CAAA,IAEhB,oBAAC,gBAAD,CAAiB,CAAA;CAGnB,OACE,qBAAC,wBAAD,EAAA,UAAA,CACE,qBAAC,YAAD;EACE,SAAQ;EACR,OAAM;EACN,WAAW,sBAAO;EACN;EAJd,UAAA,CAMG,MACA,IACS;CACZ,CAAA,GAAA,oBAAC,iBAAD;EACE,eAAc;EACd,cAAc,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC;EAEjD,UAAA;CACc,CAAA,CACK,EAAA,CAAA;AAE5B"}
1
+ {"version":3,"file":"SortingContextMenu.mjs","names":["locales","_Fragment","styles"],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/SortingContextMenu/SortingContextMenu.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport locales from \"../../../../locales/*.locale.json\";\nimport TextView from \"@/views/TextView\";\nimport ButtonView from \"@/views/ButtonView\";\nimport {\n IconAscending,\n IconDescending,\n IconSorting,\n} from \"@/components/Icon/components/icons\";\nimport styles from \"@/components/List/components/Header/Header.module.scss\";\nimport { SortingMenuItem } from \"@/components/List/components/Header/components/SortingContextMenu/SortingMenuItem\";\nimport ContextMenuTriggerView from \"@/views/ContextMenuTriggerView\";\nimport ContextMenuView from \"@/views/ContextMenuView\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider\";\n\ninterface Props {\n isDisabled?: boolean;\n}\n\nexport const SortingContextMenu: FC<Props> = (props) => {\n const { isDisabled } = props;\n\n const list = useList();\n const formatter = useLocalizedStringFormatter(locales, \"List\");\n\n const sortingItems = list.visibleSorting.map((s) => (\n <SortingMenuItem sorting={s} key={s.id} />\n ));\n\n if (sortingItems.length === 0) {\n return null;\n }\n\n const labelSorting = list.visibleSorting.find((s) => s.isSorted());\n\n const text = (\n <TextView>\n {labelSorting ? (\n <>{labelSorting.name ?? labelSorting.property}</>\n ) : (\n formatter.format(\"sorting\")\n )}\n </TextView>\n );\n\n const icon = !labelSorting ? (\n <IconSorting />\n ) : labelSorting?.direction === \"asc\" ? (\n <IconAscending />\n ) : (\n <IconDescending />\n );\n\n return (\n <ContextMenuTriggerView>\n <ButtonView\n variant=\"outline\"\n color=\"secondary\"\n className={styles.hideOnMobile}\n isDisabled={isDisabled}\n >\n {text}\n {icon}\n </ButtonView>\n <ContextMenuView\n selectionMode=\"single\"\n selectedKeys={labelSorting ? [labelSorting.id] : []}\n >\n {sortingItems}\n </ContextMenuView>\n </ContextMenuTriggerView>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAoBA,IAAa,sBAAiC,UAAU;CACtD,MAAM,EAAE,eAAe;CAEvB,MAAM,OAAO,QAAQ;CACrB,MAAM,YAAY,4BAA4BA,kBAAS,MAAM;CAE7D,MAAM,eAAe,KAAK,eAAe,KAAK,MAC5C,oBAAC,iBAAD,EAAiB,SAAS,EAAe,GAAP,EAAE,EAAK,CAC1C;CAED,IAAI,aAAa,WAAW,GAC1B,OAAO;CAGT,MAAM,eAAe,KAAK,eAAe,MAAM,MAAM,EAAE,SAAS,CAAC;CAEjE,MAAM,OACJ,oBAAC,UAAD,EAAA,UACG,eACC,oBAAAC,UAAA,EAAA,UAAG,aAAa,QAAQ,aAAa,SAAW,CAAA,IAEhD,UAAU,OAAO,SAAS,EAEpB,CAAA;CAGZ,MAAM,OAAO,CAAC,eACZ,oBAAC,aAAD,CAAc,CAAA,IACZ,cAAc,cAAc,QAC9B,oBAAC,eAAD,CAAgB,CAAA,IAEhB,oBAAC,gBAAD,CAAiB,CAAA;CAGnB,OACE,qBAAC,wBAAD,EAAA,UAAA,CACE,qBAAC,YAAD;EACE,SAAQ;EACR,OAAM;EACN,WAAWC,sBAAO;EACN;EAJd,UAAA,CAMG,MACA,IACS;CACZ,CAAA,GAAA,oBAAC,iBAAD;EACE,eAAc;EACd,cAAc,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC;EAEjD,UAAA;CACc,CAAA,CACK,EAAA,CAAA;AAE5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewModeContextMenu.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/ViewModeContextMenu/ViewModeContextMenu.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport locales from \"../../../../locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport { useList } from \"@/components/List\";\nimport { IconView } from \"@/components/Icon/components/icons\";\nimport ButtonView from \"@/views/ButtonView\";\nimport TextView from \"@/views/TextView\";\nimport { ViewModeMenuItem } from \"@/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem\";\nimport { useAvailableViewModes } from \"@/components/List/components/Header/lib\";\nimport styles from \"@/components/List/components/Header/Header.module.scss\";\nimport ContextMenuTriggerView from \"@/views/ContextMenuTriggerView\";\nimport ContextMenuView from \"@/views/ContextMenuView\";\n\ninterface Props {\n isDisabled?: boolean;\n}\n\nexport const ViewModeContextMenu: FC<Props> = (props) => {\n const { isDisabled } = props;\n\n const stringFormatter = useLocalizedStringFormatter(locales, \"List\");\n const list = useList();\n const selectedViewMode = list.viewMode.value;\n\n const availableViewModes = useAvailableViewModes();\n\n if (availableViewModes.length <= 1) {\n return null;\n }\n\n return (\n <ContextMenuTriggerView>\n <ButtonView\n variant=\"outline\"\n color=\"secondary\"\n aria-label={stringFormatter.format(\"settings\")}\n className={styles.hideOnMobile}\n isDisabled={isDisabled}\n >\n <TextView>\n {stringFormatter.format(`settings.viewMode.${selectedViewMode}`)}\n </TextView>\n <IconView />\n </ButtonView>\n <ContextMenuView selectionMode=\"single\" selectedKeys={[selectedViewMode]}>\n {availableViewModes.map((viewMode) => (\n <ViewModeMenuItem viewMode={viewMode} key={viewMode} />\n ))}\n </ContextMenuView>\n </ContextMenuTriggerView>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAiBA,IAAa,uBAAkC,UAAU;CACvD,MAAM,EAAE,eAAe;CAEvB,MAAM,kBAAkB,4BAA4B,kBAAS,MAAM;CAEnE,MAAM,mBADO,QACY,CAAA,CAAK,SAAS;CAEvC,MAAM,qBAAqB,sBAAsB;CAEjD,IAAI,mBAAmB,UAAU,GAC/B,OAAO;CAGT,OACE,qBAAC,wBAAD,EAAA,UAAA,CACE,qBAAC,YAAD;EACE,SAAQ;EACR,OAAM;EACN,cAAY,gBAAgB,OAAO,UAAU;EAC7C,WAAW,sBAAO;EACN;EALd,UAAA,CAOE,oBAAC,UAAD,EAAA,UACG,gBAAgB,OAAO,qBAAqB,kBAAkB,EACvD,CAAA,GACV,oBAAC,UAAD,CAAW,CAAA,CACD;CACZ,CAAA,GAAA,oBAAC,iBAAD;EAAiB,eAAc;EAAS,cAAc,CAAC,gBAAgB;EACpE,UAAA,mBAAmB,KAAK,aACvB,oBAAC,kBAAD,EAA4B,SAA0B,GAAX,QAAW,CACvD;CACc,CAAA,CACK,EAAA,CAAA;AAE5B"}
1
+ {"version":3,"file":"ViewModeContextMenu.mjs","names":["locales","styles"],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/ViewModeContextMenu/ViewModeContextMenu.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport locales from \"../../../../locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport { useList } from \"@/components/List\";\nimport { IconView } from \"@/components/Icon/components/icons\";\nimport ButtonView from \"@/views/ButtonView\";\nimport TextView from \"@/views/TextView\";\nimport { ViewModeMenuItem } from \"@/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem\";\nimport { useAvailableViewModes } from \"@/components/List/components/Header/lib\";\nimport styles from \"@/components/List/components/Header/Header.module.scss\";\nimport ContextMenuTriggerView from \"@/views/ContextMenuTriggerView\";\nimport ContextMenuView from \"@/views/ContextMenuView\";\n\ninterface Props {\n isDisabled?: boolean;\n}\n\nexport const ViewModeContextMenu: FC<Props> = (props) => {\n const { isDisabled } = props;\n\n const stringFormatter = useLocalizedStringFormatter(locales, \"List\");\n const list = useList();\n const selectedViewMode = list.viewMode.value;\n\n const availableViewModes = useAvailableViewModes();\n\n if (availableViewModes.length <= 1) {\n return null;\n }\n\n return (\n <ContextMenuTriggerView>\n <ButtonView\n variant=\"outline\"\n color=\"secondary\"\n aria-label={stringFormatter.format(\"settings\")}\n className={styles.hideOnMobile}\n isDisabled={isDisabled}\n >\n <TextView>\n {stringFormatter.format(`settings.viewMode.${selectedViewMode}`)}\n </TextView>\n <IconView />\n </ButtonView>\n <ContextMenuView selectionMode=\"single\" selectedKeys={[selectedViewMode]}>\n {availableViewModes.map((viewMode) => (\n <ViewModeMenuItem viewMode={viewMode} key={viewMode} />\n ))}\n </ContextMenuView>\n </ContextMenuTriggerView>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAiBA,IAAa,uBAAkC,UAAU;CACvD,MAAM,EAAE,eAAe;CAEvB,MAAM,kBAAkB,4BAA4BA,kBAAS,MAAM;CAEnE,MAAM,mBADO,QACY,CAAA,CAAK,SAAS;CAEvC,MAAM,qBAAqB,sBAAsB;CAEjD,IAAI,mBAAmB,UAAU,GAC/B,OAAO;CAGT,OACE,qBAAC,wBAAD,EAAA,UAAA,CACE,qBAAC,YAAD;EACE,SAAQ;EACR,OAAM;EACN,cAAY,gBAAgB,OAAO,UAAU;EAC7C,WAAWC,sBAAO;EACN;EALd,UAAA,CAOE,oBAAC,UAAD,EAAA,UACG,gBAAgB,OAAO,qBAAqB,kBAAkB,EACvD,CAAA,GACV,oBAAC,UAAD,CAAW,CAAA,CACD;CACZ,CAAA,GAAA,oBAAC,iBAAD;EAAiB,eAAc;EAAS,cAAc,CAAC,gBAAgB;EACpE,UAAA,mBAAmB,KAAK,aACvB,oBAAC,kBAAD,EAA4B,SAA0B,GAAX,QAAW,CACvD;CACc,CAAA,CACK,EAAA,CAAA;AAE5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewModeMenuItem.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem.tsx"],"sourcesContent":["import { type FC } from \"react\";\nimport MenuItemView from \"@/views/MenuItemView\";\nimport type { ListViewMode } from \"@/components/List/model/types\";\nimport { useList } from \"@/components/List\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport locales from \"../../../../locales/*.locale.json\";\n\ninterface Props {\n viewMode: ListViewMode;\n}\n\nexport const ViewModeMenuItem: FC<Props> = (props) => {\n const { viewMode } = props;\n const list = useList();\n const stringFormatter = useLocalizedStringFormatter(locales, \"List\");\n\n return (\n <MenuItemView\n id={viewMode}\n onAction={() => {\n list.viewMode.set(viewMode);\n }}\n >\n {stringFormatter.format(`settings.viewMode.${viewMode}`)}\n </MenuItemView>\n );\n};\n"],"mappings":";;;;;;;;;AAWA,IAAa,oBAA+B,UAAU;CACpD,MAAM,EAAE,aAAa;CACrB,MAAM,OAAO,QAAQ;CACrB,MAAM,kBAAkB,4BAA4B,kBAAS,MAAM;CAEnE,OACE,oBAAC,cAAD;EACE,IAAI;EACJ,gBAAgB;GACd,KAAK,SAAS,IAAI,QAAQ;EAC5B;EAEC,UAAA,gBAAgB,OAAO,qBAAqB,UAAU;CAC3C,CAAA;AAElB"}
1
+ {"version":3,"file":"ViewModeMenuItem.mjs","names":["locales"],"sources":["../../../../../../../../../../../src/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem.tsx"],"sourcesContent":["import { type FC } from \"react\";\nimport MenuItemView from \"@/views/MenuItemView\";\nimport type { ListViewMode } from \"@/components/List/model/types\";\nimport { useList } from \"@/components/List\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport locales from \"../../../../locales/*.locale.json\";\n\ninterface Props {\n viewMode: ListViewMode;\n}\n\nexport const ViewModeMenuItem: FC<Props> = (props) => {\n const { viewMode } = props;\n const list = useList();\n const stringFormatter = useLocalizedStringFormatter(locales, \"List\");\n\n return (\n <MenuItemView\n id={viewMode}\n onAction={() => {\n list.viewMode.set(viewMode);\n }}\n >\n {stringFormatter.format(`settings.viewMode.${viewMode}`)}\n </MenuItemView>\n );\n};\n"],"mappings":";;;;;;;;;AAWA,IAAa,oBAA+B,UAAU;CACpD,MAAM,EAAE,aAAa;CACrB,MAAM,OAAO,QAAQ;CACrB,MAAM,kBAAkB,4BAA4BA,kBAAS,MAAM;CAEnE,OACE,oBAAC,cAAD;EACE,IAAI;EACJ,gBAAgB;GACd,KAAK,SAAS,IAAI,QAAQ;EAC5B;EAEC,UAAA,gBAAgB,OAAO,qBAAqB,UAAU;CAC3C,CAAA;AAElB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Items.mjs","names":[],"sources":["../../../../../../../../../src/components/List/components/Items/Items.tsx"],"sourcesContent":["import Item from \"@/components/List/components/Items/components/Item/Item\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport DivView from \"@/views/DivView\";\nimport ItemsGridListView from \"@/views/ItemsGridListView\";\nimport clsx from \"clsx\";\nimport type { FC } from \"react\";\nimport styles from \"./Items.module.scss\";\nimport { FallbackItems } from \"./components/FallbackItems\";\nimport { useInfiniteScrollTrigger } from \"@/components/List/hooks/useInfiniteScrollTrigger\";\n\nexport const Items: FC = () => {\n const list = useList();\n const tiles = list.viewMode.isTiles;\n const isLoading = list.loader.useIsLoading();\n const isInitiallyLoading = list.loader.useIsInitiallyLoading();\n const isLoadingMore = list.loader.useIsLoadingMore();\n\n const { triggerRef, triggerIndex } = useInfiniteScrollTrigger();\n\n if (!list.itemView) {\n return null;\n }\n\n const items = list.items.entries.map((item, index) => (\n <Item\n key={item.id}\n data={item.data}\n id={item.id}\n list={list}\n isTile={tiles}\n triggerRef={index === triggerIndex ? triggerRef : undefined}\n />\n ));\n\n const rootClassName = clsx(\n styles.items,\n isLoading && !(list.infiniteScroll && isLoadingMore) && styles.isLoading,\n tiles && styles.tiles,\n );\n\n const {\n \"aria-labelledby\": ariaLabelledby,\n \"aria-label\": ariaLabel,\n ...rest\n } = list.componentProps;\n\n return (\n <DivView aria-hidden={isInitiallyLoading} aria-busy={isLoading}>\n <ItemsGridListView\n className={rootClassName}\n {...rest}\n aria-labelledby={ariaLabel ? undefined : ariaLabelledby}\n aria-label={ariaLabel}\n layout={tiles ? \"grid\" : \"stack\"}\n tileMaxWidth={list.itemView.tileMaxWidth}\n >\n {items.length === 0 && isInitiallyLoading ? <FallbackItems /> : items}\n </ItemsGridListView>\n </DivView>\n );\n};\n\nexport default Items;\n"],"mappings":";;;;;;;;;;;;AAUA,IAAa,cAAkB;CAC7B,MAAM,OAAO,QAAQ;CACrB,MAAM,QAAQ,KAAK,SAAS;CAC5B,MAAM,YAAY,KAAK,OAAO,aAAa;CAC3C,MAAM,qBAAqB,KAAK,OAAO,sBAAsB;CAC7D,MAAM,gBAAgB,KAAK,OAAO,iBAAiB;CAEnD,MAAM,EAAE,YAAY,iBAAiB,yBAAyB;CAE9D,IAAI,CAAC,KAAK,UACR,OAAO;CAGT,MAAM,QAAQ,KAAK,MAAM,QAAQ,KAAK,MAAM,UAC1C,oBAAC,MAAD;EAEE,MAAM,KAAK;EACX,IAAI,KAAK;EACH;EACN,QAAQ;EACR,YAAY,UAAU,eAAe,aAAa,KAAA;CACnD,GANM,KAAK,EAMX,CACF;CAED,MAAM,gBAAgB,KACpB,qBAAO,OACP,aAAa,EAAE,KAAK,kBAAkB,kBAAkB,qBAAO,WAC/D,SAAS,qBAAO,KAClB;CAEA,MAAM,EACJ,mBAAmB,gBACnB,cAAc,WACd,GAAG,SACD,KAAK;CAET,OACE,oBAAC,SAAD;EAAS,eAAa;EAAoB,aAAW;EACnD,UAAA,oBAAC,mBAAD;GACE,WAAW;GACX,GAAI;GACJ,mBAAiB,YAAY,KAAA,IAAY;GACzC,cAAY;GACZ,QAAQ,QAAQ,SAAS;GACzB,cAAc,KAAK,SAAS;GAE3B,UAAA,MAAM,WAAW,KAAK,qBAAqB,oBAAC,eAAD,CAAgB,CAAA,IAAI;EAC/C,CAAA;CACZ,CAAA;AAEb"}
1
+ {"version":3,"file":"Items.mjs","names":["styles"],"sources":["../../../../../../../../../src/components/List/components/Items/Items.tsx"],"sourcesContent":["import Item from \"@/components/List/components/Items/components/Item/Item\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport DivView from \"@/views/DivView\";\nimport ItemsGridListView from \"@/views/ItemsGridListView\";\nimport clsx from \"clsx\";\nimport type { FC } from \"react\";\nimport styles from \"./Items.module.scss\";\nimport { FallbackItems } from \"./components/FallbackItems\";\nimport { useInfiniteScrollTrigger } from \"@/components/List/hooks/useInfiniteScrollTrigger\";\n\nexport const Items: FC = () => {\n const list = useList();\n const tiles = list.viewMode.isTiles;\n const isLoading = list.loader.useIsLoading();\n const isInitiallyLoading = list.loader.useIsInitiallyLoading();\n const isLoadingMore = list.loader.useIsLoadingMore();\n\n const { triggerRef, triggerIndex } = useInfiniteScrollTrigger();\n\n if (!list.itemView) {\n return null;\n }\n\n const items = list.items.entries.map((item, index) => (\n <Item\n key={item.id}\n data={item.data}\n id={item.id}\n list={list}\n isTile={tiles}\n triggerRef={index === triggerIndex ? triggerRef : undefined}\n />\n ));\n\n const rootClassName = clsx(\n styles.items,\n isLoading && !(list.infiniteScroll && isLoadingMore) && styles.isLoading,\n tiles && styles.tiles,\n );\n\n const {\n \"aria-labelledby\": ariaLabelledby,\n \"aria-label\": ariaLabel,\n ...rest\n } = list.componentProps;\n\n return (\n <DivView aria-hidden={isInitiallyLoading} aria-busy={isLoading}>\n <ItemsGridListView\n className={rootClassName}\n {...rest}\n aria-labelledby={ariaLabel ? undefined : ariaLabelledby}\n aria-label={ariaLabel}\n layout={tiles ? \"grid\" : \"stack\"}\n tileMaxWidth={list.itemView.tileMaxWidth}\n >\n {items.length === 0 && isInitiallyLoading ? <FallbackItems /> : items}\n </ItemsGridListView>\n </DivView>\n );\n};\n\nexport default Items;\n"],"mappings":";;;;;;;;;;;;AAUA,IAAa,cAAkB;CAC7B,MAAM,OAAO,QAAQ;CACrB,MAAM,QAAQ,KAAK,SAAS;CAC5B,MAAM,YAAY,KAAK,OAAO,aAAa;CAC3C,MAAM,qBAAqB,KAAK,OAAO,sBAAsB;CAC7D,MAAM,gBAAgB,KAAK,OAAO,iBAAiB;CAEnD,MAAM,EAAE,YAAY,iBAAiB,yBAAyB;CAE9D,IAAI,CAAC,KAAK,UACR,OAAO;CAGT,MAAM,QAAQ,KAAK,MAAM,QAAQ,KAAK,MAAM,UAC1C,oBAAC,MAAD;EAEE,MAAM,KAAK;EACX,IAAI,KAAK;EACH;EACN,QAAQ;EACR,YAAY,UAAU,eAAe,aAAa,KAAA;CACnD,GANM,KAAK,EAMX,CACF;CAED,MAAM,gBAAgB,KACpBA,qBAAO,OACP,aAAa,EAAE,KAAK,kBAAkB,kBAAkBA,qBAAO,WAC/D,SAASA,qBAAO,KAClB;CAEA,MAAM,EACJ,mBAAmB,gBACnB,cAAc,WACd,GAAG,SACD,KAAK;CAET,OACE,oBAAC,SAAD;EAAS,eAAa;EAAoB,aAAW;EACnD,UAAA,oBAAC,mBAAD;GACE,WAAW;GACX,GAAI;GACJ,mBAAiB,YAAY,KAAA,IAAY;GACzC,cAAY;GACZ,QAAQ,QAAQ,SAAS;GACzB,cAAc,KAAK,SAAS;GAE3B,UAAA,MAAM,WAAW,KAAK,qBAAqB,oBAAC,eAAD,CAAgB,CAAA,IAAI;EAC/C,CAAA;CACZ,CAAA;AAEb"}
@@ -1 +1 @@
1
- {"version":3,"file":"Item.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Items/components/Item/Item.tsx"],"sourcesContent":["import { useGridItemProps } from \"@/components/List/components/Items/components/Item/hooks/useGridItemProps\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport type ListModel from \"@/components/List/model/List\";\nimport ItemsGridListItemView from \"@/views/ItemsGridListItemView\";\nimport { mergeRefs } from \"@react-aria/utils\";\nimport type { FC, PropsWithChildren, Ref } from \"react\";\nimport { memo, Suspense } from \"react\";\nimport type { Key } from \"react-aria-components\";\nimport styles from \"./Item.module.scss\";\nimport { ItemLoadingView } from \"./components/ItemLoadingView/ItemLoadingView\";\n\ninterface Props extends PropsWithChildren {\n id: Key;\n data: never;\n triggerRef?: Ref<HTMLDivElement>;\n list: ListModel<never>;\n isTile: boolean;\n}\n\nconst ItemImpl = (props: Props) => {\n const { id, data, triggerRef, list, isTile } = props;\n\n const itemView = list.itemView;\n\n const { gridItemProps, children } = useGridItemProps(props, list);\n\n if (!itemView) {\n return null;\n }\n\n const textValue = itemView.textValue ? itemView.textValue(data) : undefined;\n const href = itemView.href ? itemView.href(data) : undefined;\n const hasAction = !!gridItemProps.onAction || !!href;\n\n const existingRef = \"ref\" in gridItemProps ? gridItemProps.ref : undefined;\n const gridItemPropsWithRef = triggerRef\n ? { ...gridItemProps, ref: mergeRefs(existingRef, triggerRef) }\n : gridItemProps;\n\n return (\n <ItemsGridListItemView\n id={id}\n textValue={textValue}\n href={href}\n target={itemView.target}\n hasAction={hasAction}\n isTile={isTile}\n {...gridItemPropsWithRef}\n >\n <Suspense fallback={<ItemLoadingView />}>{children}</Suspense>\n </ItemsGridListItemView>\n );\n};\n\n// The list model is rebuilt on every render, so it cannot be compared by\n// identity — but everything an item renders from it can. Those closures come\n// from the consumer's own JSX and only change when the consumer re-renders,\n// so loading more still skips the re-render while parent state no longer\n// leaves an item frozen on the values it first saw.\nexport const Item = memo(\n ItemImpl,\n (prev, next) =>\n prev.id === next.id &&\n prev.data === next.data &&\n prev.triggerRef === next.triggerRef &&\n prev.isTile === next.isTile &&\n prev.list.onAction === next.list.onAction &&\n prev.list.accordion === next.list.accordion &&\n !!prev.list.itemView?.rendersSameAs(next.list.itemView),\n);\nItem.displayName = \"Item\";\n\ninterface ItemContainerProps extends PropsWithChildren {\n id?: Key;\n data?: never;\n}\n\nexport const ItemContainer: FC<ItemContainerProps> = (props) => {\n const list = useList();\n return (\n <ItemsGridListItemView\n textValue=\"-\"\n className={styles.item}\n isTile={list.viewMode.isTiles}\n >\n {props.children}\n </ItemsGridListItemView>\n );\n};\n\nexport default Item;\n"],"mappings":";;;;;;;;;;;AAmBA,IAAM,YAAY,UAAiB;CACjC,MAAM,EAAE,IAAI,MAAM,YAAY,MAAM,WAAW;CAE/C,MAAM,WAAW,KAAK;CAEtB,MAAM,EAAE,eAAe,aAAa,iBAAiB,OAAO,IAAI;CAEhE,IAAI,CAAC,UACH,OAAO;CAGT,MAAM,YAAY,SAAS,YAAY,SAAS,UAAU,IAAI,IAAI,KAAA;CAClE,MAAM,OAAO,SAAS,OAAO,SAAS,KAAK,IAAI,IAAI,KAAA;CACnD,MAAM,YAAY,CAAC,CAAC,cAAc,YAAY,CAAC,CAAC;CAEhD,MAAM,cAAc,SAAS,gBAAgB,cAAc,MAAM,KAAA;CACjE,MAAM,uBAAuB,aACzB;EAAE,GAAG;EAAe,KAAK,UAAU,aAAa,UAAU;CAAE,IAC5D;CAEJ,OACE,oBAAC,uBAAD;EACM;EACO;EACL;EACN,QAAQ,SAAS;EACN;EACH;EACR,GAAI;EAEJ,UAAA,oBAAC,UAAD;GAAU,UAAU,oBAAC,iBAAD,CAAkB,CAAA;GAAI;EAAmB,CAAA;CACxC,CAAA;AAE3B;AAOA,IAAa,OAAO,KAClB,WACC,MAAM,SACL,KAAK,OAAO,KAAK,MACjB,KAAK,SAAS,KAAK,QACnB,KAAK,eAAe,KAAK,cACzB,KAAK,WAAW,KAAK,UACrB,KAAK,KAAK,aAAa,KAAK,KAAK,YACjC,KAAK,KAAK,cAAc,KAAK,KAAK,aAClC,CAAC,CAAC,KAAK,KAAK,UAAU,cAAc,KAAK,KAAK,QAAQ,CAC1D;AACA,KAAK,cAAc;AAOnB,IAAa,iBAAyC,UAAU;CAC9D,MAAM,OAAO,QAAQ;CACrB,OACE,oBAAC,uBAAD;EACE,WAAU;EACV,WAAW,oBAAO;EAClB,QAAQ,KAAK,SAAS;EAErB,UAAA,MAAM;CACc,CAAA;AAE3B"}
1
+ {"version":3,"file":"Item.mjs","names":["styles"],"sources":["../../../../../../../../../../../src/components/List/components/Items/components/Item/Item.tsx"],"sourcesContent":["import { useGridItemProps } from \"@/components/List/components/Items/components/Item/hooks/useGridItemProps\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport type ListModel from \"@/components/List/model/List\";\nimport ItemsGridListItemView from \"@/views/ItemsGridListItemView\";\nimport { mergeRefs } from \"@react-aria/utils\";\nimport type { FC, PropsWithChildren, Ref } from \"react\";\nimport { memo, Suspense } from \"react\";\nimport type { Key } from \"react-aria-components\";\nimport styles from \"./Item.module.scss\";\nimport { ItemLoadingView } from \"./components/ItemLoadingView/ItemLoadingView\";\n\ninterface Props extends PropsWithChildren {\n id: Key;\n data: never;\n triggerRef?: Ref<HTMLDivElement>;\n list: ListModel<never>;\n isTile: boolean;\n}\n\nconst ItemImpl = (props: Props) => {\n const { id, data, triggerRef, list, isTile } = props;\n\n const itemView = list.itemView;\n\n const { gridItemProps, children } = useGridItemProps(props, list);\n\n if (!itemView) {\n return null;\n }\n\n const textValue = itemView.textValue ? itemView.textValue(data) : undefined;\n const href = itemView.href ? itemView.href(data) : undefined;\n const hasAction = !!gridItemProps.onAction || !!href;\n\n const existingRef = \"ref\" in gridItemProps ? gridItemProps.ref : undefined;\n const gridItemPropsWithRef = triggerRef\n ? { ...gridItemProps, ref: mergeRefs(existingRef, triggerRef) }\n : gridItemProps;\n\n return (\n <ItemsGridListItemView\n id={id}\n textValue={textValue}\n href={href}\n target={itemView.target}\n hasAction={hasAction}\n isTile={isTile}\n {...gridItemPropsWithRef}\n >\n <Suspense fallback={<ItemLoadingView />}>{children}</Suspense>\n </ItemsGridListItemView>\n );\n};\n\n// The list model is rebuilt on every render, so it cannot be compared by\n// identity — but everything an item renders from it can. Those closures come\n// from the consumer's own JSX and only change when the consumer re-renders,\n// so loading more still skips the re-render while parent state no longer\n// leaves an item frozen on the values it first saw.\nexport const Item = memo(\n ItemImpl,\n (prev, next) =>\n prev.id === next.id &&\n prev.data === next.data &&\n prev.triggerRef === next.triggerRef &&\n prev.isTile === next.isTile &&\n prev.list.onAction === next.list.onAction &&\n prev.list.accordion === next.list.accordion &&\n !!prev.list.itemView?.rendersSameAs(next.list.itemView),\n);\nItem.displayName = \"Item\";\n\ninterface ItemContainerProps extends PropsWithChildren {\n id?: Key;\n data?: never;\n}\n\nexport const ItemContainer: FC<ItemContainerProps> = (props) => {\n const list = useList();\n return (\n <ItemsGridListItemView\n textValue=\"-\"\n className={styles.item}\n isTile={list.viewMode.isTiles}\n >\n {props.children}\n </ItemsGridListItemView>\n );\n};\n\nexport default Item;\n"],"mappings":";;;;;;;;;;;AAmBA,IAAM,YAAY,UAAiB;CACjC,MAAM,EAAE,IAAI,MAAM,YAAY,MAAM,WAAW;CAE/C,MAAM,WAAW,KAAK;CAEtB,MAAM,EAAE,eAAe,aAAa,iBAAiB,OAAO,IAAI;CAEhE,IAAI,CAAC,UACH,OAAO;CAGT,MAAM,YAAY,SAAS,YAAY,SAAS,UAAU,IAAI,IAAI,KAAA;CAClE,MAAM,OAAO,SAAS,OAAO,SAAS,KAAK,IAAI,IAAI,KAAA;CACnD,MAAM,YAAY,CAAC,CAAC,cAAc,YAAY,CAAC,CAAC;CAEhD,MAAM,cAAc,SAAS,gBAAgB,cAAc,MAAM,KAAA;CACjE,MAAM,uBAAuB,aACzB;EAAE,GAAG;EAAe,KAAK,UAAU,aAAa,UAAU;CAAE,IAC5D;CAEJ,OACE,oBAAC,uBAAD;EACM;EACO;EACL;EACN,QAAQ,SAAS;EACN;EACH;EACR,GAAI;EAEJ,UAAA,oBAAC,UAAD;GAAU,UAAU,oBAAC,iBAAD,CAAkB,CAAA;GAAI;EAAmB,CAAA;CACxC,CAAA;AAE3B;AAOA,IAAa,OAAO,KAClB,WACC,MAAM,SACL,KAAK,OAAO,KAAK,MACjB,KAAK,SAAS,KAAK,QACnB,KAAK,eAAe,KAAK,cACzB,KAAK,WAAW,KAAK,UACrB,KAAK,KAAK,aAAa,KAAK,KAAK,YACjC,KAAK,KAAK,cAAc,KAAK,KAAK,aAClC,CAAC,CAAC,KAAK,KAAK,UAAU,cAAc,KAAK,KAAK,QAAQ,CAC1D;AACA,KAAK,cAAc;AAOnB,IAAa,iBAAyC,UAAU;CAC9D,MAAM,OAAO,QAAQ;CACrB,OACE,oBAAC,uBAAD;EACE,WAAU;EACV,WAAWA,oBAAO;EAClB,QAAQ,KAAK,SAAS;EAErB,UAAA,MAAM;CACc,CAAA;AAE3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionButton.mjs","names":[],"sources":["../../../../../../../../../../../../src/components/List/components/Items/components/Item/components/AccordionButton.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport {\n IconChevronDown,\n IconChevronUp,\n} from \"@/components/Icon/components/icons\";\nimport locales from \"../../../../../locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport ButtonView from \"@/views/ButtonView\";\nimport styles from \"../../../../ListItemView/ListItemView.module.scss\";\n\ninterface Props extends PropsWithChildren {\n isExpanded: boolean;\n toggle: () => void;\n contentElementId: string;\n}\n\nexport const AccordionButton: FC<Props> = (props) => {\n const { isExpanded, toggle, children, contentElementId } = props;\n const stringFormatter = useLocalizedStringFormatter(locales, \"List\");\n\n return (\n <>\n <ButtonView\n className={styles.action}\n tunnel={{\n id: \"button\",\n component: \"ListItemView\",\n }}\n variant=\"plain\"\n color=\"secondary\"\n onPress={toggle}\n aria-label={stringFormatter.format(\n \"toggleExpandButton.\" + (isExpanded ? \"collapse\" : \"expand\"),\n )}\n aria-controls={contentElementId}\n aria-expanded={isExpanded}\n >\n {isExpanded ? <IconChevronUp /> : <IconChevronDown />}\n </ButtonView>\n {isExpanded && children}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAgBA,IAAa,mBAA8B,UAAU;CACnD,MAAM,EAAE,YAAY,QAAQ,UAAU,qBAAqB;CAC3D,MAAM,kBAAkB,4BAA4B,kBAAS,MAAM;CAEnE,OACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,YAAD;EACE,WAAW,4BAAO;EAClB,QAAQ;GACN,IAAI;GACJ,WAAW;EACb;EACA,SAAQ;EACR,OAAM;EACN,SAAS;EACT,cAAY,gBAAgB,OAC1B,yBAAyB,aAAa,aAAa,SACrD;EACA,iBAAe;EACf,iBAAe;EAEd,UAAA,aAAa,oBAAC,eAAD,CAAgB,CAAA,IAAI,oBAAC,iBAAD,CAAkB,CAAA;CAC1C,CAAA,GACX,cAAc,QACf,EAAA,CAAA;AAEN"}
1
+ {"version":3,"file":"AccordionButton.mjs","names":["locales","_Fragment","styles"],"sources":["../../../../../../../../../../../../src/components/List/components/Items/components/Item/components/AccordionButton.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport {\n IconChevronDown,\n IconChevronUp,\n} from \"@/components/Icon/components/icons\";\nimport locales from \"../../../../../locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport ButtonView from \"@/views/ButtonView\";\nimport styles from \"../../../../ListItemView/ListItemView.module.scss\";\n\ninterface Props extends PropsWithChildren {\n isExpanded: boolean;\n toggle: () => void;\n contentElementId: string;\n}\n\nexport const AccordionButton: FC<Props> = (props) => {\n const { isExpanded, toggle, children, contentElementId } = props;\n const stringFormatter = useLocalizedStringFormatter(locales, \"List\");\n\n return (\n <>\n <ButtonView\n className={styles.action}\n tunnel={{\n id: \"button\",\n component: \"ListItemView\",\n }}\n variant=\"plain\"\n color=\"secondary\"\n onPress={toggle}\n aria-label={stringFormatter.format(\n \"toggleExpandButton.\" + (isExpanded ? \"collapse\" : \"expand\"),\n )}\n aria-controls={contentElementId}\n aria-expanded={isExpanded}\n >\n {isExpanded ? <IconChevronUp /> : <IconChevronDown />}\n </ButtonView>\n {isExpanded && children}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAgBA,IAAa,mBAA8B,UAAU;CACnD,MAAM,EAAE,YAAY,QAAQ,UAAU,qBAAqB;CAC3D,MAAM,kBAAkB,4BAA4BA,kBAAS,MAAM;CAEnE,OACE,qBAAAC,UAAA,EAAA,UAAA,CACE,oBAAC,YAAD;EACE,WAAWC,4BAAO;EAClB,QAAQ;GACN,IAAI;GACJ,WAAW;EACb;EACA,SAAQ;EACR,OAAM;EACN,SAAS;EACT,cAAY,gBAAgB,OAC1B,yBAAyB,aAAa,aAAa,SACrD;EACA,iBAAe;EACf,iBAAe;EAEd,UAAA,aAAa,oBAAC,eAAD,CAAgB,CAAA,IAAI,oBAAC,iBAAD,CAAkB,CAAA;CAC1C,CAAA,GACX,cAAc,QACf,EAAA,CAAA;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsButton.mjs","names":[],"sources":["../../../../../../../../../../../../../src/components/List/components/Items/components/Item/components/OptionsButton/OptionsButton.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport locales from \"../../../../../../locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport { IconContextMenu } from \"@/components/Icon/components/icons\";\nimport ButtonView from \"@/views/ButtonView\";\nimport ContextMenuTriggerView from \"@/views/ContextMenuTriggerView\";\n\ninterface Props extends PropsWithChildren, PropsWithClassName {}\n\nexport const OptionsButton: FC<Props> = (props) => {\n const { className, children } = props;\n const stringFormatter = useLocalizedStringFormatter(locales, \"List\");\n\n return (\n <ContextMenuTriggerView>\n <ButtonView\n variant=\"plain\"\n color=\"dark\"\n className={className}\n aria-label={stringFormatter.format(\"options\")}\n tunnel={null}\n >\n <IconContextMenu />\n </ButtonView>\n {children}\n </ContextMenuTriggerView>\n );\n};\n\nexport default OptionsButton;\n"],"mappings":";;;;;;;;;AAUA,IAAa,iBAA4B,UAAU;CACjD,MAAM,EAAE,WAAW,aAAa;CAChC,MAAM,kBAAkB,4BAA4B,kBAAS,MAAM;CAEnE,OACE,qBAAC,wBAAD,EAAA,UAAA,CACE,oBAAC,YAAD;EACE,SAAQ;EACR,OAAM;EACK;EACX,cAAY,gBAAgB,OAAO,SAAS;EAC5C,QAAQ;EAER,UAAA,oBAAC,iBAAD,CAAkB,CAAA;CACR,CAAA,GACX,QACqB,EAAA,CAAA;AAE5B"}
1
+ {"version":3,"file":"OptionsButton.mjs","names":["locales"],"sources":["../../../../../../../../../../../../../src/components/List/components/Items/components/Item/components/OptionsButton/OptionsButton.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport locales from \"../../../../../../locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport { IconContextMenu } from \"@/components/Icon/components/icons\";\nimport ButtonView from \"@/views/ButtonView\";\nimport ContextMenuTriggerView from \"@/views/ContextMenuTriggerView\";\n\ninterface Props extends PropsWithChildren, PropsWithClassName {}\n\nexport const OptionsButton: FC<Props> = (props) => {\n const { className, children } = props;\n const stringFormatter = useLocalizedStringFormatter(locales, \"List\");\n\n return (\n <ContextMenuTriggerView>\n <ButtonView\n variant=\"plain\"\n color=\"dark\"\n className={className}\n aria-label={stringFormatter.format(\"options\")}\n tunnel={null}\n >\n <IconContextMenu />\n </ButtonView>\n {children}\n </ContextMenuTriggerView>\n );\n};\n\nexport default OptionsButton;\n"],"mappings":";;;;;;;;;AAUA,IAAa,iBAA4B,UAAU;CACjD,MAAM,EAAE,WAAW,aAAa;CAChC,MAAM,kBAAkB,4BAA4BA,kBAAS,MAAM;CAEnE,OACE,qBAAC,wBAAD,EAAA,UAAA,CACE,oBAAC,YAAD;EACE,SAAQ;EACR,OAAM;EACK;EACX,cAAY,gBAAgB,OAAO,SAAS;EAC5C,QAAQ;EAER,UAAA,oBAAC,iBAAD,CAAkB,CAAA;CACR,CAAA,GACX,QACqB,EAAA,CAAA;AAE5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"GridListItem.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/Items/views/GridListItem/GridListItem.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { FC } from \"react\";\nimport styles from \"@/components/List/components/Items/components/Item/Item.module.scss\";\nimport clsx from \"clsx\";\nimport { useLinkProps } from \"@react-aria/utils\";\n\nexport type GridListItemProps = Aria.GridListItemProps<never> & {\n hasAction?: boolean;\n isTile?: boolean;\n};\n\n/** @flr-generate all */\nexport const GridListItem: FC<GridListItemProps> = (props) => {\n const { hasAction, isTile, children, ...restProps } = props;\n\n // React Aria turns `href` into data attributes and navigates on press, so\n // the row itself is always a `div`. Overlay a real anchor to give the browser\n // back its own link affordances: context menu, middle-click, modifier-click.\n const linkProps = useLinkProps(props);\n\n const linkOverlay = linkProps.href ? (\n // The row keeps owning activation and the accessible semantics. The anchor\n // must stay untabbable — React Aria treats a tabbable descendant as\n // interactive content and would stop the row's own press — and out of the\n // accessibility tree, so screen readers announce the row unchanged.\n <a\n {...linkProps}\n aria-hidden\n className={styles.link}\n draggable={false}\n tabIndex={-1}\n />\n ) : null;\n\n return (\n <Aria.GridListItem\n {...restProps}\n className={(renderProps) =>\n clsx(\n styles.item,\n hasAction && styles.hasAction,\n isTile && styles.tile,\n renderProps.isSelected && styles.isSelected,\n )\n }\n >\n {(renderProps) => (\n <>\n {typeof children === \"function\" ? children(renderProps) : children}\n {linkOverlay}\n </>\n )}\n </Aria.GridListItem>\n );\n};\n\nexport default GridListItem;\n"],"mappings":";;;;;;;;;AAYA,IAAa,gBAAuC,UAAU;CAC5D,MAAM,EAAE,WAAW,QAAQ,UAAU,GAAG,cAAc;CAKtD,MAAM,YAAY,aAAa,KAAK;CAEpC,MAAM,cAAc,UAAU,OAK5B,oBAAC,KAAD;EACE,GAAI;EACJ,eAAA;EACA,WAAW,oBAAO;EAClB,WAAW;EACX,UAAU;CACX,CAAA,IACC;CAEJ,OACE,oBAAC,KAAK,cAAN;EACE,GAAI;EACJ,YAAY,gBACV,KACE,oBAAO,MACP,aAAa,oBAAO,WACpB,UAAU,oBAAO,MACjB,YAAY,cAAc,oBAAO,UACnC;EAGA,WAAA,gBACA,qBAAA,UAAA,EAAA,UAAA,CACG,OAAO,aAAa,aAAa,SAAS,WAAW,IAAI,UACzD,WACD,EAAA,CAAA;CAEa,CAAA;AAEvB"}
1
+ {"version":3,"file":"GridListItem.mjs","names":["styles","_Fragment"],"sources":["../../../../../../../../../../../src/components/List/components/Items/views/GridListItem/GridListItem.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { FC } from \"react\";\nimport styles from \"@/components/List/components/Items/components/Item/Item.module.scss\";\nimport clsx from \"clsx\";\nimport { useLinkProps } from \"@react-aria/utils\";\n\nexport type GridListItemProps = Aria.GridListItemProps<never> & {\n hasAction?: boolean;\n isTile?: boolean;\n};\n\n/** @flr-generate all */\nexport const GridListItem: FC<GridListItemProps> = (props) => {\n const { hasAction, isTile, children, ...restProps } = props;\n\n // React Aria turns `href` into data attributes and navigates on press, so\n // the row itself is always a `div`. Overlay a real anchor to give the browser\n // back its own link affordances: context menu, middle-click, modifier-click.\n const linkProps = useLinkProps(props);\n\n const linkOverlay = linkProps.href ? (\n // The row keeps owning activation and the accessible semantics. The anchor\n // must stay untabbable — React Aria treats a tabbable descendant as\n // interactive content and would stop the row's own press — and out of the\n // accessibility tree, so screen readers announce the row unchanged.\n <a\n {...linkProps}\n aria-hidden\n className={styles.link}\n draggable={false}\n tabIndex={-1}\n />\n ) : null;\n\n return (\n <Aria.GridListItem\n {...restProps}\n className={(renderProps) =>\n clsx(\n styles.item,\n hasAction && styles.hasAction,\n isTile && styles.tile,\n renderProps.isSelected && styles.isSelected,\n )\n }\n >\n {(renderProps) => (\n <>\n {typeof children === \"function\" ? children(renderProps) : children}\n {linkOverlay}\n </>\n )}\n </Aria.GridListItem>\n );\n};\n\nexport default GridListItem;\n"],"mappings":";;;;;;;;;AAYA,IAAa,gBAAuC,UAAU;CAC5D,MAAM,EAAE,WAAW,QAAQ,UAAU,GAAG,cAAc;CAKtD,MAAM,YAAY,aAAa,KAAK;CAEpC,MAAM,cAAc,UAAU,OAK5B,oBAAC,KAAD;EACE,GAAI;EACJ,eAAA;EACA,WAAWA,oBAAO;EAClB,WAAW;EACX,UAAU;CACX,CAAA,IACC;CAEJ,OACE,oBAAC,KAAK,cAAN;EACE,GAAI;EACJ,YAAY,gBACV,KACEA,oBAAO,MACP,aAAaA,oBAAO,WACpB,UAAUA,oBAAO,MACjB,YAAY,cAAcA,oBAAO,UACnC;EAGA,WAAA,gBACA,qBAAAC,UAAA,EAAA,UAAA,CACG,OAAO,aAAa,aAAa,SAAS,WAAW,IAAI,UACzD,WACD,EAAA,CAAA;CAEa,CAAA;AAEvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemView.mjs","names":[],"sources":["../../../../../../../../../src/components/List/components/ListItemView/ListItemView.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport styles from \"./ListItemView.module.scss\";\nimport ListItemViewContentView from \"@/views/ListItemViewContentView\";\nimport {\n dynamic,\n overlayTriggersTunneledTo,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport { OptionsButton } from \"@/components/List/components/Items/components/Item/components/OptionsButton\";\nimport { useList } from \"@/components/List\";\nimport type { ColumnLayoutProps } from \"@/components/ColumnLayout\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { UiComponentTunnelExit } from \"@/components/UiComponentTunnel/UiComponentTunnelExit\";\n\nexport type ListItemViewProps = PropsWithChildren &\n Pick<ColumnLayoutProps, \"s\" | \"m\" | \"l\">;\n\nexport const ListItemView = flowComponent(\n \"ListItemView\",\n (props: ListItemViewProps) => {\n const { children, s, m, l } = props;\n const list = useList();\n\n const buttonTunnel = {\n id: \"button\",\n component: \"ListItemView\",\n } as const;\n\n const propsContext: PropsContext = {\n ...overlayTriggersTunneledTo(buttonTunnel),\n ContextMenu: {\n tunnel: buttonTunnel,\n placement: \"bottom right\",\n wrapWith: <OptionsButton className={styles.action} />,\n },\n Button: {\n tunnel: buttonTunnel,\n size: dynamic(() => (useList().viewMode.isTiles ? \"s\" : \"m\")),\n },\n ActionGroup: {\n tunnel: buttonTunnel,\n Button: {\n tunnel: null,\n },\n },\n Avatar: {\n tunnel: {\n id: \"avatar\",\n component: \"ListItemView\",\n },\n },\n Heading: {\n tunnel: {\n id: \"title\",\n component: \"ListItemView\",\n },\n },\n Text: {\n tunnel: {\n id: \"text\",\n component: \"ListItemView\",\n },\n },\n Content: {\n tunnel: dynamic((p) =>\n p.slot === \"bottom\"\n ? {\n id: \"bottom\",\n component: \"ListItemView\",\n }\n : undefined,\n ),\n },\n Checkbox: {\n tunnel: {\n id: \"checkbox\",\n component: \"ListItemView\",\n },\n },\n };\n\n return (\n <ListItemViewContentView\n viewMode={list.viewMode.value}\n title={<UiComponentTunnelExit id=\"title\" component=\"ListItemView\" />}\n avatar={<UiComponentTunnelExit id=\"avatar\" component=\"ListItemView\" />}\n button={<UiComponentTunnelExit id=\"button\" component=\"ListItemView\" />}\n subTitle={<UiComponentTunnelExit id=\"text\" component=\"ListItemView\" />}\n bottom={<UiComponentTunnelExit id=\"bottom\" component=\"ListItemView\" />}\n checkbox={\n <UiComponentTunnelExit id=\"checkbox\" component=\"ListItemView\" />\n }\n s={s}\n m={m}\n l={l}\n >\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </ListItemViewContentView>\n );\n },\n {\n type: \"layout\",\n },\n);\n\nexport default ListItemView;\n"],"mappings":";;;;;;;;;;;;;AAkBA,IAAa,eAAe,cAC1B,iBACC,UAA6B;CAC5B,MAAM,EAAE,UAAU,GAAG,GAAG,MAAM;CAC9B,MAAM,OAAO,QAAQ;CAErB,MAAM,eAAe;EACnB,IAAI;EACJ,WAAW;CACb;CAEA,MAAM,eAA6B;EACjC,GAAG,0BAA0B,YAAY;EACzC,aAAa;GACX,QAAQ;GACR,WAAW;GACX,UAAU,oBAAC,eAAD,EAAe,WAAW,4BAAO,OAAS,CAAA;EACtD;EACA,QAAQ;GACN,QAAQ;GACR,MAAM,cAAe,QAAQ,CAAC,CAAC,SAAS,UAAU,MAAM,GAAI;EAC9D;EACA,aAAa;GACX,QAAQ;GACR,QAAQ,EACN,QAAQ,KACV;EACF;EACA,QAAQ,EACN,QAAQ;GACN,IAAI;GACJ,WAAW;EACb,EACF;EACA,SAAS,EACP,QAAQ;GACN,IAAI;GACJ,WAAW;EACb,EACF;EACA,MAAM,EACJ,QAAQ;GACN,IAAI;GACJ,WAAW;EACb,EACF;EACA,SAAS,EACP,QAAQ,SAAS,MACf,EAAE,SAAS,WACP;GACE,IAAI;GACJ,WAAW;EACb,IACA,KAAA,CACN,EACF;EACA,UAAU,EACR,QAAQ;GACN,IAAI;GACJ,WAAW;EACb,EACF;CACF;CAEA,OACE,oBAAC,yBAAD;EACE,UAAU,KAAK,SAAS;EACxB,OAAO,oBAAC,uBAAD;GAAuB,IAAG;GAAQ,WAAU;EAAgB,CAAA;EACnE,QAAQ,oBAAC,uBAAD;GAAuB,IAAG;GAAS,WAAU;EAAgB,CAAA;EACrE,QAAQ,oBAAC,uBAAD;GAAuB,IAAG;GAAS,WAAU;EAAgB,CAAA;EACrE,UAAU,oBAAC,uBAAD;GAAuB,IAAG;GAAO,WAAU;EAAgB,CAAA;EACrE,QAAQ,oBAAC,uBAAD;GAAuB,IAAG;GAAS,WAAU;EAAgB,CAAA;EACrE,UACE,oBAAC,uBAAD;GAAuB,IAAG;GAAW,WAAU;EAAgB,CAAA;EAE9D;EACA;EACA;EAEH,UAAA,oBAAC,sBAAD;GAAsB,OAAO;GAC1B;EACmB,CAAA;CACC,CAAA;AAE7B,GACA,EACE,MAAM,SACR,CACF"}
1
+ {"version":3,"file":"ListItemView.mjs","names":["styles"],"sources":["../../../../../../../../../src/components/List/components/ListItemView/ListItemView.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport styles from \"./ListItemView.module.scss\";\nimport ListItemViewContentView from \"@/views/ListItemViewContentView\";\nimport {\n dynamic,\n overlayTriggersTunneledTo,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport { OptionsButton } from \"@/components/List/components/Items/components/Item/components/OptionsButton\";\nimport { useList } from \"@/components/List\";\nimport type { ColumnLayoutProps } from \"@/components/ColumnLayout\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { UiComponentTunnelExit } from \"@/components/UiComponentTunnel/UiComponentTunnelExit\";\n\nexport type ListItemViewProps = PropsWithChildren &\n Pick<ColumnLayoutProps, \"s\" | \"m\" | \"l\">;\n\nexport const ListItemView = flowComponent(\n \"ListItemView\",\n (props: ListItemViewProps) => {\n const { children, s, m, l } = props;\n const list = useList();\n\n const buttonTunnel = {\n id: \"button\",\n component: \"ListItemView\",\n } as const;\n\n const propsContext: PropsContext = {\n ...overlayTriggersTunneledTo(buttonTunnel),\n ContextMenu: {\n tunnel: buttonTunnel,\n placement: \"bottom right\",\n wrapWith: <OptionsButton className={styles.action} />,\n },\n Button: {\n tunnel: buttonTunnel,\n size: dynamic(() => (useList().viewMode.isTiles ? \"s\" : \"m\")),\n },\n ActionGroup: {\n tunnel: buttonTunnel,\n Button: {\n tunnel: null,\n },\n },\n Avatar: {\n tunnel: {\n id: \"avatar\",\n component: \"ListItemView\",\n },\n },\n Heading: {\n tunnel: {\n id: \"title\",\n component: \"ListItemView\",\n },\n },\n Text: {\n tunnel: {\n id: \"text\",\n component: \"ListItemView\",\n },\n },\n Content: {\n tunnel: dynamic((p) =>\n p.slot === \"bottom\"\n ? {\n id: \"bottom\",\n component: \"ListItemView\",\n }\n : undefined,\n ),\n },\n Checkbox: {\n tunnel: {\n id: \"checkbox\",\n component: \"ListItemView\",\n },\n },\n };\n\n return (\n <ListItemViewContentView\n viewMode={list.viewMode.value}\n title={<UiComponentTunnelExit id=\"title\" component=\"ListItemView\" />}\n avatar={<UiComponentTunnelExit id=\"avatar\" component=\"ListItemView\" />}\n button={<UiComponentTunnelExit id=\"button\" component=\"ListItemView\" />}\n subTitle={<UiComponentTunnelExit id=\"text\" component=\"ListItemView\" />}\n bottom={<UiComponentTunnelExit id=\"bottom\" component=\"ListItemView\" />}\n checkbox={\n <UiComponentTunnelExit id=\"checkbox\" component=\"ListItemView\" />\n }\n s={s}\n m={m}\n l={l}\n >\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </ListItemViewContentView>\n );\n },\n {\n type: \"layout\",\n },\n);\n\nexport default ListItemView;\n"],"mappings":";;;;;;;;;;;;;AAkBA,IAAa,eAAe,cAC1B,iBACC,UAA6B;CAC5B,MAAM,EAAE,UAAU,GAAG,GAAG,MAAM;CAC9B,MAAM,OAAO,QAAQ;CAErB,MAAM,eAAe;EACnB,IAAI;EACJ,WAAW;CACb;CAEA,MAAM,eAA6B;EACjC,GAAG,0BAA0B,YAAY;EACzC,aAAa;GACX,QAAQ;GACR,WAAW;GACX,UAAU,oBAAC,eAAD,EAAe,WAAWA,4BAAO,OAAS,CAAA;EACtD;EACA,QAAQ;GACN,QAAQ;GACR,MAAM,cAAe,QAAQ,CAAC,CAAC,SAAS,UAAU,MAAM,GAAI;EAC9D;EACA,aAAa;GACX,QAAQ;GACR,QAAQ,EACN,QAAQ,KACV;EACF;EACA,QAAQ,EACN,QAAQ;GACN,IAAI;GACJ,WAAW;EACb,EACF;EACA,SAAS,EACP,QAAQ;GACN,IAAI;GACJ,WAAW;EACb,EACF;EACA,MAAM,EACJ,QAAQ;GACN,IAAI;GACJ,WAAW;EACb,EACF;EACA,SAAS,EACP,QAAQ,SAAS,MACf,EAAE,SAAS,WACP;GACE,IAAI;GACJ,WAAW;EACb,IACA,KAAA,CACN,EACF;EACA,UAAU,EACR,QAAQ;GACN,IAAI;GACJ,WAAW;EACb,EACF;CACF;CAEA,OACE,oBAAC,yBAAD;EACE,UAAU,KAAK,SAAS;EACxB,OAAO,oBAAC,uBAAD;GAAuB,IAAG;GAAQ,WAAU;EAAgB,CAAA;EACnE,QAAQ,oBAAC,uBAAD;GAAuB,IAAG;GAAS,WAAU;EAAgB,CAAA;EACrE,QAAQ,oBAAC,uBAAD;GAAuB,IAAG;GAAS,WAAU;EAAgB,CAAA;EACrE,UAAU,oBAAC,uBAAD;GAAuB,IAAG;GAAO,WAAU;EAAgB,CAAA;EACrE,QAAQ,oBAAC,uBAAD;GAAuB,IAAG;GAAS,WAAU;EAAgB,CAAA;EACrE,UACE,oBAAC,uBAAD;GAAuB,IAAG;GAAW,WAAU;EAAgB,CAAA;EAE9D;EACA;EACA;EAEH,UAAA,oBAAC,sBAAD;GAAsB,OAAO;GAC1B;EACmB,CAAA;CACC,CAAA;AAE7B,GACA,EACE,MAAM,SACR,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemView.module.mjs","names":[],"sources":["../../../../../../../../../src/components/List/components/ListItemView/ListItemView.module.scss"],"sourcesContent":[".view {\n display: flex;\n flex-direction: column;\n\n .checkboxContainer {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n\n &:empty {\n display: none;\n }\n }\n\n .content {\n min-width: 0;\n display: flex;\n gap: var(--list-item--spacing);\n flex-grow: 1;\n flex-wrap: wrap;\n }\n\n .topContent {\n overflow-wrap: anywhere;\n display: flex;\n }\n\n .bottomContent {\n width: 100%;\n overflow-wrap: anywhere;\n display: flex;\n flex-direction: column;\n }\n\n .heading {\n color: var(--text--color--default);\n overflow-wrap: anywhere;\n }\n\n .header {\n overflow-wrap: anywhere;\n display: flex;\n gap: var(--list-item--avatar-to-title-spacing);\n max-width: 100%;\n }\n\n .subTitle {\n font-size: var(--list-item--subtitle-font-size);\n\n .text:not(:last-child)::after {\n content: \"–\";\n display: inline-block;\n margin: 0 var(--size-rem--s);\n }\n }\n\n .badge {\n max-width: 100%;\n }\n\n &.listView {\n padding: var(--list-item--padding);\n gap: var(--list-item--spacing);\n\n .columnLayout {\n flex-grow: 1;\n\n > :global(.flow--column-layout) {\n flex-grow: 1;\n align-items: center;\n }\n }\n\n .contentWrapper {\n display: flex;\n gap: var(--list-item--spacing);\n justify-content: space-between;\n flex-grow: 1;\n align-items: flex-start;\n }\n\n .content {\n align-items: center;\n align-self: center;\n max-width: 100%;\n }\n\n .title {\n max-width: 100%;\n min-width: 0;\n }\n\n .action {\n margin-inline-start: auto;\n\n :global(.flow--button) {\n margin-inline-end: 0;\n }\n }\n\n .header {\n order: 0;\n flex-grow: 1;\n align-items: center;\n\n &:empty,\n .subTitle:empty {\n display: none;\n }\n\n .avatar,\n .checkboxContainer {\n align-self: start;\n }\n\n .checkboxContainer {\n height: var(--avatar--size--m);\n }\n }\n\n &:has(.subTitle:not(:empty)) {\n .action,\n .avatar,\n .checkboxContainer {\n margin-top: var(--size-px--xxs);\n }\n }\n\n .topContent {\n order: 1;\n }\n\n :global(.flow--heading--heading-content) {\n max-width: 100%;\n }\n }\n\n &.tileView {\n gap: var(--list-item--padding);\n border-color: var(--list-item--border-color);\n border-width: var(--list-item--border-width);\n border-style: var(--list-item--border-style);\n border-radius: var(--list-item--corner-radius);\n align-content: flex-start;\n height: 100%;\n position: relative;\n overflow: hidden;\n\n .content {\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n padding-inline: var(--list-item--padding);\n padding-bottom: var(--list-item--padding);\n width: 100%;\n }\n\n .avatarContainer {\n width: 100%;\n border-bottom: var(--list-item--border-width)\n var(--list-item--border-style) var(--list-item--border-color);\n aspect-ratio: 16 / 9;\n\n // A consumer child inside `Avatar` — Flow `Image` or a bare `<img>`.\n // stylelint-disable-next-line selector-max-type -- bare `<img>` has no class\n img {\n overflow-clip-margin: unset;\n aspect-ratio: 16 / 9;\n }\n }\n\n .avatar {\n width: 100%;\n height: 100%;\n border-radius: 0;\n\n :global(.flow--avatar--icon) {\n width: var(--size-px--xxl);\n height: var(--size-px--xxl);\n }\n\n :global(.flow--avatar--initials) {\n font-size: var(--size-px--xxl);\n }\n }\n\n .checkboxContainer {\n position: absolute;\n top: var(--list-item--padding);\n inset-inline-start: var(--list-item--padding);\n background-color: var(--list-item--checkbox-background-color);\n border-radius: var(--list-item--checkbox-corner-radius);\n\n :global(.flow--checkbox .flow--checkbox--icon) {\n color: var(--list-item--checkbox-color);\n padding: var(--size-px--xxxs);\n }\n }\n\n .title {\n width: 100%;\n min-width: 0;\n\n :global(.flow--heading--heading-text-spacer) {\n display: none;\n }\n\n :global(.flow--heading--heading-content) {\n position: absolute;\n top: var(--list-item--padding);\n inset-inline: var(--list-item--padding);\n display: flex;\n flex-wrap: wrap;\n gap: var(--heading--icon-to-text-spacing);\n justify-content: end;\n }\n\n :global(.flow--heading--heading-content-item):not(:last-child) {\n margin-inline-end: 0;\n }\n }\n\n &:has(.checkboxContainer:not(:empty)) {\n :global(.flow--heading--heading-content) {\n inset-inline-start: calc(var(--list-item--padding) * 2 + var(--icon--size--m));\n }\n }\n\n .topContent,\n .header {\n width: 100%;\n }\n\n .action {\n align-self: start;\n }\n\n .bottomContent {\n margin-top: auto;\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ListItemView.module.mjs","names":[],"sources":["../../../../../../../../../src/components/List/components/ListItemView/ListItemView.module.scss"],"sourcesContent":[".view {\n display: flex;\n flex-direction: column;\n\n .checkboxContainer {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n\n &:empty {\n display: none;\n }\n }\n\n .content {\n min-width: 0;\n display: flex;\n gap: var(--list-item--spacing);\n flex-grow: 1;\n flex-wrap: wrap;\n }\n\n .topContent {\n overflow-wrap: anywhere;\n display: flex;\n }\n\n .bottomContent {\n width: 100%;\n overflow-wrap: anywhere;\n display: flex;\n flex-direction: column;\n }\n\n .heading {\n color: var(--text--color--default);\n overflow-wrap: anywhere;\n }\n\n .header {\n overflow-wrap: anywhere;\n display: flex;\n gap: var(--list-item--avatar-to-title-spacing);\n max-width: 100%;\n }\n\n .subTitle {\n font-size: var(--list-item--subtitle-font-size);\n\n .text:not(:last-child)::after {\n content: \"–\";\n display: inline-block;\n margin: 0 var(--size-rem--s);\n }\n }\n\n .badge {\n max-width: 100%;\n }\n\n &.listView {\n padding: var(--list-item--padding);\n gap: var(--list-item--spacing);\n\n .columnLayout {\n flex-grow: 1;\n\n > :global(.flow--column-layout) {\n flex-grow: 1;\n align-items: center;\n }\n }\n\n .contentWrapper {\n display: flex;\n gap: var(--list-item--spacing);\n justify-content: space-between;\n flex-grow: 1;\n align-items: flex-start;\n }\n\n .content {\n align-items: center;\n align-self: center;\n max-width: 100%;\n }\n\n .title {\n max-width: 100%;\n min-width: 0;\n }\n\n .action {\n margin-inline-start: auto;\n\n :global(.flow--button) {\n margin-inline-end: 0;\n }\n }\n\n .header {\n order: 0;\n flex-grow: 1;\n align-items: center;\n\n &:empty,\n .subTitle:empty {\n display: none;\n }\n\n .avatar,\n .checkboxContainer {\n align-self: start;\n }\n\n .checkboxContainer {\n height: var(--avatar--size--m);\n }\n }\n\n &:has(.subTitle:not(:empty)) {\n .action,\n .avatar,\n .checkboxContainer {\n margin-top: var(--size-px--xxs);\n }\n }\n\n .topContent {\n order: 1;\n }\n\n :global(.flow--heading--heading-content) {\n max-width: 100%;\n }\n }\n\n &.tileView {\n gap: var(--list-item--padding);\n border-color: var(--list-item--border-color);\n border-width: var(--list-item--border-width);\n border-style: var(--list-item--border-style);\n border-radius: var(--list-item--corner-radius);\n align-content: flex-start;\n height: 100%;\n position: relative;\n overflow: hidden;\n\n .content {\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n padding-inline: var(--list-item--padding);\n padding-bottom: var(--list-item--padding);\n width: 100%;\n }\n\n .avatarContainer {\n width: 100%;\n border-bottom: var(--list-item--border-width)\n var(--list-item--border-style) var(--list-item--border-color);\n aspect-ratio: 16 / 9;\n\n // A consumer child inside `Avatar` — Flow `Image` or a bare `<img>`.\n // stylelint-disable-next-line selector-max-type -- bare `<img>` has no class\n img {\n overflow-clip-margin: unset;\n aspect-ratio: 16 / 9;\n border-radius: 0;\n }\n }\n\n .avatar {\n width: 100%;\n height: 100%;\n border-radius: 0;\n\n :global(.flow--avatar--icon) {\n width: var(--size-px--xxl);\n height: var(--size-px--xxl);\n }\n\n :global(.flow--avatar--initials) {\n font-size: var(--size-px--xxl);\n }\n }\n\n .checkboxContainer {\n position: absolute;\n top: var(--list-item--padding);\n inset-inline-start: var(--list-item--padding);\n background-color: var(--list-item--checkbox-background-color);\n border-radius: var(--list-item--checkbox-corner-radius);\n\n :global(.flow--checkbox .flow--checkbox--icon) {\n color: var(--list-item--checkbox-color);\n padding: var(--size-px--xxxs);\n }\n }\n\n .title {\n width: 100%;\n min-width: 0;\n\n :global(.flow--heading--heading-text-spacer) {\n display: none;\n }\n\n :global(.flow--heading--heading-content) {\n position: absolute;\n top: var(--list-item--padding);\n inset-inline: var(--list-item--padding);\n display: flex;\n flex-wrap: wrap;\n gap: var(--heading--icon-to-text-spacing);\n justify-content: end;\n }\n\n :global(.flow--heading--heading-content-item):not(:last-child) {\n margin-inline-end: 0;\n }\n }\n\n &:has(.checkboxContainer:not(:empty)) {\n :global(.flow--heading--heading-content) {\n inset-inline-start: calc(var(--list-item--padding) * 2 + var(--icon--size--m));\n }\n }\n\n .topContent,\n .header {\n width: 100%;\n }\n\n .action {\n align-self: start;\n }\n\n .bottomContent {\n margin-top: auto;\n }\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemViewContent.mjs","names":[],"sources":["../../../../../../../../../../../src/components/List/components/ListItemView/components/ListItemViewContent/ListItemViewContent.tsx"],"sourcesContent":["import type { ComponentProps, PropsWithChildren, ReactNode } from \"react\";\nimport styles from \"../../ListItemView.module.scss\";\nimport itemStyles from \"@/components/List/components/Items/components/Item/Item.module.scss\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport type { ListViewMode } from \"@/components/List/model/types\";\nimport clsx from \"clsx\";\nimport {\n ColumnLayout,\n type ColumnLayoutProps,\n} from \"@/components/ColumnLayout\";\n\nexport type ListItemViewContentProps = PropsWithChildren &\n Pick<ColumnLayoutProps, \"s\" | \"m\" | \"l\"> & {\n title?: ReactNode;\n subTitle?: ReactNode;\n avatar?: ReactNode;\n button?: ReactNode;\n bottom?: ReactNode;\n checkbox?: ReactNode;\n viewMode?: ListViewMode;\n };\n\n/*\n * The bottom content also carries Item's own `bottomContent` class.\n * Item.module.scss uses it to exclude this area from the item's hover and\n * pressed background — it has its own interactive elements.\n */\nconst getStyleForContentSlot = (slot?: string) =>\n slot === \"bottom\"\n ? clsx(styles.bottomContent, itemStyles.bottomContent)\n : styles.topContent;\n\n/** @flr-generate all */\nexport const ListItemViewContent = (props: ListItemViewContentProps) => {\n const {\n children,\n avatar,\n title,\n subTitle,\n button,\n bottom,\n checkbox,\n viewMode,\n s,\n m,\n l,\n } = props;\n\n const contentProps: Record<string, ComponentProps<\"div\">> = {\n bottom: {\n onMouseDown: (e) => e.stopPropagation(),\n onPointerDown: (e) => e.stopPropagation(),\n },\n };\n\n const propsContext: PropsContext = {\n ContextMenu: {\n placement: \"bottom end\",\n },\n Button: {\n className: styles.action,\n },\n ActionGroup: {\n className: styles.action,\n },\n Content: {\n className: dynamic((p) => getStyleForContentSlot(p.slot)),\n onMouseDown: dynamic((p) => contentProps[p.slot ?? \"top\"]?.onMouseDown),\n onPointerDown: dynamic(\n (p) => contentProps[p.slot ?? \"top\"]?.onPointerDown,\n ),\n },\n Avatar: {\n className: styles.avatar,\n },\n Heading: {\n className: styles.heading,\n level: 5,\n size: \"xs\",\n elementType: \"span\",\n Badge: { className: styles.badge },\n AlertBadge: { className: styles.badge },\n },\n Text: {\n className: styles.text,\n },\n Link: {\n unstyled: true,\n },\n };\n\n const className = clsx(\n styles.view,\n viewMode === \"tiles\" ? styles.tileView : styles.listView,\n );\n\n const header = (\n <div className={styles.header}>\n <div className={styles.checkboxContainer}>{checkbox}</div>\n {avatar}\n <div className={styles.title}>\n {title}\n <div className={styles.subTitle}>{subTitle}</div>\n </div>\n </div>\n );\n\n const innerListContent = (\n <>\n {header}\n {children}\n </>\n );\n\n const listColumnsContentView = (\n <ColumnLayout\n s={s}\n m={m}\n l={l}\n className={clsx(styles.content, styles.columnLayout)}\n >\n {innerListContent}\n </ColumnLayout>\n );\n\n const listDefaultContentView = (\n <div className={styles.content}>{innerListContent}</div>\n );\n\n const listView = (\n <>\n <div className={styles.contentWrapper}>\n {s || m || l ? listColumnsContentView : listDefaultContentView}\n {button}\n </div>\n {bottom}\n </>\n );\n\n const tilesViews = (\n <>\n <div className={styles.avatarContainer}>{avatar}</div>\n <div className={styles.content}>\n <div className={styles.header}>\n <div className={styles.checkboxContainer}>{checkbox}</div>\n <div className={styles.title}>\n {title}\n <div className={styles.subTitle}>{subTitle}</div>\n </div>\n {button}\n </div>\n {children}\n {bottom}\n </div>\n </>\n );\n\n return (\n <div className={className}>\n <PropsContextProvider props={propsContext}>\n {viewMode === \"list\" && listView}\n {viewMode === \"tiles\" && tilesViews}\n </PropsContextProvider>\n </div>\n );\n};\n\nexport default ListItemViewContent;\n"],"mappings":";;;;;;;;;;AA+BA,IAAM,0BAA0B,SAC9B,SAAS,WACL,KAAK,4BAAO,eAAe,oBAAW,aAAa,IACnD,4BAAO;;AAGb,IAAa,uBAAuB,UAAoC;CACtE,MAAM,EACJ,UACA,QACA,OACA,UACA,QACA,QACA,UACA,UACA,GACA,GACA,MACE;CAEJ,MAAM,eAAsD,EAC1D,QAAQ;EACN,cAAc,MAAM,EAAE,gBAAgB;EACtC,gBAAgB,MAAM,EAAE,gBAAgB;CAC1C,EACF;CAEA,MAAM,eAA6B;EACjC,aAAa,EACX,WAAW,aACb;EACA,QAAQ,EACN,WAAW,4BAAO,OACpB;EACA,aAAa,EACX,WAAW,4BAAO,OACpB;EACA,SAAS;GACP,WAAW,SAAS,MAAM,uBAAuB,EAAE,IAAI,CAAC;GACxD,aAAa,SAAS,MAAM,aAAa,EAAE,QAAQ,MAAM,EAAE,WAAW;GACtE,eAAe,SACZ,MAAM,aAAa,EAAE,QAAQ,MAAM,EAAE,aACxC;EACF;EACA,QAAQ,EACN,WAAW,4BAAO,OACpB;EACA,SAAS;GACP,WAAW,4BAAO;GAClB,OAAO;GACP,MAAM;GACN,aAAa;GACb,OAAO,EAAE,WAAW,4BAAO,MAAM;GACjC,YAAY,EAAE,WAAW,4BAAO,MAAM;EACxC;EACA,MAAM,EACJ,WAAW,4BAAO,KACpB;EACA,MAAM,EACJ,UAAU,KACZ;CACF;CAEA,MAAM,YAAY,KAChB,4BAAO,MACP,aAAa,UAAU,4BAAO,WAAW,4BAAO,QAClD;CAEA,MAAM,SACJ,qBAAC,OAAD;EAAK,WAAW,4BAAO;EAAvB,UAAA;GACE,oBAAC,OAAD;IAAK,WAAW,4BAAO;IAAoB,UAAA;GAAc,CAAA;GACxD;GACD,qBAAC,OAAD;IAAK,WAAW,4BAAO;IAAvB,UAAA,CACG,OACD,oBAAC,OAAD;KAAK,WAAW,4BAAO;KAAW,UAAA;IAAc,CAAA,CAC7C;;EACF;;CAGP,MAAM,mBACJ,qBAAA,UAAA,EAAA,UAAA,CACG,QACA,QACD,EAAA,CAAA;CAGJ,MAAM,yBACJ,oBAAC,cAAD;EACK;EACA;EACA;EACH,WAAW,KAAK,4BAAO,SAAS,4BAAO,YAAY;EAElD,UAAA;CACW,CAAA;CAGhB,MAAM,yBACJ,oBAAC,OAAD;EAAK,WAAW,4BAAO;EAAU,UAAA;CAAsB,CAAA;CAGzD,MAAM,WACJ,qBAAA,UAAA,EAAA,UAAA,CACE,qBAAC,OAAD;EAAK,WAAW,4BAAO;EAAvB,UAAA,CACG,KAAK,KAAK,IAAI,yBAAyB,wBACvC,MACE;CACJ,CAAA,GAAA,MACD,EAAA,CAAA;CAGJ,MAAM,aACJ,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,OAAD;EAAK,WAAW,4BAAO;EAAkB,UAAA;CAAY,CAAA,GACrD,qBAAC,OAAD;EAAK,WAAW,4BAAO;EAAvB,UAAA;GACE,qBAAC,OAAD;IAAK,WAAW,4BAAO;IAAvB,UAAA;KACE,oBAAC,OAAD;MAAK,WAAW,4BAAO;MAAoB,UAAA;KAAc,CAAA;KACzD,qBAAC,OAAD;MAAK,WAAW,4BAAO;MAAvB,UAAA,CACG,OACD,oBAAC,OAAD;OAAK,WAAW,4BAAO;OAAW,UAAA;MAAc,CAAA,CAC7C;;KACJ;IACE;;GACJ;GACA;EACE;CACL,CAAA,CAAA,EAAA,CAAA;CAGJ,OACE,oBAAC,OAAD;EAAgB;EACd,UAAA,qBAAC,sBAAD;GAAsB,OAAO;GAA7B,UAAA,CACG,aAAa,UAAU,UACvB,aAAa,WAAW,UACL;;CACnB,CAAA;AAET"}
1
+ {"version":3,"file":"ListItemViewContent.mjs","names":["styles","itemStyles","_Fragment"],"sources":["../../../../../../../../../../../src/components/List/components/ListItemView/components/ListItemViewContent/ListItemViewContent.tsx"],"sourcesContent":["import type { ComponentProps, PropsWithChildren, ReactNode } from \"react\";\nimport styles from \"../../ListItemView.module.scss\";\nimport itemStyles from \"@/components/List/components/Items/components/Item/Item.module.scss\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport type { ListViewMode } from \"@/components/List/model/types\";\nimport clsx from \"clsx\";\nimport {\n ColumnLayout,\n type ColumnLayoutProps,\n} from \"@/components/ColumnLayout\";\n\nexport type ListItemViewContentProps = PropsWithChildren &\n Pick<ColumnLayoutProps, \"s\" | \"m\" | \"l\"> & {\n title?: ReactNode;\n subTitle?: ReactNode;\n avatar?: ReactNode;\n button?: ReactNode;\n bottom?: ReactNode;\n checkbox?: ReactNode;\n viewMode?: ListViewMode;\n };\n\n/*\n * The bottom content also carries Item's own `bottomContent` class.\n * Item.module.scss uses it to exclude this area from the item's hover and\n * pressed background — it has its own interactive elements.\n */\nconst getStyleForContentSlot = (slot?: string) =>\n slot === \"bottom\"\n ? clsx(styles.bottomContent, itemStyles.bottomContent)\n : styles.topContent;\n\n/** @flr-generate all */\nexport const ListItemViewContent = (props: ListItemViewContentProps) => {\n const {\n children,\n avatar,\n title,\n subTitle,\n button,\n bottom,\n checkbox,\n viewMode,\n s,\n m,\n l,\n } = props;\n\n const contentProps: Record<string, ComponentProps<\"div\">> = {\n bottom: {\n onMouseDown: (e) => e.stopPropagation(),\n onPointerDown: (e) => e.stopPropagation(),\n },\n };\n\n const propsContext: PropsContext = {\n ContextMenu: {\n placement: \"bottom end\",\n },\n Button: {\n className: styles.action,\n },\n ActionGroup: {\n className: styles.action,\n },\n Content: {\n className: dynamic((p) => getStyleForContentSlot(p.slot)),\n onMouseDown: dynamic((p) => contentProps[p.slot ?? \"top\"]?.onMouseDown),\n onPointerDown: dynamic(\n (p) => contentProps[p.slot ?? \"top\"]?.onPointerDown,\n ),\n },\n Avatar: {\n className: styles.avatar,\n },\n Heading: {\n className: styles.heading,\n level: 5,\n size: \"xs\",\n elementType: \"span\",\n Badge: { className: styles.badge },\n AlertBadge: { className: styles.badge },\n },\n Text: {\n className: styles.text,\n },\n Link: {\n unstyled: true,\n },\n };\n\n const className = clsx(\n styles.view,\n viewMode === \"tiles\" ? styles.tileView : styles.listView,\n );\n\n const header = (\n <div className={styles.header}>\n <div className={styles.checkboxContainer}>{checkbox}</div>\n {avatar}\n <div className={styles.title}>\n {title}\n <div className={styles.subTitle}>{subTitle}</div>\n </div>\n </div>\n );\n\n const innerListContent = (\n <>\n {header}\n {children}\n </>\n );\n\n const listColumnsContentView = (\n <ColumnLayout\n s={s}\n m={m}\n l={l}\n className={clsx(styles.content, styles.columnLayout)}\n >\n {innerListContent}\n </ColumnLayout>\n );\n\n const listDefaultContentView = (\n <div className={styles.content}>{innerListContent}</div>\n );\n\n const listView = (\n <>\n <div className={styles.contentWrapper}>\n {s || m || l ? listColumnsContentView : listDefaultContentView}\n {button}\n </div>\n {bottom}\n </>\n );\n\n const tilesViews = (\n <>\n <div className={styles.avatarContainer}>{avatar}</div>\n <div className={styles.content}>\n <div className={styles.header}>\n <div className={styles.checkboxContainer}>{checkbox}</div>\n <div className={styles.title}>\n {title}\n <div className={styles.subTitle}>{subTitle}</div>\n </div>\n {button}\n </div>\n {children}\n {bottom}\n </div>\n </>\n );\n\n return (\n <div className={className}>\n <PropsContextProvider props={propsContext}>\n {viewMode === \"list\" && listView}\n {viewMode === \"tiles\" && tilesViews}\n </PropsContextProvider>\n </div>\n );\n};\n\nexport default ListItemViewContent;\n"],"mappings":";;;;;;;;;;AA+BA,IAAM,0BAA0B,SAC9B,SAAS,WACL,KAAKA,4BAAO,eAAeC,oBAAW,aAAa,IACnDD,4BAAO;;AAGb,IAAa,uBAAuB,UAAoC;CACtE,MAAM,EACJ,UACA,QACA,OACA,UACA,QACA,QACA,UACA,UACA,GACA,GACA,MACE;CAEJ,MAAM,eAAsD,EAC1D,QAAQ;EACN,cAAc,MAAM,EAAE,gBAAgB;EACtC,gBAAgB,MAAM,EAAE,gBAAgB;CAC1C,EACF;CAEA,MAAM,eAA6B;EACjC,aAAa,EACX,WAAW,aACb;EACA,QAAQ,EACN,WAAWA,4BAAO,OACpB;EACA,aAAa,EACX,WAAWA,4BAAO,OACpB;EACA,SAAS;GACP,WAAW,SAAS,MAAM,uBAAuB,EAAE,IAAI,CAAC;GACxD,aAAa,SAAS,MAAM,aAAa,EAAE,QAAQ,MAAM,EAAE,WAAW;GACtE,eAAe,SACZ,MAAM,aAAa,EAAE,QAAQ,MAAM,EAAE,aACxC;EACF;EACA,QAAQ,EACN,WAAWA,4BAAO,OACpB;EACA,SAAS;GACP,WAAWA,4BAAO;GAClB,OAAO;GACP,MAAM;GACN,aAAa;GACb,OAAO,EAAE,WAAWA,4BAAO,MAAM;GACjC,YAAY,EAAE,WAAWA,4BAAO,MAAM;EACxC;EACA,MAAM,EACJ,WAAWA,4BAAO,KACpB;EACA,MAAM,EACJ,UAAU,KACZ;CACF;CAEA,MAAM,YAAY,KAChBA,4BAAO,MACP,aAAa,UAAUA,4BAAO,WAAWA,4BAAO,QAClD;CAEA,MAAM,SACJ,qBAAC,OAAD;EAAK,WAAWA,4BAAO;EAAvB,UAAA;GACE,oBAAC,OAAD;IAAK,WAAWA,4BAAO;IAAoB,UAAA;GAAc,CAAA;GACxD;GACD,qBAAC,OAAD;IAAK,WAAWA,4BAAO;IAAvB,UAAA,CACG,OACD,oBAAC,OAAD;KAAK,WAAWA,4BAAO;KAAW,UAAA;IAAc,CAAA,CAC7C;;EACF;;CAGP,MAAM,mBACJ,qBAAAE,UAAA,EAAA,UAAA,CACG,QACA,QACD,EAAA,CAAA;CAGJ,MAAM,yBACJ,oBAAC,cAAD;EACK;EACA;EACA;EACH,WAAW,KAAKF,4BAAO,SAASA,4BAAO,YAAY;EAElD,UAAA;CACW,CAAA;CAGhB,MAAM,yBACJ,oBAAC,OAAD;EAAK,WAAWA,4BAAO;EAAU,UAAA;CAAsB,CAAA;CAGzD,MAAM,WACJ,qBAAAE,UAAA,EAAA,UAAA,CACE,qBAAC,OAAD;EAAK,WAAWF,4BAAO;EAAvB,UAAA,CACG,KAAK,KAAK,IAAI,yBAAyB,wBACvC,MACE;CACJ,CAAA,GAAA,MACD,EAAA,CAAA;CAGJ,MAAM,aACJ,qBAAAE,UAAA,EAAA,UAAA,CACE,oBAAC,OAAD;EAAK,WAAWF,4BAAO;EAAkB,UAAA;CAAY,CAAA,GACrD,qBAAC,OAAD;EAAK,WAAWA,4BAAO;EAAvB,UAAA;GACE,qBAAC,OAAD;IAAK,WAAWA,4BAAO;IAAvB,UAAA;KACE,oBAAC,OAAD;MAAK,WAAWA,4BAAO;MAAoB,UAAA;KAAc,CAAA;KACzD,qBAAC,OAAD;MAAK,WAAWA,4BAAO;MAAvB,UAAA,CACG,OACD,oBAAC,OAAD;OAAK,WAAWA,4BAAO;OAAW,UAAA;MAAc,CAAA,CAC7C;;KACJ;IACE;;GACJ;GACA;EACE;CACL,CAAA,CAAA,EAAA,CAAA;CAGJ,OACE,oBAAC,OAAD;EAAgB;EACd,UAAA,qBAAC,sBAAD;GAAsB,OAAO;GAA7B,UAAA,CACG,aAAa,UAAU,UACvB,aAAa,WAAW,UACL;;CACnB,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListSummary.mjs","names":[],"sources":["../../../../../../../../../src/components/List/components/ListSummary/ListSummary.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport styles from \"./ListSummary.module.scss\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport clsx from \"clsx\";\n\nexport interface ListSummaryProps\n extends FlowComponentProps, PropsWithChildren {\n /** Whether the summary is placed above or underneath the list @default: \"top\" */\n position?: \"top\" | \"bottom\";\n}\n\n/** @flr-generate all */\nexport const ListSummary = flowComponent(\"ListSummary\", (props) => {\n const { children, position = \"top\", ref } = props;\n\n if (position === \"bottom\") {\n return (\n <footer\n ref={ref}\n className={clsx(styles.listSummary, styles.bottom)}\n {...props}\n >\n {children}\n </footer>\n );\n }\n\n return (\n <header\n ref={ref}\n className={clsx(styles.listSummary, styles.top)}\n {...props}\n >\n {children}\n </header>\n );\n});\n\nexport default ListSummary;\n"],"mappings":";;;;;;;;AAaA,IAAa,cAAc,cAAc,gBAAgB,UAAU;CACjE,MAAM,EAAE,UAAU,WAAW,OAAO,QAAQ;CAE5C,IAAI,aAAa,UACf,OACE,oBAAC,UAAD;EACO;EACL,WAAW,KAAK,2BAAO,aAAa,2BAAO,MAAM;EACjD,GAAI;EAEH;CACK,CAAA;CAIZ,OACE,oBAAC,UAAD;EACO;EACL,WAAW,KAAK,2BAAO,aAAa,2BAAO,GAAG;EAC9C,GAAI;EAEH;CACK,CAAA;AAEZ,CAAC"}
1
+ {"version":3,"file":"ListSummary.mjs","names":["styles"],"sources":["../../../../../../../../../src/components/List/components/ListSummary/ListSummary.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport styles from \"./ListSummary.module.scss\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport clsx from \"clsx\";\n\nexport interface ListSummaryProps\n extends FlowComponentProps, PropsWithChildren {\n /** Whether the summary is placed above or underneath the list @default: \"top\" */\n position?: \"top\" | \"bottom\";\n}\n\n/** @flr-generate all */\nexport const ListSummary = flowComponent(\"ListSummary\", (props) => {\n const { children, position = \"top\", ref } = props;\n\n if (position === \"bottom\") {\n return (\n <footer\n ref={ref}\n className={clsx(styles.listSummary, styles.bottom)}\n {...props}\n >\n {children}\n </footer>\n );\n }\n\n return (\n <header\n ref={ref}\n className={clsx(styles.listSummary, styles.top)}\n {...props}\n >\n {children}\n </header>\n );\n});\n\nexport default ListSummary;\n"],"mappings":";;;;;;;;AAaA,IAAa,cAAc,cAAc,gBAAgB,UAAU;CACjE,MAAM,EAAE,UAAU,WAAW,OAAO,QAAQ;CAE5C,IAAI,aAAa,UACf,OACE,oBAAC,UAAD;EACO;EACL,WAAW,KAAKA,2BAAO,aAAaA,2BAAO,MAAM;EACjD,GAAI;EAEH;CACK,CAAA;CAIZ,OACE,oBAAC,UAAD;EACO;EACL,WAAW,KAAKA,2BAAO,aAAaA,2BAAO,GAAG;EAC9C,GAAI;EAEH;CACK,CAAA;AAEZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.mjs","names":[],"sources":["../../../../../../../../../src/components/List/components/Table/Table.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useList } from \"@/components/List\";\nimport styles from \"./Table.module.scss\";\nimport clsx from \"clsx\";\nimport TableView from \"@/views/TableView\";\nimport TableHeaderView from \"@/views/TableHeaderView\";\nimport TableBodyView from \"@/views/TableBodyView\";\nimport TableRowView from \"@/views/TableRowView\";\nimport TableCellView from \"@/views/TableCellView\";\nimport TableColumnView from \"@/views/TableColumnView\";\nimport { TableBodyLoadingView } from \"@/components/List/components/Table/components/TableBodyLoadingView\";\nimport { useInfiniteScrollTrigger } from \"@/components/List/hooks/useInfiniteScrollTrigger\";\n\nexport const Table: FC = () => {\n const list = useList();\n const table = list.table;\n const listIsEmpty = list.useIsEmpty();\n\n const isLoading = list.loader.useIsLoading();\n const isInitiallyLoading = list.loader.useIsInitiallyLoading();\n const isLoadingMore = list.loader.useIsLoadingMore();\n\n const { triggerRef, triggerIndex } = useInfiniteScrollTrigger();\n\n if (!table || listIsEmpty) {\n return null;\n }\n\n const rowAction = table.list.onAction;\n\n const tableClassName = clsx(\n styles.table,\n isLoading && !(list.infiniteScroll && isLoadingMore) && styles.isLoading,\n table.componentProps.className,\n );\n\n const rows = list.items.entries.map((item, index) => (\n <TableRowView\n className={clsx(\n styles.row,\n rowAction && styles.hasAction,\n table.body.row.componentProps.className,\n )}\n key={item.id}\n id={item.id}\n onAction={rowAction ? () => rowAction(item.data) : undefined}\n {...table.body.row.componentProps}\n {...(index === triggerIndex ? { ref: triggerRef } : {})}\n >\n {table.body.row?.cells.map((cell, i) => (\n <TableCellView key={i} {...cell.componentProps}>\n {cell.renderFn ? cell.renderFn(item.data, list) : undefined}\n </TableCellView>\n ))}\n </TableRowView>\n ));\n\n return (\n <TableView\n {...list.componentProps}\n {...table.componentProps}\n className={tableClassName}\n aria-hidden={isInitiallyLoading}\n aria-busy={isLoading}\n >\n <TableHeaderView {...table.header.componentProps}>\n {table.header.columns.map((col, i) => (\n <TableColumnView key={i} {...col.componentProps} />\n ))}\n </TableHeaderView>\n <TableBodyView {...table.body.componentProps}>\n {isInitiallyLoading ? <TableBodyLoadingView /> : rows}\n </TableBodyView>\n </TableView>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAaA,IAAa,cAAkB;CAC7B,MAAM,OAAO,QAAQ;CACrB,MAAM,QAAQ,KAAK;CACnB,MAAM,cAAc,KAAK,WAAW;CAEpC,MAAM,YAAY,KAAK,OAAO,aAAa;CAC3C,MAAM,qBAAqB,KAAK,OAAO,sBAAsB;CAC7D,MAAM,gBAAgB,KAAK,OAAO,iBAAiB;CAEnD,MAAM,EAAE,YAAY,iBAAiB,yBAAyB;CAE9D,IAAI,CAAC,SAAS,aACZ,OAAO;CAGT,MAAM,YAAY,MAAM,KAAK;CAE7B,MAAM,iBAAiB,KACrB,qBAAO,OACP,aAAa,EAAE,KAAK,kBAAkB,kBAAkB,qBAAO,WAC/D,MAAM,eAAe,SACvB;CAEA,MAAM,OAAO,KAAK,MAAM,QAAQ,KAAK,MAAM,UACzC,oBAAC,cAAD;EACE,WAAW,KACT,qBAAO,KACP,aAAa,qBAAO,WACpB,MAAM,KAAK,IAAI,eAAe,SAChC;EAEA,IAAI,KAAK;EACT,UAAU,kBAAkB,UAAU,KAAK,IAAI,IAAI,KAAA;EACnD,GAAI,MAAM,KAAK,IAAI;EACnB,GAAK,UAAU,eAAe,EAAE,KAAK,WAAW,IAAI,CAAC;EAEpD,UAAA,MAAM,KAAK,KAAK,MAAM,KAAK,MAAM,MAChC,oBAAC,eAAD;GAAuB,GAAI,KAAK;GAC7B,UAAA,KAAK,WAAW,KAAK,SAAS,KAAK,MAAM,IAAI,IAAI,KAAA;EACrC,GAFK,CAEL,CAChB;CACW,GAXP,KAAK,EAWE,CACf;CAED,OACE,qBAAC,WAAD;EACE,GAAI,KAAK;EACT,GAAI,MAAM;EACV,WAAW;EACX,eAAa;EACb,aAAW;EALb,UAAA,CAOE,oBAAC,iBAAD;GAAiB,GAAI,MAAM,OAAO;GAC/B,UAAA,MAAM,OAAO,QAAQ,KAAK,KAAK,MAC9B,oBAAC,iBAAD,EAAyB,GAAI,IAAI,eAAiB,GAA5B,CAA4B,CACnD;EACc,CAAA,GACjB,oBAAC,eAAD;GAAe,GAAI,MAAM,KAAK;GAC3B,UAAA,qBAAqB,oBAAC,sBAAD,CAAuB,CAAA,IAAI;EACpC,CAAA,CACN;;AAEf"}
1
+ {"version":3,"file":"Table.mjs","names":["styles"],"sources":["../../../../../../../../../src/components/List/components/Table/Table.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useList } from \"@/components/List\";\nimport styles from \"./Table.module.scss\";\nimport clsx from \"clsx\";\nimport TableView from \"@/views/TableView\";\nimport TableHeaderView from \"@/views/TableHeaderView\";\nimport TableBodyView from \"@/views/TableBodyView\";\nimport TableRowView from \"@/views/TableRowView\";\nimport TableCellView from \"@/views/TableCellView\";\nimport TableColumnView from \"@/views/TableColumnView\";\nimport { TableBodyLoadingView } from \"@/components/List/components/Table/components/TableBodyLoadingView\";\nimport { useInfiniteScrollTrigger } from \"@/components/List/hooks/useInfiniteScrollTrigger\";\n\nexport const Table: FC = () => {\n const list = useList();\n const table = list.table;\n const listIsEmpty = list.useIsEmpty();\n\n const isLoading = list.loader.useIsLoading();\n const isInitiallyLoading = list.loader.useIsInitiallyLoading();\n const isLoadingMore = list.loader.useIsLoadingMore();\n\n const { triggerRef, triggerIndex } = useInfiniteScrollTrigger();\n\n if (!table || listIsEmpty) {\n return null;\n }\n\n const rowAction = table.list.onAction;\n\n const tableClassName = clsx(\n styles.table,\n isLoading && !(list.infiniteScroll && isLoadingMore) && styles.isLoading,\n table.componentProps.className,\n );\n\n const rows = list.items.entries.map((item, index) => (\n <TableRowView\n className={clsx(\n styles.row,\n rowAction && styles.hasAction,\n table.body.row.componentProps.className,\n )}\n key={item.id}\n id={item.id}\n onAction={rowAction ? () => rowAction(item.data) : undefined}\n {...table.body.row.componentProps}\n {...(index === triggerIndex ? { ref: triggerRef } : {})}\n >\n {table.body.row?.cells.map((cell, i) => (\n <TableCellView key={i} {...cell.componentProps}>\n {cell.renderFn ? cell.renderFn(item.data, list) : undefined}\n </TableCellView>\n ))}\n </TableRowView>\n ));\n\n return (\n <TableView\n {...list.componentProps}\n {...table.componentProps}\n className={tableClassName}\n aria-hidden={isInitiallyLoading}\n aria-busy={isLoading}\n >\n <TableHeaderView {...table.header.componentProps}>\n {table.header.columns.map((col, i) => (\n <TableColumnView key={i} {...col.componentProps} />\n ))}\n </TableHeaderView>\n <TableBodyView {...table.body.componentProps}>\n {isInitiallyLoading ? <TableBodyLoadingView /> : rows}\n </TableBodyView>\n </TableView>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAaA,IAAa,cAAkB;CAC7B,MAAM,OAAO,QAAQ;CACrB,MAAM,QAAQ,KAAK;CACnB,MAAM,cAAc,KAAK,WAAW;CAEpC,MAAM,YAAY,KAAK,OAAO,aAAa;CAC3C,MAAM,qBAAqB,KAAK,OAAO,sBAAsB;CAC7D,MAAM,gBAAgB,KAAK,OAAO,iBAAiB;CAEnD,MAAM,EAAE,YAAY,iBAAiB,yBAAyB;CAE9D,IAAI,CAAC,SAAS,aACZ,OAAO;CAGT,MAAM,YAAY,MAAM,KAAK;CAE7B,MAAM,iBAAiB,KACrBA,qBAAO,OACP,aAAa,EAAE,KAAK,kBAAkB,kBAAkBA,qBAAO,WAC/D,MAAM,eAAe,SACvB;CAEA,MAAM,OAAO,KAAK,MAAM,QAAQ,KAAK,MAAM,UACzC,oBAAC,cAAD;EACE,WAAW,KACTA,qBAAO,KACP,aAAaA,qBAAO,WACpB,MAAM,KAAK,IAAI,eAAe,SAChC;EAEA,IAAI,KAAK;EACT,UAAU,kBAAkB,UAAU,KAAK,IAAI,IAAI,KAAA;EACnD,GAAI,MAAM,KAAK,IAAI;EACnB,GAAK,UAAU,eAAe,EAAE,KAAK,WAAW,IAAI,CAAC;EAEpD,UAAA,MAAM,KAAK,KAAK,MAAM,KAAK,MAAM,MAChC,oBAAC,eAAD;GAAuB,GAAI,KAAK;GAC7B,UAAA,KAAK,WAAW,KAAK,SAAS,KAAK,MAAM,IAAI,IAAI,KAAA;EACrC,GAFK,CAEL,CAChB;CACW,GAXP,KAAK,EAWE,CACf;CAED,OACE,qBAAC,WAAD;EACE,GAAI,KAAK;EACT,GAAI,MAAM;EACV,WAAW;EACX,eAAa;EACb,aAAW;EALb,UAAA,CAOE,oBAAC,iBAAD;GAAiB,GAAI,MAAM,OAAO;GAC/B,UAAA,MAAM,OAAO,QAAQ,KAAK,KAAK,MAC9B,oBAAC,iBAAD,EAAyB,GAAI,IAAI,eAAiB,GAA5B,CAA4B,CACnD;EACc,CAAA,GACjB,oBAAC,eAAD;GAAe,GAAI,MAAM,KAAK;GAC3B,UAAA,qBAAqB,oBAAC,sBAAD,CAAuB,CAAA,IAAI;EACpC,CAAA,CACN;;AAEf"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableBodyLoadingView.mjs","names":[],"sources":["../../../../../../../../../../src/components/List/components/Table/components/TableBodyLoadingView.tsx"],"sourcesContent":["import { TableRowSkeletonView } from \"@/components/List/components/Table/components/TableRowSkeletonView\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport type { FC } from \"react\";\n\nexport const TableBodyLoadingView: FC = () => {\n const list = useList();\n\n return (\n <>\n {Array.from(Array(list.loadingItemsCount)).map((_, i) => (\n <TableRowSkeletonView key={i} />\n ))}\n </>\n );\n};\n"],"mappings":";;;;;;AAIA,IAAa,6BAAiC;CAC5C,MAAM,OAAO,QAAQ;CAErB,OACE,oBAAA,UAAA,EAAA,UACG,MAAM,KAAK,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,MACjD,oBAAC,sBAAD,CAA+B,GAAJ,CAAI,CAChC,EACD,CAAA;AAEN"}
1
+ {"version":3,"file":"TableBodyLoadingView.mjs","names":["_Fragment"],"sources":["../../../../../../../../../../src/components/List/components/Table/components/TableBodyLoadingView.tsx"],"sourcesContent":["import { TableRowSkeletonView } from \"@/components/List/components/Table/components/TableRowSkeletonView\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport type { FC } from \"react\";\n\nexport const TableBodyLoadingView: FC = () => {\n const list = useList();\n\n return (\n <>\n {Array.from(Array(list.loadingItemsCount)).map((_, i) => (\n <TableRowSkeletonView key={i} />\n ))}\n </>\n );\n};\n"],"mappings":";;;;;;AAIA,IAAa,6BAAiC;CAC5C,MAAM,OAAO,QAAQ;CAErB,OACE,oBAAAA,UAAA,EAAA,UACG,MAAM,KAAK,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,MACjD,oBAAC,sBAAD,CAA+B,GAAJ,CAAI,CAChC,EACD,CAAA;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowSkeletonView.mjs","names":[],"sources":["../../../../../../../../../../src/components/List/components/Table/components/TableRowSkeletonView.tsx"],"sourcesContent":["import { useList } from \"@/components/List/hooks/useList\";\nimport TableRowView from \"@/views/TableRowView\";\nimport clsx from \"clsx\";\nimport type { FC } from \"react\";\nimport styles from \"../Table.module.scss\";\nimport invariant from \"invariant\";\nimport TableCellView from \"@/views/TableCellView\";\nimport SkeletonTextView from \"@/views/SkeletonTextView\";\n\nexport const TableRowSkeletonView: FC = () => {\n const list = useList();\n const table = list.table;\n\n invariant(\n !!table,\n \"TableRowSkeletonView must be used within a Table component\",\n );\n\n const className = clsx(styles.row, table.body.row.componentProps.className);\n\n return (\n <TableRowView {...table.body.row.componentProps} className={className}>\n {table.body.row?.cells.map((cell, i) => (\n <TableCellView key={i} {...cell.componentProps}>\n {cell.loadingView ?? <SkeletonTextView width=\"10em\" />}\n </TableCellView>\n ))}\n </TableRowView>\n );\n};\n"],"mappings":";;;;;;;;;;;AASA,IAAa,6BAAiC;CAE5C,MAAM,QADO,QACC,CAAA,CAAK;CAEnB,UACE,CAAC,CAAC,OACF,4DACF;CAEA,MAAM,YAAY,KAAK,qBAAO,KAAK,MAAM,KAAK,IAAI,eAAe,SAAS;CAE1E,OACE,oBAAC,cAAD;EAAc,GAAI,MAAM,KAAK,IAAI;EAA2B;EACzD,UAAA,MAAM,KAAK,KAAK,MAAM,KAAK,MAAM,MAChC,oBAAC,eAAD;GAAuB,GAAI,KAAK;GAC7B,UAAA,KAAK,eAAe,oBAAC,kBAAD,EAAkB,OAAM,OAAQ,CAAA;EACxC,GAFK,CAEL,CAChB;CACW,CAAA;AAElB"}
1
+ {"version":3,"file":"TableRowSkeletonView.mjs","names":["styles"],"sources":["../../../../../../../../../../src/components/List/components/Table/components/TableRowSkeletonView.tsx"],"sourcesContent":["import { useList } from \"@/components/List/hooks/useList\";\nimport TableRowView from \"@/views/TableRowView\";\nimport clsx from \"clsx\";\nimport type { FC } from \"react\";\nimport styles from \"../Table.module.scss\";\nimport invariant from \"invariant\";\nimport TableCellView from \"@/views/TableCellView\";\nimport SkeletonTextView from \"@/views/SkeletonTextView\";\n\nexport const TableRowSkeletonView: FC = () => {\n const list = useList();\n const table = list.table;\n\n invariant(\n !!table,\n \"TableRowSkeletonView must be used within a Table component\",\n );\n\n const className = clsx(styles.row, table.body.row.componentProps.className);\n\n return (\n <TableRowView {...table.body.row.componentProps} className={className}>\n {table.body.row?.cells.map((cell, i) => (\n <TableCellView key={i} {...cell.componentProps}>\n {cell.loadingView ?? <SkeletonTextView width=\"10em\" />}\n </TableCellView>\n ))}\n </TableRowView>\n );\n};\n"],"mappings":";;;;;;;;;;;AASA,IAAa,6BAAiC;CAE5C,MAAM,QADO,QACC,CAAA,CAAK;CAEnB,UACE,CAAC,CAAC,OACF,4DACF;CAEA,MAAM,YAAY,KAAKA,qBAAO,KAAK,MAAM,KAAK,IAAI,eAAe,SAAS;CAE1E,OACE,oBAAC,cAAD;EAAc,GAAI,MAAM,KAAK,IAAI;EAA2B;EACzD,UAAA,MAAM,KAAK,KAAK,MAAM,KAAK,MAAM,MAChC,oBAAC,eAAD;GAAuB,GAAI,KAAK;GAC7B,UAAA,KAAK,eAAe,oBAAC,kBAAD,EAAkB,OAAM,OAAQ,CAAA;EACxC,GAFK,CAEL,CAChB;CACW,CAAA;AAElB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAriaAnnounceSearchState.mjs","names":[],"sources":["../../../../../../../../src/components/List/hooks/useAriaAnnounceSearchState.ts"],"sourcesContent":["import { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport locales from \"../locales/*.locale.json\";\nimport { announce } from \"@react-aria/live-announcer\";\nimport { useDebounceCallback } from \"usehooks-ts\";\nimport { useEffect } from \"react\";\nimport { useList } from \"@/components/List/hooks/useList\";\n\nconst announceDebounceMs = 600;\n\nexport const useAriaAnnounceSearchState = (): void => {\n const formatter = useLocalizedStringFormatter(locales, \"List\");\n const list = useList();\n const debouncedAnnounce = useDebounceCallback(announce, announceDebounceMs);\n\n const searchTerm = list.search?.value;\n const resultCount = list.batches.getTotalItemsCount();\n const isLoading = list.loader.loaderState.useIsLoading();\n\n useEffect(() => {\n if (isLoading || !searchTerm) {\n debouncedAnnounce.cancel();\n return;\n }\n\n const text = formatter.format(\n resultCount > 0 ? \"search.announce.result\" : \"search.announce.noResult\",\n {\n resultCount,\n searchTerm,\n },\n );\n\n debouncedAnnounce(text, \"polite\");\n }, [searchTerm, resultCount, isLoading]);\n};\n"],"mappings":";;;;;;;;;AAOA,IAAM,qBAAqB;AAE3B,IAAa,mCAAyC;CACpD,MAAM,YAAY,4BAA4B,kBAAS,MAAM;CAC7D,MAAM,OAAO,QAAQ;CACrB,MAAM,oBAAoB,oBAAoB,UAAU,kBAAkB;CAE1E,MAAM,aAAa,KAAK,QAAQ;CAChC,MAAM,cAAc,KAAK,QAAQ,mBAAmB;CACpD,MAAM,YAAY,KAAK,OAAO,YAAY,aAAa;CAEvD,gBAAgB;EACd,IAAI,aAAa,CAAC,YAAY;GAC5B,kBAAkB,OAAO;GACzB;EACF;EAEA,MAAM,OAAO,UAAU,OACrB,cAAc,IAAI,2BAA2B,4BAC7C;GACE;GACA;EACF,CACF;EAEA,kBAAkB,MAAM,QAAQ;CAClC,GAAG;EAAC;EAAY;EAAa;CAAS,CAAC;AACzC"}
1
+ {"version":3,"file":"useAriaAnnounceSearchState.mjs","names":["locales"],"sources":["../../../../../../../../src/components/List/hooks/useAriaAnnounceSearchState.ts"],"sourcesContent":["import { useLocalizedStringFormatter } from \"@/components/TranslationProvider/useLocalizedStringFormatter\";\nimport locales from \"../locales/*.locale.json\";\nimport { announce } from \"@react-aria/live-announcer\";\nimport { useDebounceCallback } from \"usehooks-ts\";\nimport { useEffect } from \"react\";\nimport { useList } from \"@/components/List/hooks/useList\";\n\nconst announceDebounceMs = 600;\n\nexport const useAriaAnnounceSearchState = (): void => {\n const formatter = useLocalizedStringFormatter(locales, \"List\");\n const list = useList();\n const debouncedAnnounce = useDebounceCallback(announce, announceDebounceMs);\n\n const searchTerm = list.search?.value;\n const resultCount = list.batches.getTotalItemsCount();\n const isLoading = list.loader.loaderState.useIsLoading();\n\n useEffect(() => {\n if (isLoading || !searchTerm) {\n debouncedAnnounce.cancel();\n return;\n }\n\n const text = formatter.format(\n resultCount > 0 ? \"search.announce.result\" : \"search.announce.noResult\",\n {\n resultCount,\n searchTerm,\n },\n );\n\n debouncedAnnounce(text, \"polite\");\n }, [searchTerm, resultCount, isLoading]);\n};\n"],"mappings":";;;;;;;;;AAOA,IAAM,qBAAqB;AAE3B,IAAa,mCAAyC;CACpD,MAAM,YAAY,4BAA4BA,kBAAS,MAAM;CAC7D,MAAM,OAAO,QAAQ;CACrB,MAAM,oBAAoB,oBAAoB,UAAU,kBAAkB;CAE1E,MAAM,aAAa,KAAK,QAAQ;CAChC,MAAM,cAAc,KAAK,QAAQ,mBAAmB;CACpD,MAAM,YAAY,KAAK,OAAO,YAAY,aAAa;CAEvD,gBAAgB;EACd,IAAI,aAAa,CAAC,YAAY;GAC5B,kBAAkB,OAAO;GACzB;EACF;EAEA,MAAM,OAAO,UAAU,OACrB,cAAc,IAAI,2BAA2B,4BAC7C;GACE;GACA;EACF,CACF;EAEA,kBAAkB,MAAM,QAAQ;CAClC,GAAG;EAAC;EAAY;EAAa;CAAS,CAAC;AACzC"}
@@ -1,10 +1,10 @@
1
1
  "use client"
2
2
  /* */
3
3
  import { useWarnDeprecation } from "../../DeprecationWarningProvider/DeprecationWarningProvider.mjs";
4
+ import { ListBatchesController } from "../../../../../components-base/src/list/pagination/ListBatchesController.mjs";
4
5
  import { Filter } from "./filter/Filter.mjs";
5
6
  import { DateRangeFilter } from "./filter/DateRangeFilter.mjs";
6
7
  import { ItemCollection } from "./item/ItemCollection.mjs";
7
- import { BatchesController } from "./pagination/BatchesController.mjs";
8
8
  import { Sorting } from "./sorting/Sorting.mjs";
9
9
  import { ReactTable } from "./ReactTable.mjs";
10
10
  import { IncrementalLoader } from "./loading/IncrementalLoader.mjs";
@@ -54,24 +54,35 @@ var List = class List {
54
54
  this.accordion = accordion;
55
55
  this.infiniteScroll = infiniteScroll;
56
56
  this.table = table ? new Table(this, table) : void 0;
57
- this.batches = new BatchesController(this, batchesController);
57
+ this.batches = new ListBatchesController(this, batchesController);
58
+ this.filters.forEach((f) => f.onFilterUpdated(() => this.batches.reset()));
59
+ this.search?.onUpdated(() => this.batches.reset());
58
60
  this.componentProps = componentProps;
61
+ this.getItemId = getItemId;
59
62
  this.loader = IncrementalLoader.useNew(this, loader);
60
63
  this.onAction = onAction;
61
- this.getItemId = getItemId;
62
64
  this.loadingItemsCount = loadingItemsCount;
63
65
  this.reactTable = ReactTable.useNew(this, onChange, {
64
66
  manualFiltering: this.loader.manualFiltering,
65
67
  manualPagination: this.loader.manualPagination,
66
68
  manualSorting: this.loader.manualSorting
67
69
  });
68
- this.viewMode = new ListViewMode(this, { defaultViewMode });
70
+ this.viewMode = ListViewMode.useNew(this, { defaultViewMode });
69
71
  this.emptyView = emptyView;
70
72
  this.emptySearchResultView = emptySearchResultView;
71
73
  useEffect(() => {
72
74
  this.filters.forEach((f) => f.deleteUnknownFilterValues());
73
75
  }, [this.filters]);
74
76
  }
77
+ get dataTable() {
78
+ return this.reactTable.table;
79
+ }
80
+ get settings() {
81
+ return this.settingsStorage;
82
+ }
83
+ get settingsDefaults() {
84
+ return this.settingsStorageDefaults;
85
+ }
75
86
  getEmptyViewType() {
76
87
  return this.hasActiveFilters || this.search?.isSet ? "search" : "list";
77
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"List.mjs","names":[],"sources":["../../../../../../../../src/components/List/model/List.ts"],"sourcesContent":["import { ItemCollection } from \"@/components/List/model/item/ItemCollection\";\nimport { BatchesController } from \"@/components/List/model/pagination/BatchesController\";\nimport { Filter } from \"./filter/Filter\";\nimport { Sorting } from \"@/components/List/model/sorting/Sorting\";\nimport ReactTable from \"@/components/List/model/ReactTable\";\nimport type {\n EmptyViewType,\n GetItemId,\n ItemActionFn,\n ListSettingsStorageDefaults,\n ListShape,\n ListSupportedComponentProps,\n} from \"@/components/List/model/types\";\nimport { IncrementalLoader } from \"@/components/List/model/loading/IncrementalLoader\";\nimport invariant from \"invariant\";\nimport { Search } from \"@/components/List/model/search/Search\";\nimport { ItemView } from \"@/components/List/model/item/ItemView\";\nimport { Table } from \"@/components/List/model/table/Table\";\nimport { useEffect, type ReactNode } from \"react\";\nimport { ListSettingsStore } from \"./ListSettingsStore\";\nimport { ListViewMode } from \"./ListViewMode\";\nimport { useSettings } from \"@/components/SettingsProvider/SettingsProvider\";\nimport { DateRangeFilter } from \"@/components/List/model/filter/DateRangeFilter\";\nimport { useWarnDeprecation } from \"@/components/DeprecationWarningProvider\";\n\nexport class List<T = unknown, TMeta = unknown> {\n public readonly filters: (\n Filter<T, never, never> | DateRangeFilter<T, never>\n )[];\n public readonly itemView?: ItemView<T>;\n public readonly table?: Table<T>;\n public readonly search?: Search<T>;\n public readonly sorting: Sorting<T>[];\n public readonly items: ItemCollection<T>;\n public readonly reactTable: ReactTable<T>;\n public readonly batches: BatchesController<T>;\n public readonly loader: IncrementalLoader<T>;\n public readonly onAction?: ItemActionFn<T>;\n public readonly accordion: boolean;\n public readonly infiniteScroll: boolean;\n public readonly getItemId?: GetItemId<T>;\n public readonly componentProps: ListSupportedComponentProps;\n public metadata?: TMeta;\n public readonly settingsStorage?: ListSettingsStore<T>;\n public readonly loadingItemsCount;\n public readonly viewMode: ListViewMode<T>;\n public readonly emptyView?: ReactNode;\n public readonly emptySearchResultView?: ReactNode;\n public readonly settingsStorageDefaults?: ListSettingsStorageDefaults;\n\n public constructor(shape: ListShape<T, TMeta>) {\n const {\n settingStorageKey,\n itemView,\n table,\n filters = [],\n sorting = [],\n batchesController,\n onChange,\n loader,\n search,\n onAction,\n getItemId,\n defaultViewMode,\n accordion = false,\n infiniteScroll = false,\n loadingItemsCount = 5,\n settingsStorageDefaults,\n emptyView,\n emptySearchResultView,\n ...componentProps\n } = shape;\n\n const warnDeprecation = useWarnDeprecation();\n if (itemView?.fallback !== undefined) {\n warnDeprecation(\n \"The 'fallback' prop is deprecated and will be removed in a future release. Use 'loadingView' instead.\",\n );\n }\n\n this.settingsStorageDefaults = settingsStorageDefaults;\n const generalSettingsStore = useSettings();\n\n this.settingsStorage =\n settingStorageKey && generalSettingsStore\n ? new ListSettingsStore(this, generalSettingsStore, {\n storageKey: settingStorageKey,\n })\n : undefined;\n\n this.items = new ItemCollection(this);\n this.filters = filters.map((shape) =>\n shape.mode === \"dateRange\"\n ? new DateRangeFilter(this, shape)\n : new Filter(this, shape),\n );\n this.sorting = sorting.map((shape) => new Sorting<T>(this, shape));\n this.search = search ? new Search(this, search) : undefined;\n this.itemView = itemView ? new ItemView(this, itemView) : undefined;\n this.accordion = accordion;\n this.infiniteScroll = infiniteScroll;\n this.table = table ? new Table(this, table) : undefined;\n this.batches = new BatchesController(this, batchesController);\n this.componentProps = componentProps;\n this.loader = IncrementalLoader.useNew<T>(this, loader);\n this.onAction = onAction;\n this.getItemId = getItemId;\n this.loadingItemsCount = loadingItemsCount;\n this.reactTable = ReactTable.useNew(this, onChange, {\n manualFiltering: this.loader.manualFiltering,\n manualPagination: this.loader.manualPagination,\n manualSorting: this.loader.manualSorting,\n });\n this.viewMode = new ListViewMode(this, { defaultViewMode });\n this.emptyView = emptyView;\n this.emptySearchResultView = emptySearchResultView;\n\n useEffect(() => {\n this.filters.forEach((f) => f.deleteUnknownFilterValues());\n }, [this.filters]);\n }\n\n public getEmptyViewType(): EmptyViewType {\n return this.hasActiveFilters || this.search?.isSet ? \"search\" : \"list\";\n }\n\n public get hasActiveFilters(): boolean {\n return this.filters.some((f) => f.isActive());\n }\n\n public get visibleSorting() {\n return this.sorting.filter((s) => s.initialEnabled !== \"hidden\");\n }\n\n public static useNew<T, TMeta = unknown>(\n shape: ListShape<T, TMeta>,\n ): List<T, TMeta> {\n return new List<T, TMeta>(shape);\n }\n\n public getSorting(id: string): Sorting<T> {\n const sorting = this.sorting.find((s) => s.id === id);\n invariant(!!sorting, `Could not get Sorting (ID: ${id})`);\n return sorting;\n }\n\n public clearSorting(): void {\n return this.sorting.forEach((s) => s.clear());\n }\n\n public resetFilters(): void {\n return this.filters.forEach((f) => f.resetValues());\n }\n\n public clearFilters(): void {\n return this.filters.forEach((f) => f.clear());\n }\n\n public useIsEmpty(): boolean {\n return !this.loader.useIsLoading() && this.items.entries.length === 0;\n }\n}\n\nexport default List;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAyBA,IAAa,OAAb,MAAa,KAAmC;CAC9C;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAmB,OAA4B;EAC7C,MAAM,EACJ,mBACA,UACA,OACA,UAAU,CAAC,GACX,UAAU,CAAC,GACX,mBACA,UACA,QACA,QACA,UACA,WACA,iBACA,YAAY,OACZ,iBAAiB,OACjB,oBAAoB,GACpB,yBACA,WACA,uBACA,GAAG,mBACD;EAEJ,MAAM,kBAAkB,mBAAmB;EAC3C,IAAI,UAAU,aAAa,KAAA,GACzB,gBACE,uGACF;EAGF,KAAK,0BAA0B;EAC/B,MAAM,uBAAuB,YAAY;EAEzC,KAAK,kBACH,qBAAqB,uBACjB,IAAI,kBAAkB,MAAM,sBAAsB,EAChD,YAAY,kBACd,CAAC,IACD,KAAA;EAEN,KAAK,QAAQ,IAAI,eAAe,IAAI;EACpC,KAAK,UAAU,QAAQ,KAAK,UAC1B,MAAM,SAAS,cACX,IAAI,gBAAgB,MAAM,KAAK,IAC/B,IAAI,OAAO,MAAM,KAAK,CAC5B;EACA,KAAK,UAAU,QAAQ,KAAK,UAAU,IAAI,QAAW,MAAM,KAAK,CAAC;EACjE,KAAK,SAAS,SAAS,IAAI,OAAO,MAAM,MAAM,IAAI,KAAA;EAClD,KAAK,WAAW,WAAW,IAAI,SAAS,MAAM,QAAQ,IAAI,KAAA;EAC1D,KAAK,YAAY;EACjB,KAAK,iBAAiB;EACtB,KAAK,QAAQ,QAAQ,IAAI,MAAM,MAAM,KAAK,IAAI,KAAA;EAC9C,KAAK,UAAU,IAAI,kBAAkB,MAAM,iBAAiB;EAC5D,KAAK,iBAAiB;EACtB,KAAK,SAAS,kBAAkB,OAAU,MAAM,MAAM;EACtD,KAAK,WAAW;EAChB,KAAK,YAAY;EACjB,KAAK,oBAAoB;EACzB,KAAK,aAAa,WAAW,OAAO,MAAM,UAAU;GAClD,iBAAiB,KAAK,OAAO;GAC7B,kBAAkB,KAAK,OAAO;GAC9B,eAAe,KAAK,OAAO;EAC7B,CAAC;EACD,KAAK,WAAW,IAAI,aAAa,MAAM,EAAE,gBAAgB,CAAC;EAC1D,KAAK,YAAY;EACjB,KAAK,wBAAwB;EAE7B,gBAAgB;GACd,KAAK,QAAQ,SAAS,MAAM,EAAE,0BAA0B,CAAC;EAC3D,GAAG,CAAC,KAAK,OAAO,CAAC;CACnB;CAEA,mBAAyC;EACvC,OAAO,KAAK,oBAAoB,KAAK,QAAQ,QAAQ,WAAW;CAClE;CAEA,IAAW,mBAA4B;EACrC,OAAO,KAAK,QAAQ,MAAM,MAAM,EAAE,SAAS,CAAC;CAC9C;CAEA,IAAW,iBAAiB;EAC1B,OAAO,KAAK,QAAQ,QAAQ,MAAM,EAAE,mBAAmB,QAAQ;CACjE;CAEA,OAAc,OACZ,OACgB;EAChB,OAAO,IAAI,KAAe,KAAK;CACjC;CAEA,WAAkB,IAAwB;EACxC,MAAM,UAAU,KAAK,QAAQ,MAAM,MAAM,EAAE,OAAO,EAAE;EACpD,UAAU,CAAC,CAAC,SAAS,8BAA8B,GAAG,EAAE;EACxD,OAAO;CACT;CAEA,eAA4B;EAC1B,OAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,MAAM,CAAC;CAC9C;CAEA,eAA4B;EAC1B,OAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,YAAY,CAAC;CACpD;CAEA,eAA4B;EAC1B,OAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,MAAM,CAAC;CAC9C;CAEA,aAA6B;EAC3B,OAAO,CAAC,KAAK,OAAO,aAAa,KAAK,KAAK,MAAM,QAAQ,WAAW;CACtE;AACF"}
1
+ {"version":3,"file":"List.mjs","names":["BatchesController"],"sources":["../../../../../../../../src/components/List/model/List.ts"],"sourcesContent":["import { ItemCollection } from \"@/components/List/model/item/ItemCollection\";\nimport { BatchesController } from \"@/components/List/model/pagination/BatchesController\";\nimport { Filter } from \"./filter/Filter\";\nimport { Sorting } from \"@/components/List/model/sorting/Sorting\";\nimport ReactTable from \"@/components/List/model/ReactTable\";\nimport type {\n EmptyViewType,\n GetItemId,\n ItemActionFn,\n ListSettingsStorageDefaults,\n ListShape,\n ListSupportedComponentProps,\n} from \"@/components/List/model/types\";\nimport { IncrementalLoader } from \"@/components/List/model/loading/IncrementalLoader\";\nimport invariant from \"invariant\";\nimport { Search } from \"@/components/List/model/search/Search\";\nimport { ItemView } from \"@/components/List/model/item/ItemView\";\nimport { Table } from \"@/components/List/model/table/Table\";\nimport { useEffect, type ReactNode } from \"react\";\nimport { ListSettingsStore } from \"./ListSettingsStore\";\nimport { ListViewMode } from \"./ListViewMode\";\nimport { useSettings } from \"@/components/SettingsProvider/SettingsProvider\";\nimport { DateRangeFilter } from \"@/components/List/model/filter/DateRangeFilter\";\nimport { useWarnDeprecation } from \"@/components/DeprecationWarningProvider\";\nimport type {\n ListModelContext,\n ListSettingsPort,\n} from \"@mittwald/flow-components-base\";\nimport type { Table as ReactTableInstance } from \"@tanstack/table-core\";\n\nexport class List<T = unknown, TMeta = unknown> implements ListModelContext<T> {\n public readonly filters: (\n Filter<T, never, never> | DateRangeFilter<T, never>\n )[];\n public readonly itemView?: ItemView<T>;\n public readonly table?: Table<T>;\n public readonly search?: Search<T>;\n public readonly sorting: Sorting<T>[];\n public readonly items: ItemCollection<T>;\n public readonly reactTable: ReactTable<T>;\n public readonly batches: BatchesController<T>;\n public readonly loader: IncrementalLoader<T>;\n public readonly onAction?: ItemActionFn<T>;\n public readonly accordion: boolean;\n public readonly infiniteScroll: boolean;\n public readonly getItemId?: GetItemId<T>;\n public readonly componentProps: ListSupportedComponentProps;\n public metadata?: TMeta;\n public readonly settingsStorage?: ListSettingsStore<T>;\n public readonly loadingItemsCount;\n public readonly viewMode: ListViewMode<T>;\n public readonly emptyView?: ReactNode;\n public readonly emptySearchResultView?: ReactNode;\n public readonly settingsStorageDefaults?: ListSettingsStorageDefaults;\n\n public constructor(shape: ListShape<T, TMeta>) {\n const {\n settingStorageKey,\n itemView,\n table,\n filters = [],\n sorting = [],\n batchesController,\n onChange,\n loader,\n search,\n onAction,\n getItemId,\n defaultViewMode,\n accordion = false,\n infiniteScroll = false,\n loadingItemsCount = 5,\n settingsStorageDefaults,\n emptyView,\n emptySearchResultView,\n ...componentProps\n } = shape;\n\n const warnDeprecation = useWarnDeprecation();\n if (itemView?.fallback !== undefined) {\n warnDeprecation(\n \"The 'fallback' prop is deprecated and will be removed in a future release. Use 'loadingView' instead.\",\n );\n }\n\n this.settingsStorageDefaults = settingsStorageDefaults;\n const generalSettingsStore = useSettings();\n\n this.settingsStorage =\n settingStorageKey && generalSettingsStore\n ? new ListSettingsStore(this, generalSettingsStore, {\n storageKey: settingStorageKey,\n })\n : undefined;\n\n this.items = new ItemCollection(this);\n this.filters = filters.map((shape) =>\n shape.mode === \"dateRange\"\n ? new DateRangeFilter(this, shape)\n : new Filter(this, shape),\n );\n this.sorting = sorting.map((shape) => new Sorting<T>(this, shape));\n this.search = search ? new Search(this, search) : undefined;\n this.itemView = itemView ? new ItemView(this, itemView) : undefined;\n this.accordion = accordion;\n this.infiniteScroll = infiniteScroll;\n this.table = table ? new Table(this, table) : undefined;\n this.batches = new BatchesController(this, batchesController);\n\n /*\n * The controller no longer subscribes itself: the filters and the search\n * are this list's, and handing a list of concrete filters to a shared\n * model is the `Table<never>` variance trap. `IncrementalLoader` still\n * subscribes in its own constructor, which runs right after this, so the\n * order of the two resets is unchanged.\n */\n this.filters.forEach((f) => f.onFilterUpdated(() => this.batches.reset()));\n this.search?.onUpdated(() => this.batches.reset());\n this.componentProps = componentProps;\n /*\n * Before the loader: its state takes `getItemId` over in its constructor,\n * and a loader built first would never deduplicate.\n */\n this.getItemId = getItemId;\n this.loader = IncrementalLoader.useNew<T>(this, loader);\n this.onAction = onAction;\n this.loadingItemsCount = loadingItemsCount;\n this.reactTable = ReactTable.useNew(this, onChange, {\n manualFiltering: this.loader.manualFiltering,\n manualPagination: this.loader.manualPagination,\n manualSorting: this.loader.manualSorting,\n });\n this.viewMode = ListViewMode.useNew(this, { defaultViewMode });\n this.emptyView = emptyView;\n this.emptySearchResultView = emptySearchResultView;\n\n useEffect(() => {\n this.filters.forEach((f) => f.deleteUnknownFilterValues());\n }, [this.filters]);\n }\n\n /*\n * `ListModelContext` — what the shared model in\n * `@mittwald/flow-components-base` reaches for, so `Sorting` and `Search` can\n * keep being handed the list itself. Getters, because the model is built\n * before the table is.\n */\n public get dataTable(): ReactTableInstance<T> {\n return this.reactTable.table;\n }\n\n public get settings(): ListSettingsPort | undefined {\n return this.settingsStorage;\n }\n\n public get settingsDefaults(): ListSettingsStorageDefaults | undefined {\n return this.settingsStorageDefaults;\n }\n\n public getEmptyViewType(): EmptyViewType {\n return this.hasActiveFilters || this.search?.isSet ? \"search\" : \"list\";\n }\n\n public get hasActiveFilters(): boolean {\n return this.filters.some((f) => f.isActive());\n }\n\n public get visibleSorting() {\n return this.sorting.filter((s) => s.initialEnabled !== \"hidden\");\n }\n\n public static useNew<T, TMeta = unknown>(\n shape: ListShape<T, TMeta>,\n ): List<T, TMeta> {\n return new List<T, TMeta>(shape);\n }\n\n public getSorting(id: string): Sorting<T> {\n const sorting = this.sorting.find((s) => s.id === id);\n invariant(!!sorting, `Could not get Sorting (ID: ${id})`);\n return sorting;\n }\n\n public clearSorting(): void {\n return this.sorting.forEach((s) => s.clear());\n }\n\n public resetFilters(): void {\n return this.filters.forEach((f) => f.resetValues());\n }\n\n public clearFilters(): void {\n return this.filters.forEach((f) => f.clear());\n }\n\n public useIsEmpty(): boolean {\n return !this.loader.useIsLoading() && this.items.entries.length === 0;\n }\n}\n\nexport default List;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA8BA,IAAa,OAAb,MAAa,KAAkE;CAC7E;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAmB,OAA4B;EAC7C,MAAM,EACJ,mBACA,UACA,OACA,UAAU,CAAC,GACX,UAAU,CAAC,GACX,mBACA,UACA,QACA,QACA,UACA,WACA,iBACA,YAAY,OACZ,iBAAiB,OACjB,oBAAoB,GACpB,yBACA,WACA,uBACA,GAAG,mBACD;EAEJ,MAAM,kBAAkB,mBAAmB;EAC3C,IAAI,UAAU,aAAa,KAAA,GACzB,gBACE,uGACF;EAGF,KAAK,0BAA0B;EAC/B,MAAM,uBAAuB,YAAY;EAEzC,KAAK,kBACH,qBAAqB,uBACjB,IAAI,kBAAkB,MAAM,sBAAsB,EAChD,YAAY,kBACd,CAAC,IACD,KAAA;EAEN,KAAK,QAAQ,IAAI,eAAe,IAAI;EACpC,KAAK,UAAU,QAAQ,KAAK,UAC1B,MAAM,SAAS,cACX,IAAI,gBAAgB,MAAM,KAAK,IAC/B,IAAI,OAAO,MAAM,KAAK,CAC5B;EACA,KAAK,UAAU,QAAQ,KAAK,UAAU,IAAI,QAAW,MAAM,KAAK,CAAC;EACjE,KAAK,SAAS,SAAS,IAAI,OAAO,MAAM,MAAM,IAAI,KAAA;EAClD,KAAK,WAAW,WAAW,IAAI,SAAS,MAAM,QAAQ,IAAI,KAAA;EAC1D,KAAK,YAAY;EACjB,KAAK,iBAAiB;EACtB,KAAK,QAAQ,QAAQ,IAAI,MAAM,MAAM,KAAK,IAAI,KAAA;EAC9C,KAAK,UAAU,IAAIA,sBAAkB,MAAM,iBAAiB;EAS5D,KAAK,QAAQ,SAAS,MAAM,EAAE,sBAAsB,KAAK,QAAQ,MAAM,CAAC,CAAC;EACzE,KAAK,QAAQ,gBAAgB,KAAK,QAAQ,MAAM,CAAC;EACjD,KAAK,iBAAiB;EAKtB,KAAK,YAAY;EACjB,KAAK,SAAS,kBAAkB,OAAU,MAAM,MAAM;EACtD,KAAK,WAAW;EAChB,KAAK,oBAAoB;EACzB,KAAK,aAAa,WAAW,OAAO,MAAM,UAAU;GAClD,iBAAiB,KAAK,OAAO;GAC7B,kBAAkB,KAAK,OAAO;GAC9B,eAAe,KAAK,OAAO;EAC7B,CAAC;EACD,KAAK,WAAW,aAAa,OAAO,MAAM,EAAE,gBAAgB,CAAC;EAC7D,KAAK,YAAY;EACjB,KAAK,wBAAwB;EAE7B,gBAAgB;GACd,KAAK,QAAQ,SAAS,MAAM,EAAE,0BAA0B,CAAC;EAC3D,GAAG,CAAC,KAAK,OAAO,CAAC;CACnB;CAQA,IAAW,YAAmC;EAC5C,OAAO,KAAK,WAAW;CACzB;CAEA,IAAW,WAAyC;EAClD,OAAO,KAAK;CACd;CAEA,IAAW,mBAA4D;EACrE,OAAO,KAAK;CACd;CAEA,mBAAyC;EACvC,OAAO,KAAK,oBAAoB,KAAK,QAAQ,QAAQ,WAAW;CAClE;CAEA,IAAW,mBAA4B;EACrC,OAAO,KAAK,QAAQ,MAAM,MAAM,EAAE,SAAS,CAAC;CAC9C;CAEA,IAAW,iBAAiB;EAC1B,OAAO,KAAK,QAAQ,QAAQ,MAAM,EAAE,mBAAmB,QAAQ;CACjE;CAEA,OAAc,OACZ,OACgB;EAChB,OAAO,IAAI,KAAe,KAAK;CACjC;CAEA,WAAkB,IAAwB;EACxC,MAAM,UAAU,KAAK,QAAQ,MAAM,MAAM,EAAE,OAAO,EAAE;EACpD,UAAU,CAAC,CAAC,SAAS,8BAA8B,GAAG,EAAE;EACxD,OAAO;CACT;CAEA,eAA4B;EAC1B,OAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,MAAM,CAAC;CAC9C;CAEA,eAA4B;EAC1B,OAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,YAAY,CAAC;CACpD;CAEA,eAA4B;EAC1B,OAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,MAAM,CAAC;CAC9C;CAEA,aAA6B;EAC3B,OAAO,CAAC,KAAK,OAAO,aAAa,KAAK,KAAK,MAAM,QAAQ,WAAW;CACtE;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListSettingsStore.mjs","names":[],"sources":["../../../../../../../../src/components/List/model/ListSettingsStore.ts"],"sourcesContent":["import type { SettingsStore } from \"@/components/SettingsProvider/models/SettingsStore\";\nimport type { ListSettingsStorageShape } from \"./types\";\nimport type List from \"./List\";\nimport z from \"zod\";\n\nexport interface ListSettingsStoreOperationOptions {\n autosave?: boolean;\n manualSave?: boolean;\n}\n\nconst supportedSettings = {\n activeFilters: {\n supports: {\n autosave: true,\n manualSave: true,\n },\n schema: z.record(z.string().or(z.symbol()), z.array(z.string())).optional(),\n },\n viewMode: {\n supports: {\n autosave: true,\n manualSave: false,\n },\n schema: z.enum([\"list\", \"table\", \"tiles\"]).optional(),\n },\n sorting: {\n supports: {\n autosave: true,\n manualSave: false,\n },\n schema: z\n .object({\n direction: z.enum([\"asc\", \"desc\"]),\n property: z.string().or(z.number()),\n })\n .optional(),\n },\n search: {\n supports: {\n autosave: true,\n manualSave: false,\n },\n schema: z\n .object({\n value: z.string().optional(),\n })\n .optional(),\n },\n} as const;\n\ntype SupportedSettings = keyof typeof supportedSettings;\n\ntype SchemaOf<T extends SupportedSettings> =\n (typeof supportedSettings)[T][\"schema\"];\n\nexport class ListSettingsStore<T> {\n public readonly list: List<T>;\n public readonly storageKey: string;\n private readonly settingsStore: SettingsStore;\n\n public constructor(\n list: List<T>,\n store: SettingsStore,\n shape: ListSettingsStorageShape,\n ) {\n this.list = list;\n this.settingsStore = store;\n this.storageKey = shape.storageKey;\n }\n\n private getStorageKey(key: string, autosave = false) {\n const autosaveSuffix = autosave ? \".autosave\" : \"\";\n return `${this.storageKey}.${key}${autosaveSuffix}`;\n }\n\n public store<T extends SupportedSettings>(\n key: T,\n value: z.infer<(typeof supportedSettings)[T][\"schema\"]>,\n options: ListSettingsStoreOperationOptions,\n ) {\n const settings = supportedSettings[key];\n\n if (settings.supports.manualSave && options.manualSave) {\n this.settingsStore.set(\n \"List\",\n this.getStorageKey(key, false),\n settings.schema,\n value as never,\n );\n }\n if (settings.supports.autosave && options.autosave) {\n this.settingsStore.set(\n \"List\",\n this.getStorageKey(key, true),\n settings.schema,\n value as never,\n );\n }\n }\n\n public get<T extends SupportedSettings>(\n key: T,\n options: ListSettingsStoreOperationOptions,\n ): z.infer<SchemaOf<T>> | undefined {\n const settings = supportedSettings[key];\n const { autosave, manualSave = !autosave } = options; // to ensure settings is used and avoid unused variable error\n\n const getAutosavedValue = () =>\n this.settingsStore.get(\n \"List\",\n this.getStorageKey(key, options.autosave),\n settings.schema,\n ) as z.infer<SchemaOf<T>> | undefined;\n\n const getManuallySavedValue = () =>\n this.settingsStore.get(\n \"List\",\n this.getStorageKey(key, false),\n settings.schema,\n ) as z.infer<SchemaOf<T>> | undefined;\n\n return (\n (settings.supports.autosave && autosave\n ? getAutosavedValue()\n : undefined) ??\n (settings.supports.manualSave && manualSave\n ? getManuallySavedValue()\n : undefined)\n );\n }\n}\n"],"mappings":";;;;AAUA,IAAM,oBAAoB;CACxB,eAAe;EACb,UAAU;GACR,UAAU;GACV,YAAY;EACd;EACA,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;CAC5E;CACA,UAAU;EACR,UAAU;GACR,UAAU;GACV,YAAY;EACd;EACA,QAAQ,EAAE,KAAK;GAAC;GAAQ;GAAS;EAAO,CAAC,CAAC,CAAC,SAAS;CACtD;CACA,SAAS;EACP,UAAU;GACR,UAAU;GACV,YAAY;EACd;EACA,QAAQ,EACL,OAAO;GACN,WAAW,EAAE,KAAK,CAAC,OAAO,MAAM,CAAC;GACjC,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC;EACpC,CAAC,CAAC,CACD,SAAS;CACd;CACA,QAAQ;EACN,UAAU;GACR,UAAU;GACV,YAAY;EACd;EACA,QAAQ,EACL,OAAO,EACN,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,EAC7B,CAAC,CAAC,CACD,SAAS;CACd;AACF;AAOA,IAAa,oBAAb,MAAkC;CAChC;CACA;CACA;CAEA,YACE,MACA,OACA,OACA;EACA,KAAK,OAAO;EACZ,KAAK,gBAAgB;EACrB,KAAK,aAAa,MAAM;CAC1B;CAEA,cAAsB,KAAa,WAAW,OAAO;EACnD,MAAM,iBAAiB,WAAW,cAAc;EAChD,OAAO,GAAG,KAAK,WAAW,GAAG,MAAM;CACrC;CAEA,MACE,KACA,OACA,SACA;EACA,MAAM,WAAW,kBAAkB;EAEnC,IAAI,SAAS,SAAS,cAAc,QAAQ,YAC1C,KAAK,cAAc,IACjB,QACA,KAAK,cAAc,KAAK,KAAK,GAC7B,SAAS,QACT,KACF;EAEF,IAAI,SAAS,SAAS,YAAY,QAAQ,UACxC,KAAK,cAAc,IACjB,QACA,KAAK,cAAc,KAAK,IAAI,GAC5B,SAAS,QACT,KACF;CAEJ;CAEA,IACE,KACA,SACkC;EAClC,MAAM,WAAW,kBAAkB;EACnC,MAAM,EAAE,UAAU,aAAa,CAAC,aAAa;EAE7C,MAAM,0BACJ,KAAK,cAAc,IACjB,QACA,KAAK,cAAc,KAAK,QAAQ,QAAQ,GACxC,SAAS,MACX;EAEF,MAAM,8BACJ,KAAK,cAAc,IACjB,QACA,KAAK,cAAc,KAAK,KAAK,GAC7B,SAAS,MACX;EAEF,QACG,SAAS,SAAS,YAAY,WAC3B,kBAAkB,IAClB,KAAA,OACH,SAAS,SAAS,cAAc,aAC7B,sBAAsB,IACtB,KAAA;CAER;AACF"}
1
+ {"version":3,"file":"ListSettingsStore.mjs","names":[],"sources":["../../../../../../../../src/components/List/model/ListSettingsStore.ts"],"sourcesContent":["import type { ListSettingsOperationOptions } from \"@mittwald/flow-components-base\";\nimport type { SettingsStore } from \"@/components/SettingsProvider/models/SettingsStore\";\nimport type { ListSettingsStorageShape } from \"./types\";\nimport type List from \"./List\";\nimport z from \"zod\";\n\nexport type ListSettingsStoreOperationOptions = ListSettingsOperationOptions;\n\nconst supportedSettings = {\n activeFilters: {\n supports: {\n autosave: true,\n manualSave: true,\n },\n schema: z.record(z.string().or(z.symbol()), z.array(z.string())).optional(),\n },\n viewMode: {\n supports: {\n autosave: true,\n manualSave: false,\n },\n schema: z.enum([\"list\", \"table\", \"tiles\"]).optional(),\n },\n sorting: {\n supports: {\n autosave: true,\n manualSave: false,\n },\n schema: z\n .object({\n direction: z.enum([\"asc\", \"desc\"]),\n property: z.string().or(z.number()),\n })\n .optional(),\n },\n search: {\n supports: {\n autosave: true,\n manualSave: false,\n },\n schema: z\n .object({\n value: z.string().optional(),\n })\n .optional(),\n },\n} as const;\n\ntype SupportedSettings = keyof typeof supportedSettings;\n\ntype SchemaOf<T extends SupportedSettings> =\n (typeof supportedSettings)[T][\"schema\"];\n\nexport class ListSettingsStore<T> {\n public readonly list: List<T>;\n public readonly storageKey: string;\n private readonly settingsStore: SettingsStore;\n\n public constructor(\n list: List<T>,\n store: SettingsStore,\n shape: ListSettingsStorageShape,\n ) {\n this.list = list;\n this.settingsStore = store;\n this.storageKey = shape.storageKey;\n }\n\n private getStorageKey(key: string, autosave = false) {\n const autosaveSuffix = autosave ? \".autosave\" : \"\";\n return `${this.storageKey}.${key}${autosaveSuffix}`;\n }\n\n public store<T extends SupportedSettings>(\n key: T,\n value: z.infer<(typeof supportedSettings)[T][\"schema\"]>,\n options: ListSettingsStoreOperationOptions,\n ) {\n const settings = supportedSettings[key];\n\n if (settings.supports.manualSave && options.manualSave) {\n this.settingsStore.set(\n \"List\",\n this.getStorageKey(key, false),\n settings.schema,\n value as never,\n );\n }\n if (settings.supports.autosave && options.autosave) {\n this.settingsStore.set(\n \"List\",\n this.getStorageKey(key, true),\n settings.schema,\n value as never,\n );\n }\n }\n\n public get<T extends SupportedSettings>(\n key: T,\n options: ListSettingsStoreOperationOptions,\n ): z.infer<SchemaOf<T>> | undefined {\n const settings = supportedSettings[key];\n const { autosave, manualSave = !autosave } = options; // to ensure settings is used and avoid unused variable error\n\n const getAutosavedValue = () =>\n this.settingsStore.get(\n \"List\",\n this.getStorageKey(key, options.autosave),\n settings.schema,\n ) as z.infer<SchemaOf<T>> | undefined;\n\n const getManuallySavedValue = () =>\n this.settingsStore.get(\n \"List\",\n this.getStorageKey(key, false),\n settings.schema,\n ) as z.infer<SchemaOf<T>> | undefined;\n\n return (\n (settings.supports.autosave && autosave\n ? getAutosavedValue()\n : undefined) ??\n (settings.supports.manualSave && manualSave\n ? getManuallySavedValue()\n : undefined)\n );\n }\n}\n"],"mappings":";;;;AAQA,IAAM,oBAAoB;CACxB,eAAe;EACb,UAAU;GACR,UAAU;GACV,YAAY;EACd;EACA,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;CAC5E;CACA,UAAU;EACR,UAAU;GACR,UAAU;GACV,YAAY;EACd;EACA,QAAQ,EAAE,KAAK;GAAC;GAAQ;GAAS;EAAO,CAAC,CAAC,CAAC,SAAS;CACtD;CACA,SAAS;EACP,UAAU;GACR,UAAU;GACV,YAAY;EACd;EACA,QAAQ,EACL,OAAO;GACN,WAAW,EAAE,KAAK,CAAC,OAAO,MAAM,CAAC;GACjC,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC;EACpC,CAAC,CAAC,CACD,SAAS;CACd;CACA,QAAQ;EACN,UAAU;GACR,UAAU;GACV,YAAY;EACd;EACA,QAAQ,EACL,OAAO,EACN,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,EAC7B,CAAC,CAAC,CACD,SAAS;CACd;AACF;AAOA,IAAa,oBAAb,MAAkC;CAChC;CACA;CACA;CAEA,YACE,MACA,OACA,OACA;EACA,KAAK,OAAO;EACZ,KAAK,gBAAgB;EACrB,KAAK,aAAa,MAAM;CAC1B;CAEA,cAAsB,KAAa,WAAW,OAAO;EACnD,MAAM,iBAAiB,WAAW,cAAc;EAChD,OAAO,GAAG,KAAK,WAAW,GAAG,MAAM;CACrC;CAEA,MACE,KACA,OACA,SACA;EACA,MAAM,WAAW,kBAAkB;EAEnC,IAAI,SAAS,SAAS,cAAc,QAAQ,YAC1C,KAAK,cAAc,IACjB,QACA,KAAK,cAAc,KAAK,KAAK,GAC7B,SAAS,QACT,KACF;EAEF,IAAI,SAAS,SAAS,YAAY,QAAQ,UACxC,KAAK,cAAc,IACjB,QACA,KAAK,cAAc,KAAK,IAAI,GAC5B,SAAS,QACT,KACF;CAEJ;CAEA,IACE,KACA,SACkC;EAClC,MAAM,WAAW,kBAAkB;EACnC,MAAM,EAAE,UAAU,aAAa,CAAC,aAAa;EAE7C,MAAM,0BACJ,KAAK,cAAc,IACjB,QACA,KAAK,cAAc,KAAK,QAAQ,QAAQ,GACxC,SAAS,MACX;EAEF,MAAM,8BACJ,KAAK,cAAc,IACjB,QACA,KAAK,cAAc,KAAK,KAAK,GAC7B,SAAS,MACX;EAEF,QACG,SAAS,SAAS,YAAY,WAC3B,kBAAkB,IAClB,KAAA,OACH,SAAS,SAAS,cAAc,aAC7B,sBAAsB,IACtB,KAAA;CAER;AACF"}
@@ -1,32 +1,44 @@
1
1
  "use client"
2
2
  /* */
3
- import { useState } from "react";
3
+ import useSelector from "../../../lib/mobx/useSelector.mjs";
4
+ import { useStatic } from "../../../lib/hooks/useStatic.mjs";
5
+ import { ListViewMode as ListViewMode$1 } from "../../../../../components-base/src/list/viewMode/ListViewMode.mjs";
6
+ import "../../../../../components-base/src/index.mjs";
4
7
  //#region src/components/List/model/ListViewMode.ts
5
- var ListViewMode = class {
6
- list;
7
- autosave;
8
- state;
9
- constructor(list, options = {}) {
10
- const { defaultViewMode, autosave = list.settingsStorageDefaults?.viewMode?.autosave ?? true } = options;
11
- this.list = list;
12
- this.autosave = autosave;
13
- this.state = useState(this.list.settingsStorage?.get("viewMode", { autosave: this.autosave }) ?? defaultViewMode ?? "list");
8
+ /**
9
+ * React's view of the list's layout mode.
10
+ *
11
+ * The mode itself — the stored value winning over the default, the write-back —
12
+ * is `ListViewMode` in `@mittwald/flow-components-base`. What is left here is
13
+ * the subscription, and the fact that the model outlives a render: a view mode
14
+ * rebuilt every render would forget what the user picked. The list, its
15
+ * settings store and `autosave` are taken from the current render, as they were
16
+ * when this class was rebuilt with the list.
17
+ */
18
+ var ListViewMode = class ListViewMode extends ListViewMode$1 {
19
+ currentList;
20
+ constructor(list, options) {
21
+ super({
22
+ defaultValue: options.defaultViewMode,
23
+ ...ListViewMode.storageOf(list, options)
24
+ });
25
+ this.currentList = list;
14
26
  }
15
- get value() {
16
- return this.state[0];
27
+ get list() {
28
+ return this.currentList;
17
29
  }
18
- get isTiles() {
19
- return this.value === "tiles";
30
+ static storageOf(list, options) {
31
+ return {
32
+ autosave: options.autosave ?? list.settingsStorageDefaults?.viewMode?.autosave,
33
+ settings: list.settingsStorage
34
+ };
20
35
  }
21
- get isTable() {
22
- return this.value === "table";
23
- }
24
- get isList() {
25
- return this.value === "list";
26
- }
27
- set(viewMode) {
28
- this.state[1](viewMode);
29
- this.list.settingsStorage?.store("viewMode", viewMode, { autosave: this.autosave });
36
+ static useNew(list, options = {}) {
37
+ const viewMode = useStatic(() => new ListViewMode(list, options));
38
+ viewMode.currentList = list;
39
+ viewMode.updateStorage(ListViewMode.storageOf(list, options));
40
+ useSelector(() => viewMode.value);
41
+ return viewMode;
30
42
  }
31
43
  };
32
44
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ListViewMode.mjs","names":[],"sources":["../../../../../../../../src/components/List/model/ListViewMode.ts"],"sourcesContent":["import { useState } from \"react\";\nimport type { ListViewMode as RawListViewMode } from \"./types\";\nimport type { List } from \"./List\";\n\ninterface Options {\n defaultViewMode?: RawListViewMode;\n autosave?: boolean;\n}\n\nexport class ListViewMode<T = unknown> {\n public readonly list: List<T>;\n public readonly autosave: boolean;\n private readonly state: [\n RawListViewMode,\n React.Dispatch<React.SetStateAction<RawListViewMode>>,\n ];\n\n public constructor(list: List<T>, options: Options = {}) {\n const {\n defaultViewMode,\n autosave = list.settingsStorageDefaults?.viewMode?.autosave ?? true,\n } = options;\n\n this.list = list;\n this.autosave = autosave;\n this.state = useState(\n this.list.settingsStorage?.get(\"viewMode\", { autosave: this.autosave }) ??\n defaultViewMode ??\n \"list\",\n );\n }\n\n public get value() {\n return this.state[0];\n }\n\n public get isTiles() {\n return this.value === \"tiles\";\n }\n\n public get isTable() {\n return this.value === \"table\";\n }\n\n public get isList() {\n return this.value === \"list\";\n }\n\n public set(viewMode: RawListViewMode): void {\n this.state[1](viewMode);\n this.list.settingsStorage?.store(\"viewMode\", viewMode, {\n autosave: this.autosave,\n });\n }\n}\n"],"mappings":";;;;AASA,IAAa,eAAb,MAAuC;CACrC;CACA;CACA;CAKA,YAAmB,MAAe,UAAmB,CAAC,GAAG;EACvD,MAAM,EACJ,iBACA,WAAW,KAAK,yBAAyB,UAAU,YAAY,SAC7D;EAEJ,KAAK,OAAO;EACZ,KAAK,WAAW;EAChB,KAAK,QAAQ,SACX,KAAK,KAAK,iBAAiB,IAAI,YAAY,EAAE,UAAU,KAAK,SAAS,CAAC,KACpE,mBACA,MACJ;CACF;CAEA,IAAW,QAAQ;EACjB,OAAO,KAAK,MAAM;CACpB;CAEA,IAAW,UAAU;EACnB,OAAO,KAAK,UAAU;CACxB;CAEA,IAAW,UAAU;EACnB,OAAO,KAAK,UAAU;CACxB;CAEA,IAAW,SAAS;EAClB,OAAO,KAAK,UAAU;CACxB;CAEA,IAAW,UAAiC;EAC1C,KAAK,MAAM,EAAE,CAAC,QAAQ;EACtB,KAAK,KAAK,iBAAiB,MAAM,YAAY,UAAU,EACrD,UAAU,KAAK,SACjB,CAAC;CACH;AACF"}
1
+ {"version":3,"file":"ListViewMode.mjs","names":["ListViewModeState"],"sources":["../../../../../../../../src/components/List/model/ListViewMode.ts"],"sourcesContent":["import { ListViewMode as ListViewModeState } from \"@mittwald/flow-components-base\";\nimport { useStatic } from \"@/lib/hooks/useStatic\";\nimport useSelector from \"@/lib/mobx/useSelector\";\nimport type { ListViewMode as RawListViewMode } from \"./types\";\nimport type { List } from \"./List\";\n\ninterface Options {\n defaultViewMode?: RawListViewMode;\n autosave?: boolean;\n}\n\n/**\n * React's view of the list's layout mode.\n *\n * The mode itself — the stored value winning over the default, the write-back —\n * is `ListViewMode` in `@mittwald/flow-components-base`. What is left here is\n * the subscription, and the fact that the model outlives a render: a view mode\n * rebuilt every render would forget what the user picked. The list, its\n * settings store and `autosave` are taken from the current render, as they were\n * when this class was rebuilt with the list.\n */\nexport class ListViewMode<T = unknown> extends ListViewModeState {\n private currentList: List<T>;\n\n private constructor(list: List<T>, options: Options) {\n super({\n defaultValue: options.defaultViewMode,\n ...ListViewMode.storageOf(list, options),\n });\n this.currentList = list;\n }\n\n public get list(): List<T> {\n return this.currentList;\n }\n\n private static storageOf<T>(list: List<T>, options: Options) {\n return {\n autosave:\n options.autosave ?? list.settingsStorageDefaults?.viewMode?.autosave,\n settings: list.settingsStorage,\n };\n }\n\n public static useNew<T>(\n list: List<T>,\n options: Options = {},\n ): ListViewMode<T> {\n const viewMode = useStatic(() => new ListViewMode<T>(list, options));\n viewMode.currentList = list;\n viewMode.updateStorage(ListViewMode.storageOf(list, options));\n\n /* `set()` mutates an observable — without this nothing re-renders. */\n useSelector(() => viewMode.value);\n\n return viewMode;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAqBA,IAAa,eAAb,MAAa,qBAAkCA,eAAkB;CAC/D;CAEA,YAAoB,MAAe,SAAkB;EACnD,MAAM;GACJ,cAAc,QAAQ;GACtB,GAAG,aAAa,UAAU,MAAM,OAAO;EACzC,CAAC;EACD,KAAK,cAAc;CACrB;CAEA,IAAW,OAAgB;EACzB,OAAO,KAAK;CACd;CAEA,OAAe,UAAa,MAAe,SAAkB;EAC3D,OAAO;GACL,UACE,QAAQ,YAAY,KAAK,yBAAyB,UAAU;GAC9D,UAAU,KAAK;EACjB;CACF;CAEA,OAAc,OACZ,MACA,UAAmB,CAAC,GACH;EACjB,MAAM,WAAW,gBAAgB,IAAI,aAAgB,MAAM,OAAO,CAAC;EACnE,SAAS,cAAc;EACvB,SAAS,cAAc,aAAa,UAAU,MAAM,OAAO,CAAC;EAG5D,kBAAkB,SAAS,KAAK;EAEhC,OAAO;CACT;AACF"}