@mittwald/flow-react-components 0.2.0-alpha.995 → 0.2.0-alpha.997

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 (193) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/assets/doc-properties.json +9655 -9647
  3. package/dist/css/all-layered.css +1 -1
  4. package/dist/css/all.css +1 -1
  5. package/dist/js/packages/components/src/components/AccentBox/AccentBox.mjs +2 -1
  6. package/dist/js/packages/components/src/components/AccentBox/AccentBox.mjs.map +1 -1
  7. package/dist/js/packages/components/src/components/Accordion/Accordion.mjs +1 -0
  8. package/dist/js/packages/components/src/components/Accordion/Accordion.mjs.map +1 -1
  9. package/dist/js/packages/components/src/components/Action/Action.mjs +1 -0
  10. package/dist/js/packages/components/src/components/Action/Action.mjs.map +1 -1
  11. package/dist/js/packages/components/src/components/ActionGroup/ActionGroup.mjs +1 -0
  12. package/dist/js/packages/components/src/components/ActionGroup/ActionGroup.mjs.map +1 -1
  13. package/dist/js/packages/components/src/components/Alert/Alert.mjs +1 -0
  14. package/dist/js/packages/components/src/components/Alert/Alert.mjs.map +1 -1
  15. package/dist/js/packages/components/src/components/AlertIcon/AlertIcon.mjs +1 -1
  16. package/dist/js/packages/components/src/components/AlertIcon/AlertIcon.mjs.map +1 -1
  17. package/dist/js/packages/components/src/components/AlertText/AlertText.mjs +1 -0
  18. package/dist/js/packages/components/src/components/AlertText/AlertText.mjs.map +1 -1
  19. package/dist/js/packages/components/src/components/Align/Align.mjs +2 -1
  20. package/dist/js/packages/components/src/components/Align/Align.mjs.map +1 -1
  21. package/dist/js/packages/components/src/components/Autocomplete/Autocomplete.mjs +1 -0
  22. package/dist/js/packages/components/src/components/Autocomplete/Autocomplete.mjs.map +1 -1
  23. package/dist/js/packages/components/src/components/Avatar/Avatar.mjs +1 -0
  24. package/dist/js/packages/components/src/components/Avatar/Avatar.mjs.map +1 -1
  25. package/dist/js/packages/components/src/components/AvatarStack/AvatarStack.mjs +1 -0
  26. package/dist/js/packages/components/src/components/AvatarStack/AvatarStack.mjs.map +1 -1
  27. package/dist/js/packages/components/src/components/Badge/Badge.mjs +1 -0
  28. package/dist/js/packages/components/src/components/Badge/Badge.mjs.map +1 -1
  29. package/dist/js/packages/components/src/components/BigNumber/BigNumber.mjs +1 -0
  30. package/dist/js/packages/components/src/components/BigNumber/BigNumber.mjs.map +1 -1
  31. package/dist/js/packages/components/src/components/Breadcrumb/Breadcrumb.mjs +1 -0
  32. package/dist/js/packages/components/src/components/Breadcrumb/Breadcrumb.mjs.map +1 -1
  33. package/dist/js/packages/components/src/components/BrowserOnly/BrowserOnly.mjs +1 -0
  34. package/dist/js/packages/components/src/components/BrowserOnly/BrowserOnly.mjs.map +1 -1
  35. package/dist/js/packages/components/src/components/Button/Button.mjs +2 -9
  36. package/dist/js/packages/components/src/components/Button/Button.mjs.map +1 -1
  37. package/dist/js/packages/components/src/components/Chat/Chat.mjs +1 -0
  38. package/dist/js/packages/components/src/components/Chat/Chat.mjs.map +1 -1
  39. package/dist/js/packages/components/src/components/Checkbox/Checkbox.mjs +1 -0
  40. package/dist/js/packages/components/src/components/Checkbox/Checkbox.mjs.map +1 -1
  41. package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.mjs +1 -0
  42. package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.mjs.map +1 -1
  43. package/dist/js/packages/components/src/components/CheckboxGroup/CheckboxGroup.mjs +1 -0
  44. package/dist/js/packages/components/src/components/CheckboxGroup/CheckboxGroup.mjs.map +1 -1
  45. package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.mjs +1 -0
  46. package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.mjs.map +1 -1
  47. package/dist/js/packages/components/src/components/ColumnLayout/ColumnLayout.mjs +1 -0
  48. package/dist/js/packages/components/src/components/ColumnLayout/ColumnLayout.mjs.map +1 -1
  49. package/dist/js/packages/components/src/components/ComboBox/ComboBox.mjs +1 -0
  50. package/dist/js/packages/components/src/components/ComboBox/ComboBox.mjs.map +1 -1
  51. package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs +1 -0
  52. package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs.map +1 -1
  53. package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs +1 -0
  54. package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs.map +1 -1
  55. package/dist/js/packages/components/src/components/ContextualHelp/ContextualHelp.mjs +1 -0
  56. package/dist/js/packages/components/src/components/ContextualHelp/ContextualHelp.mjs.map +1 -1
  57. package/dist/js/packages/components/src/components/ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs +1 -0
  58. package/dist/js/packages/components/src/components/ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs.map +1 -1
  59. package/dist/js/packages/components/src/components/DatePicker/DatePicker.mjs +1 -0
  60. package/dist/js/packages/components/src/components/DatePicker/DatePicker.mjs.map +1 -1
  61. package/dist/js/packages/components/src/components/DateRangePicker/DateRangePicker.mjs +1 -0
  62. package/dist/js/packages/components/src/components/DateRangePicker/DateRangePicker.mjs.map +1 -1
  63. package/dist/js/packages/components/src/components/FileCard/FileCard.mjs +1 -0
  64. package/dist/js/packages/components/src/components/FileCard/FileCard.mjs.map +1 -1
  65. package/dist/js/packages/components/src/components/FileCardList/FileCardList.mjs +1 -0
  66. package/dist/js/packages/components/src/components/FileCardList/FileCardList.mjs.map +1 -1
  67. package/dist/js/packages/components/src/components/FileDropZone/FileDropZone.mjs +1 -0
  68. package/dist/js/packages/components/src/components/FileDropZone/FileDropZone.mjs.map +1 -1
  69. package/dist/js/packages/components/src/components/FileField/FileField.mjs +1 -0
  70. package/dist/js/packages/components/src/components/FileField/FileField.mjs.map +1 -1
  71. package/dist/js/packages/components/src/components/FileField/components/FileInput.mjs +1 -0
  72. package/dist/js/packages/components/src/components/FileField/components/FileInput.mjs.map +1 -1
  73. package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.mjs +1 -0
  74. package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.mjs.map +1 -1
  75. package/dist/js/packages/components/src/components/Heading/Heading.mjs +1 -0
  76. package/dist/js/packages/components/src/components/Heading/Heading.mjs.map +1 -1
  77. package/dist/js/packages/components/src/components/Icon/Icon.mjs +28 -1
  78. package/dist/js/packages/components/src/components/Icon/Icon.mjs.map +1 -1
  79. package/dist/js/packages/components/src/components/Icon/Icon.module.scss.mjs +18 -2
  80. package/dist/js/packages/components/src/components/Icon/Icon.module.scss.mjs.map +1 -1
  81. package/dist/js/packages/components/src/components/IllustratedMessage/IllustratedMessage.mjs +1 -0
  82. package/dist/js/packages/components/src/components/IllustratedMessage/IllustratedMessage.mjs.map +1 -1
  83. package/dist/js/packages/components/src/components/Label/Label.mjs +1 -0
  84. package/dist/js/packages/components/src/components/Label/Label.mjs.map +1 -1
  85. package/dist/js/packages/components/src/components/LabeledValue/LabeledValue.mjs +1 -0
  86. package/dist/js/packages/components/src/components/LabeledValue/LabeledValue.mjs.map +1 -1
  87. package/dist/js/packages/components/src/components/LayoutCard/LayoutCard.mjs +1 -0
  88. package/dist/js/packages/components/src/components/LayoutCard/LayoutCard.mjs.map +1 -1
  89. package/dist/js/packages/components/src/components/LightBox/LightBox.mjs +1 -0
  90. package/dist/js/packages/components/src/components/LightBox/LightBox.mjs.map +1 -1
  91. package/dist/js/packages/components/src/components/LightBox/components/LightBoxGalleryItem/LightBoxGalleryItem.mjs +1 -0
  92. package/dist/js/packages/components/src/components/LightBox/components/LightBoxGalleryItem/LightBoxGalleryItem.mjs.map +1 -1
  93. package/dist/js/packages/components/src/components/Link/Link.mjs +1 -0
  94. package/dist/js/packages/components/src/components/Link/Link.mjs.map +1 -1
  95. package/dist/js/packages/components/src/components/List/List.mjs +1 -0
  96. package/dist/js/packages/components/src/components/List/List.mjs.map +1 -1
  97. package/dist/js/packages/components/src/components/List/components/Header/components/SearchField/SearchField.mjs +1 -0
  98. package/dist/js/packages/components/src/components/List/components/Header/components/SearchField/SearchField.mjs.map +1 -1
  99. package/dist/js/packages/components/src/components/List/components/Items/components/Item/hooks/useGridItemProps.mjs +1 -0
  100. package/dist/js/packages/components/src/components/List/components/Items/components/Item/hooks/useGridItemProps.mjs.map +1 -1
  101. package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs +1 -0
  102. package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs.map +1 -1
  103. package/dist/js/packages/components/src/components/List/components/ListItemView/components/ListItemViewContent/ListItemViewContent.mjs +1 -0
  104. package/dist/js/packages/components/src/components/List/components/ListItemView/components/ListItemViewContent/ListItemViewContent.mjs.map +1 -1
  105. package/dist/js/packages/components/src/components/MenuItem/MenuItem.mjs +2 -7
  106. package/dist/js/packages/components/src/components/MenuItem/MenuItem.mjs.map +1 -1
  107. package/dist/js/packages/components/src/components/MenuItem/components/MenuItemContent/MenuItemContent.mjs +1 -0
  108. package/dist/js/packages/components/src/components/MenuItem/components/MenuItemContent/MenuItemContent.mjs.map +1 -1
  109. package/dist/js/packages/components/src/components/Message/Message.mjs +1 -0
  110. package/dist/js/packages/components/src/components/Message/Message.mjs.map +1 -1
  111. package/dist/js/packages/components/src/components/MessageThread/MessageThread.mjs +1 -0
  112. package/dist/js/packages/components/src/components/MessageThread/MessageThread.mjs.map +1 -1
  113. package/dist/js/packages/components/src/components/Modal/Modal.mjs +1 -0
  114. package/dist/js/packages/components/src/components/Modal/Modal.mjs.map +1 -1
  115. package/dist/js/packages/components/src/components/Navigation/Navigation.mjs +1 -0
  116. package/dist/js/packages/components/src/components/Navigation/Navigation.mjs.map +1 -1
  117. package/dist/js/packages/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.mjs +1 -0
  118. package/dist/js/packages/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.mjs.map +1 -1
  119. package/dist/js/packages/components/src/components/Notification/Notification.mjs +1 -0
  120. package/dist/js/packages/components/src/components/Notification/Notification.mjs.map +1 -1
  121. package/dist/js/packages/components/src/components/NumberField/NumberField.mjs +1 -0
  122. package/dist/js/packages/components/src/components/NumberField/NumberField.mjs.map +1 -1
  123. package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs +1 -0
  124. package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs.map +1 -1
  125. package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs +1 -0
  126. package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map +1 -1
  127. package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.mjs +1 -0
  128. package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.mjs.map +1 -1
  129. package/dist/js/packages/components/src/components/RadioGroup/RadioGroup.mjs +1 -0
  130. package/dist/js/packages/components/src/components/RadioGroup/RadioGroup.mjs.map +1 -1
  131. package/dist/js/packages/components/src/components/RadioGroup/components/RadioButton/RadioButton.mjs +1 -0
  132. package/dist/js/packages/components/src/components/RadioGroup/components/RadioButton/RadioButton.mjs.map +1 -1
  133. package/dist/js/packages/components/src/components/Rating/Rating.mjs +1 -0
  134. package/dist/js/packages/components/src/components/Rating/Rating.mjs.map +1 -1
  135. package/dist/js/packages/components/src/components/Rating/components/RatingSegment/EmptySegment.mjs +1 -0
  136. package/dist/js/packages/components/src/components/Rating/components/RatingSegment/EmptySegment.mjs.map +1 -1
  137. package/dist/js/packages/components/src/components/Rating/components/RatingSegment/FilledSegment.mjs +1 -0
  138. package/dist/js/packages/components/src/components/Rating/components/RatingSegment/FilledSegment.mjs.map +1 -1
  139. package/dist/js/packages/components/src/components/SearchField/SearchField.mjs +1 -0
  140. package/dist/js/packages/components/src/components/SearchField/SearchField.mjs.map +1 -1
  141. package/dist/js/packages/components/src/components/Section/Section.mjs +1 -0
  142. package/dist/js/packages/components/src/components/Section/Section.mjs.map +1 -1
  143. package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs +1 -0
  144. package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs.map +1 -1
  145. package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.mjs +1 -0
  146. package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  147. package/dist/js/packages/components/src/components/Select/Select.mjs +1 -0
  148. package/dist/js/packages/components/src/components/Select/Select.mjs.map +1 -1
  149. package/dist/js/packages/components/src/components/Slider/Slider.mjs +1 -0
  150. package/dist/js/packages/components/src/components/Slider/Slider.mjs.map +1 -1
  151. package/dist/js/packages/components/src/components/Switch/Switch.mjs +1 -0
  152. package/dist/js/packages/components/src/components/Switch/Switch.mjs.map +1 -1
  153. package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.mjs +1 -0
  154. package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.mjs.map +1 -1
  155. package/dist/js/packages/components/src/components/Table/components/TableColumn/TableColumn.mjs +1 -0
  156. package/dist/js/packages/components/src/components/Table/components/TableColumn/TableColumn.mjs.map +1 -1
  157. package/dist/js/packages/components/src/components/Tabs/components/Tab/Tab.mjs +1 -0
  158. package/dist/js/packages/components/src/components/Tabs/components/Tab/Tab.mjs.map +1 -1
  159. package/dist/js/packages/components/src/components/Text/Text.mjs +1 -0
  160. package/dist/js/packages/components/src/components/Text/Text.mjs.map +1 -1
  161. package/dist/js/packages/components/src/components/TextArea/TextArea.mjs +1 -0
  162. package/dist/js/packages/components/src/components/TextArea/TextArea.mjs.map +1 -1
  163. package/dist/js/packages/components/src/components/TextField/TextField.mjs +1 -0
  164. package/dist/js/packages/components/src/components/TextField/TextField.mjs.map +1 -1
  165. package/dist/js/packages/components/src/components/TimeField/TimeField.mjs +1 -0
  166. package/dist/js/packages/components/src/components/TimeField/TimeField.mjs.map +1 -1
  167. package/dist/js/packages/components/src/integrations/react-hook-form/components/Field/Field.mjs +1 -0
  168. package/dist/js/packages/components/src/integrations/react-hook-form/components/Field/Field.mjs.map +1 -1
  169. package/dist/js/packages/components/src/integrations/react-hook-form/components/FormAction/FormResetAction.mjs +1 -0
  170. package/dist/js/packages/components/src/integrations/react-hook-form/components/FormAction/FormResetAction.mjs.map +1 -1
  171. package/dist/js/packages/components/src/integrations/react-hook-form/components/FormAction/FormSubmitAction.mjs +1 -0
  172. package/dist/js/packages/components/src/integrations/react-hook-form/components/FormAction/FormSubmitAction.mjs.map +1 -1
  173. package/dist/js/packages/components/src/lib/controller/overlay/useModalController.mjs +1 -0
  174. package/dist/js/packages/components/src/lib/controller/overlay/useModalController.mjs.map +1 -1
  175. package/dist/js/packages/components/src/lib/hooks/useFieldComponent.mjs +1 -0
  176. package/dist/js/packages/components/src/lib/hooks/useFieldComponent.mjs.map +1 -1
  177. package/dist/js/packages/components/src/lib/hooks/useFieldError.mjs +1 -0
  178. package/dist/js/packages/components/src/lib/hooks/useFieldError.mjs.map +1 -1
  179. package/dist/js/packages/design-tokens/dist/json/all-dark.json.mjs +1 -1
  180. package/dist/js/packages/design-tokens/dist/json/all-light.json.mjs +1 -1
  181. package/dist/types/components/AlertIcon/AlertIcon.d.ts +2 -1
  182. package/dist/types/components/AlertIcon/AlertIcon.d.ts.map +1 -1
  183. package/dist/types/components/Button/Button.d.ts.map +1 -1
  184. package/dist/types/components/Icon/Icon.d.ts +16 -2
  185. package/dist/types/components/Icon/Icon.d.ts.map +1 -1
  186. package/dist/types/components/Icon/stories/Default.stories.d.ts +2 -0
  187. package/dist/types/components/Icon/stories/Default.stories.d.ts.map +1 -1
  188. package/dist/types/components/List/typedList.d.ts +23 -23
  189. package/dist/types/components/MenuItem/MenuItem.d.ts.map +1 -1
  190. package/dist/types/lib/theming/hooks/useDesignTokens.d.ts +128 -0
  191. package/dist/types/lib/theming/hooks/useDesignTokens.d.ts.map +1 -1
  192. package/dist/types/lib/tokens/getCategoricalColorByIndex.d.ts +1 -1
  193. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"List.mjs","sources":["../../../../../../../src/components/List/List.tsx"],"sourcesContent":["import { DataLoader } from \"@/components/List/components/DataLoader\";\nimport { Header } from \"@/components/List/components/Header/Header\";\nimport headerStyles from \"@/components/List/components/Header/Header.module.css\";\nimport { Items } from \"@/components/List/components/Items/Items\";\nimport { Table } from \"@/components/List/components/Table\";\nimport ListModel from \"@/components/List/model/List\";\nimport type { IncrementalLoaderShape } from \"@/components/List/model/loading/types\";\nimport type { ListShape } from \"@/components/List/model/types\";\nimport { ListFilter } from \"@/components/List/setupComponents/ListFilter\";\nimport { ListItem } from \"@/components/List/setupComponents/ListItem\";\nimport { ListLoaderAsync } from \"@/components/List/setupComponents/ListLoaderAsync\";\nimport { ListLoaderAsyncResource } from \"@/components/List/setupComponents/ListLoaderAsyncResource\";\nimport { ListSearch } from \"@/components/List/setupComponents/ListSearch\";\nimport { ListSorting } from \"@/components/List/setupComponents/ListSorting\";\nimport { ListStaticData } from \"@/components/List/setupComponents/ListStaticData\";\nimport { Table as TableSetupComponent } from \"@/components/List/setupComponents/Table\";\nimport { TableBody } from \"@/components/List/setupComponents/TableBody\";\nimport { TableCell } from \"@/components/List/setupComponents/TableCell\";\nimport { TableColumn } from \"@/components/List/setupComponents/TableColumn\";\nimport { TableHeader } from \"@/components/List/setupComponents/TableHeader\";\nimport { TableRow } from \"@/components/List/setupComponents/TableRow\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport { type PropsContext, PropsContextProvider } from \"@/lib/propsContext\";\nimport { deepFilterByType, deepFindOfType } from \"@/lib/react/deepFindOfType\";\nimport DivView from \"@/views/DivView\";\nimport type { PropsWithChildren, ReactNode } from \"react\";\nimport Footer from \"./components/Footer\";\nimport styles from \"./List.module.css\";\nimport { listContext } from \"./listContext\";\nimport { ListLoaderHooks } from \"@/components/List/setupComponents/ListLoaderHooks\";\nimport { UiComponentTunnelExit } from \"../UiComponentTunnel/UiComponentTunnelExit\";\nimport ListEmptyViewContainerView from \"@/views/ListEmptyViewContainerView\";\n\nexport interface ListProps<T, TMeta = unknown>\n extends\n PropsWithChildren,\n FlowComponentProps,\n Omit<\n ListShape<T, TMeta>,\n | \"search\"\n | \"loader\"\n | \"itemView\"\n | \"table\"\n | \"batchesController\"\n | \"filters\"\n | \"sorting\"\n > {\n /** The number of items to be displayed on one page. */\n batchSize?: number;\n /**\n * Automatically loads the next batch of items when the user scrolls to the\n * end of the list, instead of showing a \"Show more\" button.\n *\n * @default false\n */\n infiniteScroll?: boolean;\n hidePagination?: boolean;\n emptySearchResultView?: ReactNode;\n emptyView?: ReactNode;\n}\n\nexport const List = flowComponent(\"List\", (props) => {\n const {\n children,\n batchSize,\n loadingItemsCount = batchSize,\n onChange,\n ref,\n hidePagination,\n ...restProps\n } = props;\n\n const listLoaderAsync = deepFindOfType(\n children,\n ListLoaderAsync<never>,\n )?.props;\n const listLoaderHooks = deepFindOfType(\n children,\n ListLoaderHooks<never>,\n )?.props;\n const listLoaderAsyncResource = deepFindOfType(\n children,\n ListLoaderAsyncResource<never>,\n )?.props;\n const listStaticData = deepFindOfType(children, ListStaticData<never>)?.props;\n\n const loaderShape: IncrementalLoaderShape<never> = {\n source: listLoaderAsync\n ? {\n ...listLoaderAsync,\n asyncLoader: listLoaderAsync.children,\n }\n : listLoaderAsyncResource\n ? {\n ...listLoaderAsyncResource,\n asyncResourceFactory: listLoaderAsyncResource.children,\n }\n : listStaticData\n ? {\n staticData: listStaticData.data,\n }\n : listLoaderHooks\n ? {\n ...listLoaderHooks,\n useData: listLoaderHooks.children,\n }\n : undefined,\n };\n\n const searchProps = deepFindOfType(children, ListSearch)?.props;\n const itemViewProps = deepFindOfType(children, ListItem<never>)?.props;\n\n const tableProps = deepFindOfType(children, TableSetupComponent)?.props;\n const tableColumnProps = deepFilterByType(children, TableColumn<never>).map(\n (c) => ({\n ...c.props,\n name: c.props.children,\n }),\n );\n const tableCellProps = deepFilterByType(children, TableCell<never>).map(\n (c) => ({\n ...c.props,\n renderFn: c.props.children,\n }),\n );\n\n const tableRowProps = deepFindOfType(children, TableRow)?.props;\n const tableHeaderProps = deepFindOfType(children, TableHeader)?.props;\n const tableBodyProps = deepFindOfType(children, TableBody)?.props;\n\n const listModel = ListModel.useNew<never>({\n onChange,\n loader: loaderShape,\n filters: deepFilterByType(children, ListFilter<never, never, never>).map(\n (f) => ({\n ...f.props,\n renderItem: f.props.children,\n }),\n ),\n search: searchProps\n ? {\n render: searchProps.children,\n textFieldProps: searchProps,\n defaultValue: searchProps.defaultValue,\n autosave: searchProps.autosave,\n }\n : undefined,\n sorting: deepFilterByType(children, ListSorting<never>).map((s) => s.props),\n\n itemView: itemViewProps\n ? {\n ...itemViewProps,\n renderFn: itemViewProps.children,\n }\n : undefined,\n\n table:\n tableColumnProps.length > 0\n ? {\n header: {\n ...tableHeaderProps,\n columns: tableColumnProps,\n },\n body: {\n ...tableBodyProps,\n row: {\n ...tableRowProps,\n cells: tableCellProps,\n },\n },\n ...tableProps,\n }\n : undefined,\n\n batchesController: {\n batchSize,\n },\n loadingItemsCount,\n ...restProps,\n });\n\n const propsContext: PropsContext = {\n ActionGroup: {\n preserveOrder: true,\n tunnel: {\n id: \"actions\",\n component: \"List\",\n },\n className: headerStyles.actions,\n Button: {\n className: headerStyles.action,\n },\n },\n ListSummary: {\n tunnel: {\n id: \"listSummary\",\n component: \"List\",\n },\n },\n };\n\n const isEmpty = listModel.useIsEmpty();\n\n // IMPORTANT: we always render the emptyView to the dom.\n // otherwise we will lose e.g. modalState when switching from noItems to itemsAvailable and vise versa.\n const emptyView = (\n <DivView\n aria-hidden={!isEmpty}\n className={!isEmpty ? styles.hideVisuallyEmptyView : undefined}\n >\n <ListEmptyViewContainerView\n viewType={listModel.getEmptyViewType()}\n emptySearchResultView={listModel.emptySearchResultView}\n emptyView={listModel.emptyView}\n />\n </DivView>\n );\n\n return (\n <PropsContextProvider props={propsContext}>\n <listContext.Provider\n value={{\n list: listModel,\n }}\n >\n <DataLoader />\n <DivView className={styles.list} ref={ref}>\n {children}\n <Header />\n\n <DivView className={styles.listWrapper}>\n {emptyView}\n {listModel.items.entries.length > 0 && (\n <UiComponentTunnelExit id=\"listSummary\" component=\"List\" />\n )}\n {(listModel.viewMode.isList || listModel.viewMode.isTiles) && (\n <Items />\n )}\n {listModel.viewMode.isTable && <Table />}\n </DivView>\n {!hidePagination && <Footer />}\n </DivView>\n </listContext.Provider>\n </PropsContextProvider>\n );\n});\n\nexport default List;\n"],"names":["TableSetupComponent","ListModel"],"mappings":"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"}
1
+ {"version":3,"file":"List.mjs","sources":["../../../../../../../src/components/List/List.tsx"],"sourcesContent":["import { DataLoader } from \"@/components/List/components/DataLoader\";\nimport { Header } from \"@/components/List/components/Header/Header\";\nimport headerStyles from \"@/components/List/components/Header/Header.module.css\";\nimport { Items } from \"@/components/List/components/Items/Items\";\nimport { Table } from \"@/components/List/components/Table\";\nimport ListModel from \"@/components/List/model/List\";\nimport type { IncrementalLoaderShape } from \"@/components/List/model/loading/types\";\nimport type { ListShape } from \"@/components/List/model/types\";\nimport { ListFilter } from \"@/components/List/setupComponents/ListFilter\";\nimport { ListItem } from \"@/components/List/setupComponents/ListItem\";\nimport { ListLoaderAsync } from \"@/components/List/setupComponents/ListLoaderAsync\";\nimport { ListLoaderAsyncResource } from \"@/components/List/setupComponents/ListLoaderAsyncResource\";\nimport { ListSearch } from \"@/components/List/setupComponents/ListSearch\";\nimport { ListSorting } from \"@/components/List/setupComponents/ListSorting\";\nimport { ListStaticData } from \"@/components/List/setupComponents/ListStaticData\";\nimport { Table as TableSetupComponent } from \"@/components/List/setupComponents/Table\";\nimport { TableBody } from \"@/components/List/setupComponents/TableBody\";\nimport { TableCell } from \"@/components/List/setupComponents/TableCell\";\nimport { TableColumn } from \"@/components/List/setupComponents/TableColumn\";\nimport { TableHeader } from \"@/components/List/setupComponents/TableHeader\";\nimport { TableRow } from \"@/components/List/setupComponents/TableRow\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport { type PropsContext, PropsContextProvider } from \"@/lib/propsContext\";\nimport { deepFilterByType, deepFindOfType } from \"@/lib/react/deepFindOfType\";\nimport DivView from \"@/views/DivView\";\nimport type { PropsWithChildren, ReactNode } from \"react\";\nimport Footer from \"./components/Footer\";\nimport styles from \"./List.module.css\";\nimport { listContext } from \"./listContext\";\nimport { ListLoaderHooks } from \"@/components/List/setupComponents/ListLoaderHooks\";\nimport { UiComponentTunnelExit } from \"../UiComponentTunnel/UiComponentTunnelExit\";\nimport ListEmptyViewContainerView from \"@/views/ListEmptyViewContainerView\";\n\nexport interface ListProps<T, TMeta = unknown>\n extends\n PropsWithChildren,\n FlowComponentProps,\n Omit<\n ListShape<T, TMeta>,\n | \"search\"\n | \"loader\"\n | \"itemView\"\n | \"table\"\n | \"batchesController\"\n | \"filters\"\n | \"sorting\"\n > {\n /** The number of items to be displayed on one page. */\n batchSize?: number;\n /**\n * Automatically loads the next batch of items when the user scrolls to the\n * end of the list, instead of showing a \"Show more\" button.\n *\n * @default false\n */\n infiniteScroll?: boolean;\n hidePagination?: boolean;\n emptySearchResultView?: ReactNode;\n emptyView?: ReactNode;\n}\n\nexport const List = flowComponent(\"List\", (props) => {\n const {\n children,\n batchSize,\n loadingItemsCount = batchSize,\n onChange,\n ref,\n hidePagination,\n ...restProps\n } = props;\n\n const listLoaderAsync = deepFindOfType(\n children,\n ListLoaderAsync<never>,\n )?.props;\n const listLoaderHooks = deepFindOfType(\n children,\n ListLoaderHooks<never>,\n )?.props;\n const listLoaderAsyncResource = deepFindOfType(\n children,\n ListLoaderAsyncResource<never>,\n )?.props;\n const listStaticData = deepFindOfType(children, ListStaticData<never>)?.props;\n\n const loaderShape: IncrementalLoaderShape<never> = {\n source: listLoaderAsync\n ? {\n ...listLoaderAsync,\n asyncLoader: listLoaderAsync.children,\n }\n : listLoaderAsyncResource\n ? {\n ...listLoaderAsyncResource,\n asyncResourceFactory: listLoaderAsyncResource.children,\n }\n : listStaticData\n ? {\n staticData: listStaticData.data,\n }\n : listLoaderHooks\n ? {\n ...listLoaderHooks,\n useData: listLoaderHooks.children,\n }\n : undefined,\n };\n\n const searchProps = deepFindOfType(children, ListSearch)?.props;\n const itemViewProps = deepFindOfType(children, ListItem<never>)?.props;\n\n const tableProps = deepFindOfType(children, TableSetupComponent)?.props;\n const tableColumnProps = deepFilterByType(children, TableColumn<never>).map(\n (c) => ({\n ...c.props,\n name: c.props.children,\n }),\n );\n const tableCellProps = deepFilterByType(children, TableCell<never>).map(\n (c) => ({\n ...c.props,\n renderFn: c.props.children,\n }),\n );\n\n const tableRowProps = deepFindOfType(children, TableRow)?.props;\n const tableHeaderProps = deepFindOfType(children, TableHeader)?.props;\n const tableBodyProps = deepFindOfType(children, TableBody)?.props;\n\n const listModel = ListModel.useNew<never>({\n onChange,\n loader: loaderShape,\n filters: deepFilterByType(children, ListFilter<never, never, never>).map(\n (f) => ({\n ...f.props,\n renderItem: f.props.children,\n }),\n ),\n search: searchProps\n ? {\n render: searchProps.children,\n textFieldProps: searchProps,\n defaultValue: searchProps.defaultValue,\n autosave: searchProps.autosave,\n }\n : undefined,\n sorting: deepFilterByType(children, ListSorting<never>).map((s) => s.props),\n\n itemView: itemViewProps\n ? {\n ...itemViewProps,\n renderFn: itemViewProps.children,\n }\n : undefined,\n\n table:\n tableColumnProps.length > 0\n ? {\n header: {\n ...tableHeaderProps,\n columns: tableColumnProps,\n },\n body: {\n ...tableBodyProps,\n row: {\n ...tableRowProps,\n cells: tableCellProps,\n },\n },\n ...tableProps,\n }\n : undefined,\n\n batchesController: {\n batchSize,\n },\n loadingItemsCount,\n ...restProps,\n });\n\n const propsContext: PropsContext = {\n ActionGroup: {\n preserveOrder: true,\n tunnel: {\n id: \"actions\",\n component: \"List\",\n },\n className: headerStyles.actions,\n Button: {\n className: headerStyles.action,\n },\n },\n ListSummary: {\n tunnel: {\n id: \"listSummary\",\n component: \"List\",\n },\n },\n };\n\n const isEmpty = listModel.useIsEmpty();\n\n // IMPORTANT: we always render the emptyView to the dom.\n // otherwise we will lose e.g. modalState when switching from noItems to itemsAvailable and vise versa.\n const emptyView = (\n <DivView\n aria-hidden={!isEmpty}\n className={!isEmpty ? styles.hideVisuallyEmptyView : undefined}\n >\n <ListEmptyViewContainerView\n viewType={listModel.getEmptyViewType()}\n emptySearchResultView={listModel.emptySearchResultView}\n emptyView={listModel.emptyView}\n />\n </DivView>\n );\n\n return (\n <PropsContextProvider props={propsContext}>\n <listContext.Provider\n value={{\n list: listModel,\n }}\n >\n <DataLoader />\n <DivView className={styles.list} ref={ref}>\n {children}\n <Header />\n\n <DivView className={styles.listWrapper}>\n {emptyView}\n {listModel.items.entries.length > 0 && (\n <UiComponentTunnelExit id=\"listSummary\" component=\"List\" />\n )}\n {(listModel.viewMode.isList || listModel.viewMode.isTiles) && (\n <Items />\n )}\n {listModel.viewMode.isTable && <Table />}\n </DivView>\n {!hidePagination && <Footer />}\n </DivView>\n </listContext.Provider>\n </PropsContextProvider>\n );\n});\n\nexport default List;\n"],"names":["TableSetupComponent","ListModel"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
  import { createElement, useState, useEffect } from 'react';
5
5
  import { useOnChange } from '../../../../../../lib/hooks/useOnChange.mjs';
6
+ import '../../../../../../lib/propsContext/propsContext.mjs';
6
7
  import 'remeda';
7
8
  import '@react-aria/utils';
8
9
  import 'dot-prop';
@@ -1 +1 @@
1
- {"version":3,"file":"SearchField.mjs","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"],"names":["value"],"mappings":";;;;;;;;;;AAeA,MAAM,iBAAA,GAAoB,GAAA;AAE1B,MAAM,wBAAA,GAAuD,CAAC,KAAA,KAAU;AACtE,EAAA,MAAM,EAAE,QAAA,EAAU,KAAA,EAAO,aAAa,IAAA,EAAM,GAAG,kBAAiB,GAAI,KAAA;AAEpE,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,QAAA,CAAS,SAAS,EAAE,CAAA;AAC5D,EAAA,MAAM,CAAC,oBAAA,EAAsB,uBAAuB,CAAA,GAAI,SAAS,EAAE,CAAA;AAEnE,EAAA,MAAM,eAAe,MAAM;AACzB,IAAA,IAAI,YAAA,CAAa,IAAA,EAAK,KAAM,EAAA,EAAI;AAC9B,MAAA,QAAA,CAAS,MAAS,CAAA;AAAA,IACpB,CAAA,MAAA,IAAW,yBAAyB,YAAA,EAAc;AAChD,MAAA,uBAAA,CAAwB,YAAY,CAAA;AACpC,MAAA,QAAA,CAAS,YAAY,CAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,MAAM,OAAA,GAAU,UAAA,CAAW,MAAM,YAAA,IAAgB,iBAAiB,CAAA;AAClE,MAAA,OAAO,MAAM,aAAa,OAAO,CAAA;AAAA,IACnC;AAAA,EACF,CAAA,EAAG,CAAC,YAAA,EAAc,UAAU,CAAC,CAAA;AAE7B,EAAA,0BAAA,EAA2B;AAE3B,EAAA,WAAA,CAAY,OAAO,MAAM;AACvB,IAAA,eAAA,CAAgB,SAAS,EAAE,CAAA;AAAA,EAC7B,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,QAAA,CAAS,MAAS,CAAA;AAClB,IAAA,eAAA,CAAgB,EAAE,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,CAAC,CAAA,KAAqB;AAC3C,IAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAC,UAAA,EAAY;AACpC,MAAA,YAAA,EAAa;AAAA,IACf,CAAA,MAAA,IAAW,CAAA,CAAE,GAAA,KAAQ,QAAA,EAAU;AAC7B,MAAA,WAAA,EAAY;AAAA,IACd;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,WAAW,MAAA,CAAO,WAAA;AAAA,MAClB,KAAA,EAAO,YAAA;AAAA,MACP,OAAA,EAAS,cAAA;AAAA,MACT,QAAA,EAAU,CAACA,MAAAA,KAAU,eAAA,CAAgBA,MAAK,CAAA;AAAA,MAC1C,OAAA,EAAS,WAAA;AAAA,MACR,GAAG;AAAA;AAAA,GACN;AAEJ,CAAA;AAEO,MAAM,WAAA,GAAyB,CAAC,KAAA,KAAU;AAC/C,EAAA,MAAM,EAAE,MAAA,EAAQ,UAAA,EAAW,GAAI,KAAA;AAE/B,EAAA,MAAM,MAAA,GAAS,OAAO,MAAA,IAAU,wBAAA;AAEhC,EAAA,OAAO,cAAc,MAAA,EAAQ;AAAA,IAC3B,OAAO,MAAA,CAAO,KAAA;AAAA,IACd,QAAA,EAAU,MAAA,CAAO,QAAA,CAAS,IAAA,CAAK,MAAM,CAAA;AAAA,IACrC,UAAA;AAAA,IACA,GAAG,MAAA,CAAO;AAAA,GACX,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"SearchField.mjs","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"],"names":["value"],"mappings":";;;;;;;;;;;AAeA,MAAM,iBAAA,GAAoB,GAAA;AAE1B,MAAM,wBAAA,GAAuD,CAAC,KAAA,KAAU;AACtE,EAAA,MAAM,EAAE,QAAA,EAAU,KAAA,EAAO,aAAa,IAAA,EAAM,GAAG,kBAAiB,GAAI,KAAA;AAEpE,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,QAAA,CAAS,SAAS,EAAE,CAAA;AAC5D,EAAA,MAAM,CAAC,oBAAA,EAAsB,uBAAuB,CAAA,GAAI,SAAS,EAAE,CAAA;AAEnE,EAAA,MAAM,eAAe,MAAM;AACzB,IAAA,IAAI,YAAA,CAAa,IAAA,EAAK,KAAM,EAAA,EAAI;AAC9B,MAAA,QAAA,CAAS,MAAS,CAAA;AAAA,IACpB,CAAA,MAAA,IAAW,yBAAyB,YAAA,EAAc;AAChD,MAAA,uBAAA,CAAwB,YAAY,CAAA;AACpC,MAAA,QAAA,CAAS,YAAY,CAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,MAAM,OAAA,GAAU,UAAA,CAAW,MAAM,YAAA,IAAgB,iBAAiB,CAAA;AAClE,MAAA,OAAO,MAAM,aAAa,OAAO,CAAA;AAAA,IACnC;AAAA,EACF,CAAA,EAAG,CAAC,YAAA,EAAc,UAAU,CAAC,CAAA;AAE7B,EAAA,0BAAA,EAA2B;AAE3B,EAAA,WAAA,CAAY,OAAO,MAAM;AACvB,IAAA,eAAA,CAAgB,SAAS,EAAE,CAAA;AAAA,EAC7B,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,QAAA,CAAS,MAAS,CAAA;AAClB,IAAA,eAAA,CAAgB,EAAE,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,CAAC,CAAA,KAAqB;AAC3C,IAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAC,UAAA,EAAY;AACpC,MAAA,YAAA,EAAa;AAAA,IACf,CAAA,MAAA,IAAW,CAAA,CAAE,GAAA,KAAQ,QAAA,EAAU;AAC7B,MAAA,WAAA,EAAY;AAAA,IACd;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,WAAW,MAAA,CAAO,WAAA;AAAA,MAClB,KAAA,EAAO,YAAA;AAAA,MACP,OAAA,EAAS,cAAA;AAAA,MACT,QAAA,EAAU,CAACA,MAAAA,KAAU,eAAA,CAAgBA,MAAK,CAAA;AAAA,MAC1C,OAAA,EAAS,WAAA;AAAA,MACR,GAAG;AAAA;AAAA,GACN;AAEJ,CAAA;AAEO,MAAM,WAAA,GAAyB,CAAC,KAAA,KAAU;AAC/C,EAAA,MAAM,EAAE,MAAA,EAAQ,UAAA,EAAW,GAAI,KAAA;AAE/B,EAAA,MAAM,MAAA,GAAS,OAAO,MAAA,IAAU,wBAAA;AAEhC,EAAA,OAAO,cAAc,MAAA,EAAQ;AAAA,IAC3B,OAAO,MAAA,CAAO,KAAA;AAAA,IACd,QAAA,EAAU,MAAA,CAAO,QAAA,CAAS,IAAA,CAAK,MAAM,CAAA;AAAA,IACrC,UAAA;AAAA,IACA,GAAG,MAAA,CAAO;AAAA,GACX,CAAA;AACH;;;;"}
@@ -3,6 +3,7 @@
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
  import { useState, useId, useRef, useEffect } from 'react';
5
5
  import { dynamic } from '../../../../../../../lib/propsContext/dynamicProps/dynamic.mjs';
6
+ import '../../../../../../../lib/propsContext/propsContext.mjs';
6
7
  import { PropsContextProvider } from '../../../../../../../lib/propsContext/components/PropsContextProvider.mjs';
7
8
  import { AccordionButton } from '../components/AccordionButton.mjs';
8
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"useGridItemProps.mjs","sources":["../../../../../../../../../../../../src/components/List/components/Items/components/Item/hooks/useGridItemProps.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport { useEffect, useId, useRef, useState } from \"react\";\nimport type List from \"@/components/List/model/List\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { dynamic, PropsContextProvider } from \"@/lib/propsContext\";\nimport { AccordionButton } from \"@/components/List/components/Items/components/Item/components/AccordionButton\";\n\ninterface P extends PropsWithChildren {\n data: never;\n}\n\nexport const useGridItemProps = (props: P, list: List<never>) => {\n const { data, children: childrenFromProps } = props;\n const itemView = list.itemView;\n const onAction = list.onAction;\n\n const [isExpanded, setIsExpanded] = useState(\n itemView?.defaultExpanded?.(data) ?? false,\n );\n const contentElementId = useId();\n const itemRef = useRef<HTMLDivElement>(null);\n\n const accordion = list.accordion;\n const children = childrenFromProps ?? itemView?.render(data);\n\n useEffect(() => {\n if (accordion) {\n itemRef.current?.setAttribute(\"aria-expanded\", String(isExpanded));\n itemRef.current?.setAttribute(\"aria-controls\", contentElementId);\n }\n }, [isExpanded, contentElementId, itemRef.current, accordion]);\n\n if (!accordion) {\n return {\n gridItemProps: {\n onAction: onAction\n ? () => {\n onAction?.(data);\n }\n : undefined,\n },\n children,\n };\n }\n\n const toggleAccordion = () => {\n setIsExpanded((current) => !current);\n onAction?.(data);\n };\n\n const propsContext: PropsContext = {\n Content: {\n id: dynamic((p) => (p.slot === \"bottom\" ? contentElementId : undefined)),\n wrapWith: dynamic((p) =>\n p.slot === \"bottom\" ? (\n <AccordionButton\n contentElementId={contentElementId}\n toggle={toggleAccordion}\n isExpanded={isExpanded}\n />\n ) : undefined,\n ),\n },\n };\n\n return {\n gridItemProps: {\n ref: itemRef,\n onAction: toggleAccordion,\n },\n children: (\n <PropsContextProvider\n props={propsContext}\n dependencies={[contentElementId, isExpanded]}\n >\n {children}\n </PropsContextProvider>\n ),\n };\n};\n"],"names":[],"mappings":";;;;;;AAWO,MAAM,gBAAA,GAAmB,CAAC,KAAA,EAAU,IAAA,KAAsB;AAC/D,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,iBAAA,EAAkB,GAAI,KAAA;AAC9C,EAAA,MAAM,WAAW,IAAA,CAAK,QAAA;AACtB,EAAA,MAAM,WAAW,IAAA,CAAK,QAAA;AAEtB,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,QAAA;AAAA,IAClC,QAAA,EAAU,eAAA,GAAkB,IAAI,CAAA,IAAK;AAAA,GACvC;AACA,EAAA,MAAM,mBAAmB,KAAA,EAAM;AAC/B,EAAA,MAAM,OAAA,GAAU,OAAuB,IAAI,CAAA;AAE3C,EAAA,MAAM,YAAY,IAAA,CAAK,SAAA;AACvB,EAAA,MAAM,QAAA,GAAW,iBAAA,IAAqB,QAAA,EAAU,MAAA,CAAO,IAAI,CAAA;AAE3D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,OAAA,CAAQ,OAAA,EAAS,YAAA,CAAa,eAAA,EAAiB,MAAA,CAAO,UAAU,CAAC,CAAA;AACjE,MAAA,OAAA,CAAQ,OAAA,EAAS,YAAA,CAAa,eAAA,EAAiB,gBAAgB,CAAA;AAAA,IACjE;AAAA,EACF,GAAG,CAAC,UAAA,EAAY,kBAAkB,OAAA,CAAQ,OAAA,EAAS,SAAS,CAAC,CAAA;AAE7D,EAAA,IAAI,CAAC,SAAA,EAAW;AACd,IAAA,OAAO;AAAA,MACL,aAAA,EAAe;AAAA,QACb,QAAA,EAAU,WACN,MAAM;AACJ,UAAA,QAAA,GAAW,IAAI,CAAA;AAAA,QACjB,CAAA,GACA;AAAA,OACN;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAA,aAAA,CAAc,CAAC,OAAA,KAAY,CAAC,OAAO,CAAA;AACnC,IAAA,QAAA,GAAW,IAAI,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,OAAA,EAAS;AAAA,MACP,EAAA,EAAI,QAAQ,CAAC,CAAA,KAAO,EAAE,IAAA,KAAS,QAAA,GAAW,mBAAmB,MAAU,CAAA;AAAA,MACvE,QAAA,EAAU,OAAA;AAAA,QAAQ,CAAC,CAAA,KACjB,CAAA,CAAE,IAAA,KAAS,QAAA,mBACT,GAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACC,gBAAA;AAAA,YACA,MAAA,EAAQ,eAAA;AAAA,YACR;AAAA;AAAA,SACF,GACE;AAAA;AACN;AACF,GACF;AAEA,EAAA,OAAO;AAAA,IACL,aAAA,EAAe;AAAA,MACb,GAAA,EAAK,OAAA;AAAA,MACL,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,QAAA,kBACE,GAAA;AAAA,MAAC,oBAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO,YAAA;AAAA,QACP,YAAA,EAAc,CAAC,gBAAA,EAAkB,UAAU,CAAA;AAAA,QAE1C;AAAA;AAAA;AACH,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"useGridItemProps.mjs","sources":["../../../../../../../../../../../../src/components/List/components/Items/components/Item/hooks/useGridItemProps.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport { useEffect, useId, useRef, useState } from \"react\";\nimport type List from \"@/components/List/model/List\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { dynamic, PropsContextProvider } from \"@/lib/propsContext\";\nimport { AccordionButton } from \"@/components/List/components/Items/components/Item/components/AccordionButton\";\n\ninterface P extends PropsWithChildren {\n data: never;\n}\n\nexport const useGridItemProps = (props: P, list: List<never>) => {\n const { data, children: childrenFromProps } = props;\n const itemView = list.itemView;\n const onAction = list.onAction;\n\n const [isExpanded, setIsExpanded] = useState(\n itemView?.defaultExpanded?.(data) ?? false,\n );\n const contentElementId = useId();\n const itemRef = useRef<HTMLDivElement>(null);\n\n const accordion = list.accordion;\n const children = childrenFromProps ?? itemView?.render(data);\n\n useEffect(() => {\n if (accordion) {\n itemRef.current?.setAttribute(\"aria-expanded\", String(isExpanded));\n itemRef.current?.setAttribute(\"aria-controls\", contentElementId);\n }\n }, [isExpanded, contentElementId, itemRef.current, accordion]);\n\n if (!accordion) {\n return {\n gridItemProps: {\n onAction: onAction\n ? () => {\n onAction?.(data);\n }\n : undefined,\n },\n children,\n };\n }\n\n const toggleAccordion = () => {\n setIsExpanded((current) => !current);\n onAction?.(data);\n };\n\n const propsContext: PropsContext = {\n Content: {\n id: dynamic((p) => (p.slot === \"bottom\" ? contentElementId : undefined)),\n wrapWith: dynamic((p) =>\n p.slot === \"bottom\" ? (\n <AccordionButton\n contentElementId={contentElementId}\n toggle={toggleAccordion}\n isExpanded={isExpanded}\n />\n ) : undefined,\n ),\n },\n };\n\n return {\n gridItemProps: {\n ref: itemRef,\n onAction: toggleAccordion,\n },\n children: (\n <PropsContextProvider\n props={propsContext}\n dependencies={[contentElementId, isExpanded]}\n >\n {children}\n </PropsContextProvider>\n ),\n };\n};\n"],"names":[],"mappings":";;;;;;;AAWO,MAAM,gBAAA,GAAmB,CAAC,KAAA,EAAU,IAAA,KAAsB;AAC/D,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,iBAAA,EAAkB,GAAI,KAAA;AAC9C,EAAA,MAAM,WAAW,IAAA,CAAK,QAAA;AACtB,EAAA,MAAM,WAAW,IAAA,CAAK,QAAA;AAEtB,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,QAAA;AAAA,IAClC,QAAA,EAAU,eAAA,GAAkB,IAAI,CAAA,IAAK;AAAA,GACvC;AACA,EAAA,MAAM,mBAAmB,KAAA,EAAM;AAC/B,EAAA,MAAM,OAAA,GAAU,OAAuB,IAAI,CAAA;AAE3C,EAAA,MAAM,YAAY,IAAA,CAAK,SAAA;AACvB,EAAA,MAAM,QAAA,GAAW,iBAAA,IAAqB,QAAA,EAAU,MAAA,CAAO,IAAI,CAAA;AAE3D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,OAAA,CAAQ,OAAA,EAAS,YAAA,CAAa,eAAA,EAAiB,MAAA,CAAO,UAAU,CAAC,CAAA;AACjE,MAAA,OAAA,CAAQ,OAAA,EAAS,YAAA,CAAa,eAAA,EAAiB,gBAAgB,CAAA;AAAA,IACjE;AAAA,EACF,GAAG,CAAC,UAAA,EAAY,kBAAkB,OAAA,CAAQ,OAAA,EAAS,SAAS,CAAC,CAAA;AAE7D,EAAA,IAAI,CAAC,SAAA,EAAW;AACd,IAAA,OAAO;AAAA,MACL,aAAA,EAAe;AAAA,QACb,QAAA,EAAU,WACN,MAAM;AACJ,UAAA,QAAA,GAAW,IAAI,CAAA;AAAA,QACjB,CAAA,GACA;AAAA,OACN;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAA,aAAA,CAAc,CAAC,OAAA,KAAY,CAAC,OAAO,CAAA;AACnC,IAAA,QAAA,GAAW,IAAI,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,OAAA,EAAS;AAAA,MACP,EAAA,EAAI,QAAQ,CAAC,CAAA,KAAO,EAAE,IAAA,KAAS,QAAA,GAAW,mBAAmB,MAAU,CAAA;AAAA,MACvE,QAAA,EAAU,OAAA;AAAA,QAAQ,CAAC,CAAA,KACjB,CAAA,CAAE,IAAA,KAAS,QAAA,mBACT,GAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACC,gBAAA;AAAA,YACA,MAAA,EAAQ,eAAA;AAAA,YACR;AAAA;AAAA,SACF,GACE;AAAA;AACN;AACF,GACF;AAEA,EAAA,OAAO;AAAA,IACL,aAAA,EAAe;AAAA,MACb,GAAA,EAAK,OAAA;AAAA,MACL,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,QAAA,kBACE,GAAA;AAAA,MAAC,oBAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO,YAAA;AAAA,QACP,YAAA,EAAc,CAAC,gBAAA,EAAkB,UAAU,CAAA;AAAA,QAE1C;AAAA;AAAA;AACH,GAEJ;AACF;;;;"}
@@ -4,6 +4,7 @@ import { jsx } from 'react/jsx-runtime';
4
4
  import styles from './ListItemView.module.scss.mjs';
5
5
  import ListItemViewContentView from '../../../../views/ListItemViewContentView.mjs';
6
6
  import { dynamic } from '../../../../lib/propsContext/dynamicProps/dynamic.mjs';
7
+ import '../../../../lib/propsContext/propsContext.mjs';
7
8
  import { PropsContextProvider } from '../../../../lib/propsContext/components/PropsContextProvider.mjs';
8
9
  import { OptionsButton } from '../Items/components/Item/components/OptionsButton/OptionsButton.mjs';
9
10
  import { useList } from '../../hooks/useList.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemView.mjs","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 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 propsContext: PropsContext = {\n ContextMenu: {\n tunnel: {\n id: \"button\",\n component: \"ListItemView\",\n },\n placement: \"bottom right\",\n wrapWith: <OptionsButton className={styles.action} />,\n },\n Button: {\n tunnel: {\n id: \"button\",\n component: \"ListItemView\",\n },\n size: dynamic(() => (useList().viewMode.isTiles ? \"s\" : \"m\")),\n },\n ActionGroup: {\n tunnel: {\n id: \"button\",\n component: \"ListItemView\",\n },\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"],"names":[],"mappings":";;;;;;;;;;AAiBO,MAAM,YAAA,GAAe,aAAA;AAAA,EAC1B,cAAA;AAAA,EACA,CAAC,KAAA,KAA6B;AAC5B,IAAA,MAAM,EAAE,QAAA,EAAU,CAAA,EAAG,CAAA,EAAG,GAAE,GAAI,KAAA;AAC9B,IAAA,MAAM,OAAO,OAAA,EAAQ;AAErB,IAAA,MAAM,YAAA,GAA6B;AAAA,MACjC,WAAA,EAAa;AAAA,QACX,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,QAAA;AAAA,UACJ,SAAA,EAAW;AAAA,SACb;AAAA,QACA,SAAA,EAAW,cAAA;AAAA,QACX,QAAA,kBAAU,GAAA,CAAC,aAAA,EAAA,EAAc,SAAA,EAAW,OAAO,MAAA,EAAQ;AAAA,OACrD;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,QAAA;AAAA,UACJ,SAAA,EAAW;AAAA,SACb;AAAA,QACA,IAAA,EAAM,QAAQ,MAAO,OAAA,GAAU,QAAA,CAAS,OAAA,GAAU,MAAM,GAAI;AAAA,OAC9D;AAAA,MACA,WAAA,EAAa;AAAA,QACX,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,QAAA;AAAA,UACJ,SAAA,EAAW;AAAA,SACb;AAAA,QACA,MAAA,EAAQ;AAAA,UACN,MAAA,EAAQ;AAAA;AACV,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,QAAA;AAAA,UACJ,SAAA,EAAW;AAAA;AACb,OACF;AAAA,MACA,OAAA,EAAS;AAAA,QACP,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,OAAA;AAAA,UACJ,SAAA,EAAW;AAAA;AACb,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,MAAA;AAAA,UACJ,SAAA,EAAW;AAAA;AACb,OACF;AAAA,MACA,OAAA,EAAS;AAAA,QACP,MAAA,EAAQ,OAAA;AAAA,UAAQ,CAAC,CAAA,KACf,CAAA,CAAE,IAAA,KAAS,QAAA,GACP;AAAA,YACE,EAAA,EAAI,QAAA;AAAA,YACJ,SAAA,EAAW;AAAA,WACb,GACA;AAAA;AACN,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,UAAA;AAAA,UACJ,SAAA,EAAW;AAAA;AACb;AACF,KACF;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,uBAAA;AAAA,MAAA;AAAA,QACC,QAAA,EAAU,KAAK,QAAA,CAAS,KAAA;AAAA,QACxB,uBAAO,GAAA,CAAC,qBAAA,EAAA,EAAsB,EAAA,EAAG,OAAA,EAAQ,WAAU,cAAA,EAAe,CAAA;AAAA,QAClE,wBAAQ,GAAA,CAAC,qBAAA,EAAA,EAAsB,EAAA,EAAG,QAAA,EAAS,WAAU,cAAA,EAAe,CAAA;AAAA,QACpE,wBAAQ,GAAA,CAAC,qBAAA,EAAA,EAAsB,EAAA,EAAG,QAAA,EAAS,WAAU,cAAA,EAAe,CAAA;AAAA,QACpE,0BAAU,GAAA,CAAC,qBAAA,EAAA,EAAsB,EAAA,EAAG,MAAA,EAAO,WAAU,cAAA,EAAe,CAAA;AAAA,QACpE,wBAAQ,GAAA,CAAC,qBAAA,EAAA,EAAsB,EAAA,EAAG,QAAA,EAAS,WAAU,cAAA,EAAe,CAAA;AAAA,QACpE,0BACE,GAAA,CAAC,qBAAA,EAAA,EAAsB,EAAA,EAAG,UAAA,EAAW,WAAU,cAAA,EAAe,CAAA;AAAA,QAEhE,CAAA;AAAA,QACA,CAAA;AAAA,QACA,CAAA;AAAA,QAEA,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC1B,QAAA,EACH;AAAA;AAAA,KACF;AAAA,EAEJ,CAAA;AAAA,EACA;AAAA,IACE,IAAA,EAAM;AAAA;AAEV;;;;"}
1
+ {"version":3,"file":"ListItemView.mjs","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 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 propsContext: PropsContext = {\n ContextMenu: {\n tunnel: {\n id: \"button\",\n component: \"ListItemView\",\n },\n placement: \"bottom right\",\n wrapWith: <OptionsButton className={styles.action} />,\n },\n Button: {\n tunnel: {\n id: \"button\",\n component: \"ListItemView\",\n },\n size: dynamic(() => (useList().viewMode.isTiles ? \"s\" : \"m\")),\n },\n ActionGroup: {\n tunnel: {\n id: \"button\",\n component: \"ListItemView\",\n },\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"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
  import styles from '../../ListItemView.module.scss.mjs';
5
5
  import { dynamic } from '../../../../../../lib/propsContext/dynamicProps/dynamic.mjs';
6
+ import '../../../../../../lib/propsContext/propsContext.mjs';
6
7
  import { PropsContextProvider } from '../../../../../../lib/propsContext/components/PropsContextProvider.mjs';
7
8
  import clsx from 'clsx';
8
9
  import { ColumnLayout } from '../../../../../ColumnLayout/ColumnLayout.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemViewContent.mjs","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 {\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\nconst getStyleForContentSlot = (slot?: string) =>\n slot === \"top\"\n ? styles.topContent\n : slot === \"bottom\"\n ? styles.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 className: styles.bottomContent,\n },\n top: {\n className: styles.topContent,\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"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListItemViewContent.mjs","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 {\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\nconst getStyleForContentSlot = (slot?: string) =>\n slot === \"top\"\n ? styles.topContent\n : slot === \"bottom\"\n ? styles.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 className: styles.bottomContent,\n },\n top: {\n className: styles.topContent,\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"],"names":[],"mappings":"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"}
@@ -47,13 +47,8 @@ const MenuItem = flowComponent("MenuItem", (props) => {
47
47
  useAriaAnnounceActionState(
48
48
  isPending ? "isPending" : isSucceeded ? "isSucceeded" : isFailed ? "isFailed" : "isIdle"
49
49
  );
50
- const StateIconComponent = isSucceeded ? IconSucceeded : isFailed ? IconFailed : isPending ? LoadingSpinner : void 0;
51
- const stateIcon = StateIconComponent && /* @__PURE__ */ jsx("div", { className: styles.stateIcon, children: /* @__PURE__ */ jsx(
52
- StateIconComponent,
53
- {
54
- status: isFailed ? "danger" : isSucceeded ? "success" : void 0
55
- }
56
- ) });
50
+ const stateIconElement = isSucceeded ? /* @__PURE__ */ jsx(IconSucceeded, { color: "success" }) : isFailed ? /* @__PURE__ */ jsx(IconFailed, { color: "danger" }) : isPending ? /* @__PURE__ */ jsx(LoadingSpinner, {}) : void 0;
51
+ const stateIcon = stateIconElement && /* @__PURE__ */ jsx("div", { className: styles.stateIcon, children: stateIconElement });
57
52
  return /* @__PURE__ */ createElement(
58
53
  Aria.MenuItem,
59
54
  {
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.mjs","sources":["../../../../../../../src/components/MenuItem/MenuItem.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport styles from \"./MenuItem.module.scss\";\nimport clsx from \"clsx\";\nimport { MenuItemContent } from \"@/components/MenuItem/components/MenuItemContent/MenuItemContent\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { useAriaAnnounceActionState } from \"@/components/Action/lib/ariaLive\";\nimport { IconFailed, IconSucceeded } from \"@/components/Icon/components/icons\";\nimport LoadingSpinner from \"@/components/LoadingSpinner\";\n\nexport interface MenuItemProps\n extends\n Omit<Aria.MenuItemProps, \"children\">,\n PropsWithChildren,\n FlowComponentProps {\n selectionVariant?: \"control\" | \"navigation\" | \"switch\";\n /** Whether the button is in a pending state. */\n isPending?: boolean;\n /** Whether the button is in a succeeded state. */\n isSucceeded?: boolean;\n /** Whether the button is in a failed state. */\n isFailed?: boolean;\n /** Disables button but keeps it focusable. */\n \"aria-disabled\"?: boolean;\n /** Marks the menu item as referring to the currently active page. */\n \"aria-current\"?: string;\n}\n\nconst disablePendingProps = (props: MenuItemProps) => {\n if (\n props.isPending ||\n props.isSucceeded ||\n props.isFailed ||\n props[\"aria-disabled\"]\n ) {\n props = { ...props };\n props.onPress = undefined;\n props.onPressStart = undefined;\n props.onPressEnd = undefined;\n props.onPressChange = undefined;\n props.onPressUp = undefined;\n }\n\n return props;\n};\n\n/** @flr-generate all */\nexport const MenuItem = flowComponent(\"MenuItem\", (props) => {\n props = disablePendingProps(props);\n\n const {\n children,\n className,\n selectionVariant,\n id,\n ref,\n \"aria-disabled\": ariaDisabled,\n \"aria-current\": ariaCurrent,\n isPending,\n isSucceeded,\n isFailed,\n ...rest\n } = props;\n\n /**\n * React Aria drops `aria-current` from the props it forwards to the DOM, so\n * the current state is exposed as a data attribute (`data-*` passes the\n * filter) — that is what the `menuItem` styling matches on. Every\n * `aria-current` value marks the item as current, except an explicit\n * \"false\".\n */\n const currentProps =\n ariaCurrent && ariaCurrent !== \"false\" ? { \"data-current\": true } : {};\n\n const rootClassName = clsx(\n styles.menuItem /**\n * Workaround warning: The Aria.MenuItem does not support \"aria-disabled\" by\n * now, so this MenuItem will be visually disabled via CSS.\n */,\n (ariaDisabled || isFailed || isSucceeded || isPending) &&\n styles.ariaDisabled,\n className,\n );\n\n useAriaAnnounceActionState(\n isPending\n ? \"isPending\"\n : isSucceeded\n ? \"isSucceeded\"\n : isFailed\n ? \"isFailed\"\n : \"isIdle\",\n );\n\n const StateIconComponent = isSucceeded\n ? IconSucceeded\n : isFailed\n ? IconFailed\n : isPending\n ? LoadingSpinner\n : undefined;\n\n const stateIcon = StateIconComponent && (\n <div className={styles.stateIcon}>\n <StateIconComponent\n status={isFailed ? \"danger\" : isSucceeded ? \"success\" : undefined}\n />\n </div>\n );\n\n return (\n <Aria.MenuItem\n {...rest}\n {...currentProps}\n key={id}\n id={id}\n className={rootClassName}\n ref={ref}\n >\n {(props) => (\n <>\n <MenuItemContent {...props} selectionVariant={selectionVariant}>\n {children}\n </MenuItemContent>\n {stateIcon}\n </>\n )}\n </Aria.MenuItem>\n );\n});\n\nexport default MenuItem;\n"],"names":["props"],"mappings":";;;;;;;;;;;;AA6BA,MAAM,mBAAA,GAAsB,CAAC,KAAA,KAAyB;AACpD,EAAA,IACE,KAAA,CAAM,aACN,KAAA,CAAM,WAAA,IACN,MAAM,QAAA,IACN,KAAA,CAAM,eAAe,CAAA,EACrB;AACA,IAAA,KAAA,GAAQ,EAAE,GAAG,KAAA,EAAM;AACnB,IAAA,KAAA,CAAM,OAAA,GAAU,MAAA;AAChB,IAAA,KAAA,CAAM,YAAA,GAAe,MAAA;AACrB,IAAA,KAAA,CAAM,UAAA,GAAa,MAAA;AACnB,IAAA,KAAA,CAAM,aAAA,GAAgB,MAAA;AACtB,IAAA,KAAA,CAAM,SAAA,GAAY,MAAA;AAAA,EACpB;AAEA,EAAA,OAAO,KAAA;AACT,CAAA;AAGO,MAAM,QAAA,GAAW,aAAA,CAAc,UAAA,EAAY,CAAC,KAAA,KAAU;AAC3D,EAAA,KAAA,GAAQ,oBAAoB,KAAK,CAAA;AAEjC,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,EAAA;AAAA,IACA,GAAA;AAAA,IACA,eAAA,EAAiB,YAAA;AAAA,IACjB,cAAA,EAAgB,WAAA;AAAA,IAChB,SAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AASJ,EAAA,MAAM,YAAA,GACJ,eAAe,WAAA,KAAgB,OAAA,GAAU,EAAE,cAAA,EAAgB,IAAA,KAAS,EAAC;AAEvE,EAAA,MAAM,aAAA,GAAgB,IAAA;AAAA,IACpB,MAAA,CAAO,QAAA;AAAA,IAAA,CAIN,YAAA,IAAgB,QAAA,IAAY,WAAA,IAAe,SAAA,KAC1C,MAAA,CAAO,YAAA;AAAA,IACT;AAAA,GACF;AAEA,EAAA,0BAAA;AAAA,IACE,SAAA,GACI,WAAA,GACA,WAAA,GACE,aAAA,GACA,WACE,UAAA,GACA;AAAA,GACV;AAEA,EAAA,MAAM,qBAAqB,WAAA,GACvB,aAAA,GACA,QAAA,GACE,UAAA,GACA,YACE,cAAA,GACA,MAAA;AAER,EAAA,MAAM,YAAY,kBAAA,oBAChB,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAO,SAAA,EACrB,QAAA,kBAAA,GAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,QAAA,GAAW,QAAA,GAAW,WAAA,GAAc,SAAA,GAAY;AAAA;AAAA,GAC1D,EACF,CAAA;AAGF,EAAA,uBACE,aAAA;AAAA,IAAC,IAAA,CAAK,QAAA;AAAA,IAAL;AAAA,MACE,GAAG,IAAA;AAAA,MACH,GAAG,YAAA;AAAA,MACJ,GAAA,EAAK,EAAA;AAAA,MACL,EAAA;AAAA,MACA,SAAA,EAAW,aAAA;AAAA,MACX;AAAA,KAAA;AAAA,IAEC,CAACA,2BACA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,eAAA,EAAA,EAAiB,GAAGA,MAAAA,EAAO,gBAAA,EACzB,QAAA,EACH,CAAA;AAAA,MACC;AAAA,KAAA,EACH;AAAA,GAEJ;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"MenuItem.mjs","sources":["../../../../../../../src/components/MenuItem/MenuItem.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport styles from \"./MenuItem.module.scss\";\nimport clsx from \"clsx\";\nimport { MenuItemContent } from \"@/components/MenuItem/components/MenuItemContent/MenuItemContent\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { useAriaAnnounceActionState } from \"@/components/Action/lib/ariaLive\";\nimport { IconFailed, IconSucceeded } from \"@/components/Icon/components/icons\";\nimport LoadingSpinner from \"@/components/LoadingSpinner\";\n\nexport interface MenuItemProps\n extends\n Omit<Aria.MenuItemProps, \"children\">,\n PropsWithChildren,\n FlowComponentProps {\n selectionVariant?: \"control\" | \"navigation\" | \"switch\";\n /** Whether the button is in a pending state. */\n isPending?: boolean;\n /** Whether the button is in a succeeded state. */\n isSucceeded?: boolean;\n /** Whether the button is in a failed state. */\n isFailed?: boolean;\n /** Disables button but keeps it focusable. */\n \"aria-disabled\"?: boolean;\n /** Marks the menu item as referring to the currently active page. */\n \"aria-current\"?: string;\n}\n\nconst disablePendingProps = (props: MenuItemProps) => {\n if (\n props.isPending ||\n props.isSucceeded ||\n props.isFailed ||\n props[\"aria-disabled\"]\n ) {\n props = { ...props };\n props.onPress = undefined;\n props.onPressStart = undefined;\n props.onPressEnd = undefined;\n props.onPressChange = undefined;\n props.onPressUp = undefined;\n }\n\n return props;\n};\n\n/** @flr-generate all */\nexport const MenuItem = flowComponent(\"MenuItem\", (props) => {\n props = disablePendingProps(props);\n\n const {\n children,\n className,\n selectionVariant,\n id,\n ref,\n \"aria-disabled\": ariaDisabled,\n \"aria-current\": ariaCurrent,\n isPending,\n isSucceeded,\n isFailed,\n ...rest\n } = props;\n\n /**\n * React Aria drops `aria-current` from the props it forwards to the DOM, so\n * the current state is exposed as a data attribute (`data-*` passes the\n * filter) — that is what the `menuItem` styling matches on. Every\n * `aria-current` value marks the item as current, except an explicit\n * \"false\".\n */\n const currentProps =\n ariaCurrent && ariaCurrent !== \"false\" ? { \"data-current\": true } : {};\n\n const rootClassName = clsx(\n styles.menuItem /**\n * Workaround warning: The Aria.MenuItem does not support \"aria-disabled\" by\n * now, so this MenuItem will be visually disabled via CSS.\n */,\n (ariaDisabled || isFailed || isSucceeded || isPending) &&\n styles.ariaDisabled,\n className,\n );\n\n useAriaAnnounceActionState(\n isPending\n ? \"isPending\"\n : isSucceeded\n ? \"isSucceeded\"\n : isFailed\n ? \"isFailed\"\n : \"isIdle\",\n );\n\n const stateIconElement = isSucceeded ? (\n <IconSucceeded color=\"success\" />\n ) : isFailed ? (\n <IconFailed color=\"danger\" />\n ) : isPending ? (\n <LoadingSpinner />\n ) : undefined;\n\n const stateIcon = stateIconElement && (\n <div className={styles.stateIcon}>{stateIconElement}</div>\n );\n\n return (\n <Aria.MenuItem\n {...rest}\n {...currentProps}\n key={id}\n id={id}\n className={rootClassName}\n ref={ref}\n >\n {(props) => (\n <>\n <MenuItemContent {...props} selectionVariant={selectionVariant}>\n {children}\n </MenuItemContent>\n {stateIcon}\n </>\n )}\n </Aria.MenuItem>\n );\n});\n\nexport default MenuItem;\n"],"names":["props"],"mappings":";;;;;;;;;;;;AA6BA,MAAM,mBAAA,GAAsB,CAAC,KAAA,KAAyB;AACpD,EAAA,IACE,KAAA,CAAM,aACN,KAAA,CAAM,WAAA,IACN,MAAM,QAAA,IACN,KAAA,CAAM,eAAe,CAAA,EACrB;AACA,IAAA,KAAA,GAAQ,EAAE,GAAG,KAAA,EAAM;AACnB,IAAA,KAAA,CAAM,OAAA,GAAU,MAAA;AAChB,IAAA,KAAA,CAAM,YAAA,GAAe,MAAA;AACrB,IAAA,KAAA,CAAM,UAAA,GAAa,MAAA;AACnB,IAAA,KAAA,CAAM,aAAA,GAAgB,MAAA;AACtB,IAAA,KAAA,CAAM,SAAA,GAAY,MAAA;AAAA,EACpB;AAEA,EAAA,OAAO,KAAA;AACT,CAAA;AAGO,MAAM,QAAA,GAAW,aAAA,CAAc,UAAA,EAAY,CAAC,KAAA,KAAU;AAC3D,EAAA,KAAA,GAAQ,oBAAoB,KAAK,CAAA;AAEjC,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,EAAA;AAAA,IACA,GAAA;AAAA,IACA,eAAA,EAAiB,YAAA;AAAA,IACjB,cAAA,EAAgB,WAAA;AAAA,IAChB,SAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AASJ,EAAA,MAAM,YAAA,GACJ,eAAe,WAAA,KAAgB,OAAA,GAAU,EAAE,cAAA,EAAgB,IAAA,KAAS,EAAC;AAEvE,EAAA,MAAM,aAAA,GAAgB,IAAA;AAAA,IACpB,MAAA,CAAO,QAAA;AAAA,IAAA,CAIN,YAAA,IAAgB,QAAA,IAAY,WAAA,IAAe,SAAA,KAC1C,MAAA,CAAO,YAAA;AAAA,IACT;AAAA,GACF;AAEA,EAAA,0BAAA;AAAA,IACE,SAAA,GACI,WAAA,GACA,WAAA,GACE,aAAA,GACA,WACE,UAAA,GACA;AAAA,GACV;AAEA,EAAA,MAAM,mBAAmB,WAAA,mBACvB,GAAA,CAAC,aAAA,EAAA,EAAc,KAAA,EAAM,WAAU,CAAA,GAC7B,QAAA,mBACF,GAAA,CAAC,UAAA,EAAA,EAAW,OAAM,QAAA,EAAS,CAAA,GACzB,SAAA,mBACF,GAAA,CAAC,kBAAe,CAAA,GACd,MAAA;AAEJ,EAAA,MAAM,YAAY,gBAAA,oBAChB,GAAA,CAAC,SAAI,SAAA,EAAW,MAAA,CAAO,WAAY,QAAA,EAAA,gBAAA,EAAiB,CAAA;AAGtD,EAAA,uBACE,aAAA;AAAA,IAAC,IAAA,CAAK,QAAA;AAAA,IAAL;AAAA,MACE,GAAG,IAAA;AAAA,MACH,GAAG,YAAA;AAAA,MACJ,GAAA,EAAK,EAAA;AAAA,MACL,EAAA;AAAA,MACA,SAAA,EAAW,aAAA;AAAA,MACX;AAAA,KAAA;AAAA,IAEC,CAACA,2BACA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,eAAA,EAAA,EAAiB,GAAGA,MAAAA,EAAO,gBAAA,EACzB,QAAA,EACH,CAAA;AAAA,MACC;AAAA,KAAA,EACH;AAAA,GAEJ;AAEJ,CAAC;;;;"}
@@ -2,6 +2,7 @@
2
2
  /* */
3
3
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
4
4
  import styles from '../../MenuItem.module.scss.mjs';
5
+ import '../../../../lib/propsContext/propsContext.mjs';
5
6
  import { PropsContextProvider } from '../../../../lib/propsContext/components/PropsContextProvider.mjs';
6
7
  import { IconCheckboxChecked } from '../../../Icon/components/icons/IconCheckboxChecked.mjs';
7
8
  import { IconCheckboxEmpty } from '../../../Icon/components/icons/IconCheckboxEmpty.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemContent.mjs","sources":["../../../../../../../../../src/components/MenuItem/components/MenuItemContent/MenuItemContent.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport type * as Aria from \"react-aria-components\";\nimport styles from \"../../MenuItem.module.scss\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport {\n IconCheckboxChecked,\n IconCheckboxEmpty,\n IconRadioOff,\n IconRadioOn,\n} from \"@/components/Icon/components/icons\";\nimport clsx from \"clsx\";\nimport { Switch } from \"@/components/Switch\";\n\ninterface Props extends Aria.MenuItemRenderProps, PropsWithChildren {\n selectionVariant?: \"control\" | \"navigation\" | \"switch\";\n}\n\nexport const MenuItemContent: FC<Props> = (props) => {\n const {\n selectionMode,\n isSelected,\n selectionVariant = \"control\",\n children,\n } = props;\n\n const propsContext: PropsContext = {\n Icon: {\n className: styles.icon,\n },\n Avatar: {\n className: styles.avatar,\n },\n Kbd: {\n className: styles.kbd,\n },\n Badge: {\n className: styles.badge,\n },\n };\n\n const controlIconPropsContext: PropsContext = {\n Icon: {\n className: clsx(styles.controlIcon, styles.icon),\n },\n Switch: {\n className: clsx(styles.controlIcon, styles.switch),\n labelPosition: \"leading\",\n },\n };\n\n const selectionIcon =\n selectionMode === \"none\" ||\n selectionVariant === \"navigation\" ? null : selectionVariant === \"switch\" ? (\n <Switch isReadOnly isSelected={isSelected} />\n ) : selectionMode === \"single\" && isSelected ? (\n <IconRadioOn />\n ) : selectionMode === \"single\" && !isSelected ? (\n <IconRadioOff />\n ) : selectionMode === \"multiple\" && isSelected ? (\n <IconCheckboxChecked />\n ) : (\n <IconCheckboxEmpty />\n );\n\n return (\n <>\n <PropsContextProvider props={controlIconPropsContext}>\n {selectionIcon}\n </PropsContextProvider>\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AAkBO,MAAM,eAAA,GAA6B,CAAC,KAAA,KAAU;AACnD,EAAA,MAAM;AAAA,IACJ,aAAA;AAAA,IACA,UAAA;AAAA,IACA,gBAAA,GAAmB,SAAA;AAAA,IACnB;AAAA,GACF,GAAI,KAAA;AAEJ,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,IAAA,EAAM;AAAA,MACJ,WAAW,MAAA,CAAO;AAAA,KACpB;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,WAAW,MAAA,CAAO;AAAA,KACpB;AAAA,IACA,GAAA,EAAK;AAAA,MACH,WAAW,MAAA,CAAO;AAAA,KACpB;AAAA,IACA,KAAA,EAAO;AAAA,MACL,WAAW,MAAA,CAAO;AAAA;AACpB,GACF;AAEA,EAAA,MAAM,uBAAA,GAAwC;AAAA,IAC5C,IAAA,EAAM;AAAA,MACJ,SAAA,EAAW,IAAA,CAAK,MAAA,CAAO,WAAA,EAAa,OAAO,IAAI;AAAA,KACjD;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,SAAA,EAAW,IAAA,CAAK,MAAA,CAAO,WAAA,EAAa,OAAO,MAAM,CAAA;AAAA,MACjD,aAAA,EAAe;AAAA;AACjB,GACF;AAEA,EAAA,MAAM,aAAA,GACJ,aAAA,KAAkB,MAAA,IAClB,gBAAA,KAAqB,eAAe,IAAA,GAAO,gBAAA,KAAqB,QAAA,mBAC9D,GAAA,CAAC,UAAO,UAAA,EAAU,IAAA,EAAC,UAAA,EAAwB,CAAA,GACzC,kBAAkB,QAAA,IAAY,UAAA,mBAChC,GAAA,CAAC,WAAA,EAAA,EAAY,CAAA,GACX,aAAA,KAAkB,QAAA,IAAY,CAAC,6BACjC,GAAA,CAAC,YAAA,EAAA,EAAa,CAAA,GACZ,aAAA,KAAkB,cAAc,UAAA,mBAClC,GAAA,CAAC,mBAAA,EAAA,EAAoB,CAAA,uBAEpB,iBAAA,EAAA,EAAkB,CAAA;AAGvB,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,uBAAA,EAC1B,QAAA,EAAA,aAAA,EACH,CAAA;AAAA,oBACA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC1B,QAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"MenuItemContent.mjs","sources":["../../../../../../../../../src/components/MenuItem/components/MenuItemContent/MenuItemContent.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport type * as Aria from \"react-aria-components\";\nimport styles from \"../../MenuItem.module.scss\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport {\n IconCheckboxChecked,\n IconCheckboxEmpty,\n IconRadioOff,\n IconRadioOn,\n} from \"@/components/Icon/components/icons\";\nimport clsx from \"clsx\";\nimport { Switch } from \"@/components/Switch\";\n\ninterface Props extends Aria.MenuItemRenderProps, PropsWithChildren {\n selectionVariant?: \"control\" | \"navigation\" | \"switch\";\n}\n\nexport const MenuItemContent: FC<Props> = (props) => {\n const {\n selectionMode,\n isSelected,\n selectionVariant = \"control\",\n children,\n } = props;\n\n const propsContext: PropsContext = {\n Icon: {\n className: styles.icon,\n },\n Avatar: {\n className: styles.avatar,\n },\n Kbd: {\n className: styles.kbd,\n },\n Badge: {\n className: styles.badge,\n },\n };\n\n const controlIconPropsContext: PropsContext = {\n Icon: {\n className: clsx(styles.controlIcon, styles.icon),\n },\n Switch: {\n className: clsx(styles.controlIcon, styles.switch),\n labelPosition: \"leading\",\n },\n };\n\n const selectionIcon =\n selectionMode === \"none\" ||\n selectionVariant === \"navigation\" ? null : selectionVariant === \"switch\" ? (\n <Switch isReadOnly isSelected={isSelected} />\n ) : selectionMode === \"single\" && isSelected ? (\n <IconRadioOn />\n ) : selectionMode === \"single\" && !isSelected ? (\n <IconRadioOff />\n ) : selectionMode === \"multiple\" && isSelected ? (\n <IconCheckboxChecked />\n ) : (\n <IconCheckboxEmpty />\n );\n\n return (\n <>\n <PropsContextProvider props={controlIconPropsContext}>\n {selectionIcon}\n </PropsContextProvider>\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAkBO,MAAM,eAAA,GAA6B,CAAC,KAAA,KAAU;AACnD,EAAA,MAAM;AAAA,IACJ,aAAA;AAAA,IACA,UAAA;AAAA,IACA,gBAAA,GAAmB,SAAA;AAAA,IACnB;AAAA,GACF,GAAI,KAAA;AAEJ,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,IAAA,EAAM;AAAA,MACJ,WAAW,MAAA,CAAO;AAAA,KACpB;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,WAAW,MAAA,CAAO;AAAA,KACpB;AAAA,IACA,GAAA,EAAK;AAAA,MACH,WAAW,MAAA,CAAO;AAAA,KACpB;AAAA,IACA,KAAA,EAAO;AAAA,MACL,WAAW,MAAA,CAAO;AAAA;AACpB,GACF;AAEA,EAAA,MAAM,uBAAA,GAAwC;AAAA,IAC5C,IAAA,EAAM;AAAA,MACJ,SAAA,EAAW,IAAA,CAAK,MAAA,CAAO,WAAA,EAAa,OAAO,IAAI;AAAA,KACjD;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,SAAA,EAAW,IAAA,CAAK,MAAA,CAAO,WAAA,EAAa,OAAO,MAAM,CAAA;AAAA,MACjD,aAAA,EAAe;AAAA;AACjB,GACF;AAEA,EAAA,MAAM,aAAA,GACJ,aAAA,KAAkB,MAAA,IAClB,gBAAA,KAAqB,eAAe,IAAA,GAAO,gBAAA,KAAqB,QAAA,mBAC9D,GAAA,CAAC,UAAO,UAAA,EAAU,IAAA,EAAC,UAAA,EAAwB,CAAA,GACzC,kBAAkB,QAAA,IAAY,UAAA,mBAChC,GAAA,CAAC,WAAA,EAAA,EAAY,CAAA,GACX,aAAA,KAAkB,QAAA,IAAY,CAAC,6BACjC,GAAA,CAAC,YAAA,EAAA,EAAa,CAAA,GACZ,aAAA,KAAkB,cAAc,UAAA,mBAClC,GAAA,CAAC,mBAAA,EAAA,EAAoB,CAAA,uBAEpB,iBAAA,EAAA,EAAkB,CAAA;AAGvB,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,uBAAA,EAC1B,QAAA,EAAA,aAAA,EACH,CAAA;AAAA,oBACA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC1B,QAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -5,6 +5,7 @@ import 'react';
5
5
  import clsx from 'clsx';
6
6
  import styles from './Message.module.scss.mjs';
7
7
  import { dynamic } from '../../lib/propsContext/dynamicProps/dynamic.mjs';
8
+ import '../../lib/propsContext/propsContext.mjs';
8
9
  import { PropsContextProvider } from '../../lib/propsContext/components/PropsContextProvider.mjs';
9
10
  import { IconContextMenu } from '../Icon/components/icons/IconContextMenu.mjs';
10
11
  import { flowComponent } from '../../lib/componentFactory/flowComponent.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"Message.mjs","sources":["../../../../../../../src/components/Message/Message.tsx"],"sourcesContent":["import { type CSSProperties, type PropsWithChildren } from \"react\";\nimport clsx from \"clsx\";\nimport styles from \"./Message.module.scss\";\nimport type {\n PropsWithClassName,\n PropsWithElementType,\n} from \"@/lib/types/props\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport { IconContextMenu } from \"@/components/Icon/components/icons\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport ClearPropsContext from \"@/lib/propsContext/components/ClearPropsContext\";\nimport locales from \"./locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider\";\nimport * as Aria from \"react-aria-components\";\n\nexport interface MessageProps\n extends\n PropsWithChildren,\n PropsWithClassName,\n FlowComponentProps,\n PropsWithElementType<\"article\" | \"li\"> {\n /** Determines the color and orientation of the message. @default \"responder\" */\n type?: \"responder\" | \"sender\";\n color?: string;\n}\n\n/** @flr-generate all */\nexport const Message = flowComponent(\"Message\", (props) => {\n const {\n type = \"responder\",\n children,\n className,\n color,\n elementType = \"article\",\n } = props;\n\n const Element = elementType;\n\n const rootClassName = clsx(styles.message, styles[type], className);\n\n const style = color\n ? ({ \"--message-background\": color } as CSSProperties)\n : undefined;\n\n const formatter = useLocalizedStringFormatter(locales, \"Message\");\n\n const propsContext: PropsContext = {\n Content: {\n className: styles.content,\n children: dynamic((props) => {\n return (\n <>\n <div className={styles.tipBorder} aria-hidden />\n <div className={styles.tip} aria-hidden />\n {props.children}\n </>\n );\n }),\n },\n Header: {\n className: styles.header,\n Button: {\n className: styles.headerAction,\n size: \"s\",\n variant: \"plain\",\n color: \"secondary\",\n },\n ContextMenuTrigger: {\n Button: {\n className: styles.headerAction,\n size: \"s\",\n variant: \"plain\",\n color: \"secondary\",\n children: <IconContextMenu />,\n \"aria-label\": formatter.format(\"options\"),\n },\n },\n Text: { className: styles.date },\n Align: {\n wrapWith: <ClearPropsContext />,\n className: styles.user,\n Avatar: { Initials: { \"aria-hidden\": true } },\n },\n children: dynamic((props) => (\n <>\n <Aria.VisuallyHidden>\n {formatter.format(\"headerLabel\")}\n </Aria.VisuallyHidden>\n {props.children}\n </>\n )),\n },\n\n Button: {\n size: \"s\",\n className: styles.action,\n },\n ActionGroup: {\n preserveOrder: true,\n size: \"s\",\n className: styles.actionGroup,\n Button: {\n className: styles.actionGroupAction,\n },\n },\n };\n\n return (\n <PropsContextProvider props={propsContext}>\n <Element className={rootClassName} style={style}>\n {children}\n </Element>\n </PropsContextProvider>\n );\n});\n\nexport default Message;\n"],"names":["props"],"mappings":"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"}
1
+ {"version":3,"file":"Message.mjs","sources":["../../../../../../../src/components/Message/Message.tsx"],"sourcesContent":["import { type CSSProperties, type PropsWithChildren } from \"react\";\nimport clsx from \"clsx\";\nimport styles from \"./Message.module.scss\";\nimport type {\n PropsWithClassName,\n PropsWithElementType,\n} from \"@/lib/types/props\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport { IconContextMenu } from \"@/components/Icon/components/icons\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport ClearPropsContext from \"@/lib/propsContext/components/ClearPropsContext\";\nimport locales from \"./locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider\";\nimport * as Aria from \"react-aria-components\";\n\nexport interface MessageProps\n extends\n PropsWithChildren,\n PropsWithClassName,\n FlowComponentProps,\n PropsWithElementType<\"article\" | \"li\"> {\n /** Determines the color and orientation of the message. @default \"responder\" */\n type?: \"responder\" | \"sender\";\n color?: string;\n}\n\n/** @flr-generate all */\nexport const Message = flowComponent(\"Message\", (props) => {\n const {\n type = \"responder\",\n children,\n className,\n color,\n elementType = \"article\",\n } = props;\n\n const Element = elementType;\n\n const rootClassName = clsx(styles.message, styles[type], className);\n\n const style = color\n ? ({ \"--message-background\": color } as CSSProperties)\n : undefined;\n\n const formatter = useLocalizedStringFormatter(locales, \"Message\");\n\n const propsContext: PropsContext = {\n Content: {\n className: styles.content,\n children: dynamic((props) => {\n return (\n <>\n <div className={styles.tipBorder} aria-hidden />\n <div className={styles.tip} aria-hidden />\n {props.children}\n </>\n );\n }),\n },\n Header: {\n className: styles.header,\n Button: {\n className: styles.headerAction,\n size: \"s\",\n variant: \"plain\",\n color: \"secondary\",\n },\n ContextMenuTrigger: {\n Button: {\n className: styles.headerAction,\n size: \"s\",\n variant: \"plain\",\n color: \"secondary\",\n children: <IconContextMenu />,\n \"aria-label\": formatter.format(\"options\"),\n },\n },\n Text: { className: styles.date },\n Align: {\n wrapWith: <ClearPropsContext />,\n className: styles.user,\n Avatar: { Initials: { \"aria-hidden\": true } },\n },\n children: dynamic((props) => (\n <>\n <Aria.VisuallyHidden>\n {formatter.format(\"headerLabel\")}\n </Aria.VisuallyHidden>\n {props.children}\n </>\n )),\n },\n\n Button: {\n size: \"s\",\n className: styles.action,\n },\n ActionGroup: {\n preserveOrder: true,\n size: \"s\",\n className: styles.actionGroup,\n Button: {\n className: styles.actionGroupAction,\n },\n },\n };\n\n return (\n <PropsContextProvider props={propsContext}>\n <Element className={rootClassName} style={style}>\n {children}\n </Element>\n </PropsContextProvider>\n );\n});\n\nexport default Message;\n"],"names":["props"],"mappings":"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"}
@@ -4,6 +4,7 @@ import { jsx } from 'react/jsx-runtime';
4
4
  import clsx from 'clsx';
5
5
  import styles from './MessageThread.module.scss.mjs';
6
6
  import { dynamic } from '../../lib/propsContext/dynamicProps/dynamic.mjs';
7
+ import '../../lib/propsContext/propsContext.mjs';
7
8
  import { PropsContextProvider } from '../../lib/propsContext/components/PropsContextProvider.mjs';
8
9
  import { flowComponent } from '../../lib/componentFactory/flowComponent.mjs';
9
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"MessageThread.mjs","sources":["../../../../../../../src/components/MessageThread/MessageThread.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport clsx from \"clsx\";\nimport styles from \"./MessageThread.module.scss\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\n\nexport type MessageThreadProps = PropsWithChildren &\n PropsWithClassName &\n FlowComponentProps;\n\n/** @flr-generate all */\nexport const MessageThread = flowComponent(\"MessageThread\", (props) => {\n const { children, className } = props;\n\n const rootClassName = clsx(styles.messageThread, className);\n\n const propsContext: PropsContext = {\n Message: {\n className: dynamic((props) => {\n return clsx(\n props.className,\n styles.message,\n styles[props.type ?? \"responder\"],\n );\n }),\n elementType: \"li\",\n },\n };\n\n return (\n <PropsContextProvider props={propsContext}>\n <ul className={rootClassName}>{children}</ul>\n </PropsContextProvider>\n );\n});\n\nexport default MessageThread;\n"],"names":["props"],"mappings":";;;;;;;AAmBO,MAAM,aAAA,GAAgB,aAAA,CAAc,eAAA,EAAiB,CAAC,KAAA,KAAU;AACrE,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,KAAA;AAEhC,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,aAAA,EAAe,SAAS,CAAA;AAE1D,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,OAAA,EAAS;AAAA,MACP,SAAA,EAAW,OAAA,CAAQ,CAACA,MAAAA,KAAU;AAC5B,QAAA,OAAO,IAAA;AAAA,UACLA,MAAAA,CAAM,SAAA;AAAA,UACN,MAAA,CAAO,OAAA;AAAA,UACP,MAAA,CAAOA,MAAAA,CAAM,IAAA,IAAQ,WAAW;AAAA,SAClC;AAAA,MACF,CAAC,CAAA;AAAA,MACD,WAAA,EAAa;AAAA;AACf,GACF;AAEA,EAAA,uBACE,GAAA,CAAC,wBAAqB,KAAA,EAAO,YAAA,EAC3B,8BAAC,IAAA,EAAA,EAAG,SAAA,EAAW,aAAA,EAAgB,QAAA,EAAS,CAAA,EAC1C,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"MessageThread.mjs","sources":["../../../../../../../src/components/MessageThread/MessageThread.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport clsx from \"clsx\";\nimport styles from \"./MessageThread.module.scss\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\n\nexport type MessageThreadProps = PropsWithChildren &\n PropsWithClassName &\n FlowComponentProps;\n\n/** @flr-generate all */\nexport const MessageThread = flowComponent(\"MessageThread\", (props) => {\n const { children, className } = props;\n\n const rootClassName = clsx(styles.messageThread, className);\n\n const propsContext: PropsContext = {\n Message: {\n className: dynamic((props) => {\n return clsx(\n props.className,\n styles.message,\n styles[props.type ?? \"responder\"],\n );\n }),\n elementType: \"li\",\n },\n };\n\n return (\n <PropsContextProvider props={propsContext}>\n <ul className={rootClassName}>{children}</ul>\n </PropsContextProvider>\n );\n});\n\nexport default MessageThread;\n"],"names":["props"],"mappings":";;;;;;;;AAmBO,MAAM,aAAA,GAAgB,aAAA,CAAc,eAAA,EAAiB,CAAC,KAAA,KAAU;AACrE,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,KAAA;AAEhC,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,aAAA,EAAe,SAAS,CAAA;AAE1D,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,OAAA,EAAS;AAAA,MACP,SAAA,EAAW,OAAA,CAAQ,CAACA,MAAAA,KAAU;AAC5B,QAAA,OAAO,IAAA;AAAA,UACLA,MAAAA,CAAM,SAAA;AAAA,UACN,MAAA,CAAO,OAAA;AAAA,UACP,MAAA,CAAOA,MAAAA,CAAM,IAAA,IAAQ,WAAW;AAAA,SAClC;AAAA,MACF,CAAC,CAAA;AAAA,MACD,WAAA,EAAa;AAAA;AACf,GACF;AAEA,EAAA,uBACE,GAAA,CAAC,wBAAqB,KAAA,EAAO,YAAA,EAC3B,8BAAC,IAAA,EAAA,EAAG,SAAA,EAAW,aAAA,EAAgB,QAAA,EAAS,CAAA,EAC1C,CAAA;AAEJ,CAAC;;;;"}
@@ -5,6 +5,7 @@ import { useId, Suspense } from 'react';
5
5
  import styles from './Modal.module.scss.mjs';
6
6
  import clsx from 'clsx';
7
7
  import { dynamic } from '../../lib/propsContext/dynamicProps/dynamic.mjs';
8
+ import '../../lib/propsContext/propsContext.mjs';
8
9
  import { PropsContextProvider } from '../../lib/propsContext/components/PropsContextProvider.mjs';
9
10
  import { flowComponent } from '../../lib/componentFactory/flowComponent.mjs';
10
11
  import { Overlay } from '../Overlay/Overlay.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.mjs","sources":["../../../../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import { type PropsWithChildren, type ReactNode, Suspense, useId } from \"react\";\nimport styles from \"./Modal.module.scss\";\nimport clsx from \"clsx\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport { OverlayController } from \"@/lib/controller/overlay\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { Overlay, type OverlayProps } from \"@/components/Overlay/Overlay\";\nimport { Action } from \"@/components/Action\";\nimport { IconClose } from \"@/components/Icon/components/icons\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport ButtonView from \"@/views/ButtonView\";\nimport { OffCanvasSuspenseFallback } from \"@/components/Modal/components/OffCanvasSuspenseFallback\";\nimport { ConfirmUnsavedChangesModal } from \"@/components/Modal/components/ConfirmUnsavedChangesModal/ConfirmUnsavedChangesModal\";\nimport Wrap from \"@/components/Wrap\";\nimport { ClearPropsContext } from \"@/components/ClearPropsContext/ClearPropsContext\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider\";\nimport { useVirtualKeyboardVisible } from \"@/lib/hooks/dom/useVirtualKeyboardVisible\";\nimport locales from \"./locales/*.locale.json\";\n\ntype SupportedOverlayProps = Pick<\n OverlayProps,\n \"isOpen\" | \"isDefaultOpen\" | \"onOpen\" | \"onClose\" | \"onOpenChange\"\n>;\n\nexport interface ModalProps\n extends\n PropsWithChildren,\n FlowComponentProps,\n PropsWithClassName,\n SupportedOverlayProps {\n /** The size of the modal. @default \"s\" */\n size?: \"s\" | \"m\" | \"l\";\n /** Whether the modal should be displayed as an off canvas. */\n offCanvas?: boolean;\n /**\n * Whether the off canvas should be displayed on the right or left side of the\n * screen. @default \"right\"\n */\n offCanvasOrientation?: \"left\" | \"right\";\n /** An overlay controller to control the modal state. */\n controller?: OverlayController;\n /**\n * Accepts \"actionConfirm\" to use the modal as a confirmation modal for an\n * action.\n */\n slot?: string;\n /** Whether the modal can be closed by clicking outside of it. */\n isDismissable?: boolean;\n /** Whether the close button should be visible */\n showCloseButton?: boolean;\n /**\n * Whether closing the modal must be confirmed – use it to protect unsaved\n * changes.\n */\n confirmOnClose?: boolean;\n}\n\nexport const Modal = flowComponent(\"Modal\", (props) => {\n const {\n size = \"s\",\n offCanvas,\n controller,\n children,\n ref,\n className,\n offCanvasOrientation = \"right\",\n showCloseButton,\n ...overlayProps\n } = props;\n\n const stringFormatter = useLocalizedStringFormatter(locales, \"Modal\");\n\n // On mobile the header/footer are docked (sticky) while at rest, but flow\n // normally while the on-screen keyboard is open so the content gets the full\n // available space (see Modal.module.scss). #2423\n const keyboardVisible = useVirtualKeyboardVisible();\n\n const rootClassName = clsx(\n offCanvas ? styles.offCanvas : styles.modal,\n styles[`size-${size}`],\n offCanvasOrientation === \"left\" && styles[\"left\"],\n keyboardVisible && styles.keyboardVisible,\n className,\n );\n\n const generatedId = useId();\n\n const header = (children: ReactNode) => (\n <>\n {children}\n <Action closeModal={{ bypassConfirmation: true }}>\n <ButtonView\n variant=\"plain\"\n color=\"secondary\"\n aria-label={stringFormatter.format(\"close\")}\n className={clsx(\n styles.closeButton,\n showCloseButton === true\n ? styles.alwaysVisible\n : showCloseButton === false\n ? styles.alwaysHidden\n : undefined,\n )}\n >\n <IconClose />\n </ButtonView>\n </Action>\n </>\n );\n\n const nestedHeadingLevel = 3;\n\n const nestedHeadingProps: PropsContext = {\n Heading: { level: nestedHeadingLevel },\n Section: {\n Header: { Heading: { level: nestedHeadingLevel } },\n Heading: { level: nestedHeadingLevel },\n hideSeparator: true,\n },\n Header: { Heading: { level: nestedHeadingLevel } },\n };\n\n const propsContext: PropsContext = {\n Content: {\n ...nestedHeadingProps,\n className: styles.content,\n },\n ColumnLayout: {\n ...nestedHeadingProps,\n l: [2, 1],\n m: [1],\n className: styles.columnLayout,\n AccentBox: { className: styles.accentBox, backgroundColor: \"neutral\" },\n wrapWith: <ClearPropsContext />,\n },\n Heading: {\n className: styles.header,\n level: 2,\n children: dynamic((props) => header(props.children)),\n id: generatedId,\n },\n ActionGroup: {\n className: styles.actionGroup,\n spacing: \"m\",\n Action: {\n closeModal: dynamic((props) => {\n if (props.closeModal === undefined) {\n return;\n }\n if (props.closeModal === true) {\n return { bypassConfirmation: true };\n }\n return {\n bypassConfirmation: true,\n ...props.closeModal,\n };\n }),\n closeOverlay: dynamic((props) => {\n if (props.closeOverlay === undefined) {\n return;\n }\n if (\n props.closeOverlay instanceof OverlayController ||\n typeof props.closeOverlay === \"string\"\n ) {\n return {\n bypassConfirmation: true,\n overlay: props.closeOverlay,\n };\n }\n return {\n bypassConfirmation: true,\n ...props.closeOverlay,\n };\n }),\n },\n },\n };\n\n return (\n <Overlay\n className={rootClassName}\n controller={controller}\n ref={ref}\n aria-labelledby={generatedId}\n {...overlayProps}\n >\n <PropsContextProvider props={propsContext}>\n <Wrap if={offCanvas}>\n <Suspense fallback={<OffCanvasSuspenseFallback />}>\n {children}\n </Suspense>\n </Wrap>\n </PropsContextProvider>\n <ConfirmUnsavedChangesModal />\n </Overlay>\n );\n});\n\nexport default Modal;\n"],"names":["children","props"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.mjs","sources":["../../../../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import { type PropsWithChildren, type ReactNode, Suspense, useId } from \"react\";\nimport styles from \"./Modal.module.scss\";\nimport clsx from \"clsx\";\nimport {\n dynamic,\n type PropsContext,\n PropsContextProvider,\n} from \"@/lib/propsContext\";\nimport { OverlayController } from \"@/lib/controller/overlay\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { Overlay, type OverlayProps } from \"@/components/Overlay/Overlay\";\nimport { Action } from \"@/components/Action\";\nimport { IconClose } from \"@/components/Icon/components/icons\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport ButtonView from \"@/views/ButtonView\";\nimport { OffCanvasSuspenseFallback } from \"@/components/Modal/components/OffCanvasSuspenseFallback\";\nimport { ConfirmUnsavedChangesModal } from \"@/components/Modal/components/ConfirmUnsavedChangesModal/ConfirmUnsavedChangesModal\";\nimport Wrap from \"@/components/Wrap\";\nimport { ClearPropsContext } from \"@/components/ClearPropsContext/ClearPropsContext\";\nimport { useLocalizedStringFormatter } from \"@/components/TranslationProvider\";\nimport { useVirtualKeyboardVisible } from \"@/lib/hooks/dom/useVirtualKeyboardVisible\";\nimport locales from \"./locales/*.locale.json\";\n\ntype SupportedOverlayProps = Pick<\n OverlayProps,\n \"isOpen\" | \"isDefaultOpen\" | \"onOpen\" | \"onClose\" | \"onOpenChange\"\n>;\n\nexport interface ModalProps\n extends\n PropsWithChildren,\n FlowComponentProps,\n PropsWithClassName,\n SupportedOverlayProps {\n /** The size of the modal. @default \"s\" */\n size?: \"s\" | \"m\" | \"l\";\n /** Whether the modal should be displayed as an off canvas. */\n offCanvas?: boolean;\n /**\n * Whether the off canvas should be displayed on the right or left side of the\n * screen. @default \"right\"\n */\n offCanvasOrientation?: \"left\" | \"right\";\n /** An overlay controller to control the modal state. */\n controller?: OverlayController;\n /**\n * Accepts \"actionConfirm\" to use the modal as a confirmation modal for an\n * action.\n */\n slot?: string;\n /** Whether the modal can be closed by clicking outside of it. */\n isDismissable?: boolean;\n /** Whether the close button should be visible */\n showCloseButton?: boolean;\n /**\n * Whether closing the modal must be confirmed – use it to protect unsaved\n * changes.\n */\n confirmOnClose?: boolean;\n}\n\nexport const Modal = flowComponent(\"Modal\", (props) => {\n const {\n size = \"s\",\n offCanvas,\n controller,\n children,\n ref,\n className,\n offCanvasOrientation = \"right\",\n showCloseButton,\n ...overlayProps\n } = props;\n\n const stringFormatter = useLocalizedStringFormatter(locales, \"Modal\");\n\n // On mobile the header/footer are docked (sticky) while at rest, but flow\n // normally while the on-screen keyboard is open so the content gets the full\n // available space (see Modal.module.scss). #2423\n const keyboardVisible = useVirtualKeyboardVisible();\n\n const rootClassName = clsx(\n offCanvas ? styles.offCanvas : styles.modal,\n styles[`size-${size}`],\n offCanvasOrientation === \"left\" && styles[\"left\"],\n keyboardVisible && styles.keyboardVisible,\n className,\n );\n\n const generatedId = useId();\n\n const header = (children: ReactNode) => (\n <>\n {children}\n <Action closeModal={{ bypassConfirmation: true }}>\n <ButtonView\n variant=\"plain\"\n color=\"secondary\"\n aria-label={stringFormatter.format(\"close\")}\n className={clsx(\n styles.closeButton,\n showCloseButton === true\n ? styles.alwaysVisible\n : showCloseButton === false\n ? styles.alwaysHidden\n : undefined,\n )}\n >\n <IconClose />\n </ButtonView>\n </Action>\n </>\n );\n\n const nestedHeadingLevel = 3;\n\n const nestedHeadingProps: PropsContext = {\n Heading: { level: nestedHeadingLevel },\n Section: {\n Header: { Heading: { level: nestedHeadingLevel } },\n Heading: { level: nestedHeadingLevel },\n hideSeparator: true,\n },\n Header: { Heading: { level: nestedHeadingLevel } },\n };\n\n const propsContext: PropsContext = {\n Content: {\n ...nestedHeadingProps,\n className: styles.content,\n },\n ColumnLayout: {\n ...nestedHeadingProps,\n l: [2, 1],\n m: [1],\n className: styles.columnLayout,\n AccentBox: { className: styles.accentBox, backgroundColor: \"neutral\" },\n wrapWith: <ClearPropsContext />,\n },\n Heading: {\n className: styles.header,\n level: 2,\n children: dynamic((props) => header(props.children)),\n id: generatedId,\n },\n ActionGroup: {\n className: styles.actionGroup,\n spacing: \"m\",\n Action: {\n closeModal: dynamic((props) => {\n if (props.closeModal === undefined) {\n return;\n }\n if (props.closeModal === true) {\n return { bypassConfirmation: true };\n }\n return {\n bypassConfirmation: true,\n ...props.closeModal,\n };\n }),\n closeOverlay: dynamic((props) => {\n if (props.closeOverlay === undefined) {\n return;\n }\n if (\n props.closeOverlay instanceof OverlayController ||\n typeof props.closeOverlay === \"string\"\n ) {\n return {\n bypassConfirmation: true,\n overlay: props.closeOverlay,\n };\n }\n return {\n bypassConfirmation: true,\n ...props.closeOverlay,\n };\n }),\n },\n },\n };\n\n return (\n <Overlay\n className={rootClassName}\n controller={controller}\n ref={ref}\n aria-labelledby={generatedId}\n {...overlayProps}\n >\n <PropsContextProvider props={propsContext}>\n <Wrap if={offCanvas}>\n <Suspense fallback={<OffCanvasSuspenseFallback />}>\n {children}\n </Suspense>\n </Wrap>\n </PropsContextProvider>\n <ConfirmUnsavedChangesModal />\n </Overlay>\n );\n});\n\nexport default Modal;\n"],"names":["children","props"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
  import styles from './Navigation.module.scss.mjs';
5
5
  import clsx from 'clsx';
6
+ import '../../lib/propsContext/propsContext.mjs';
6
7
  import { PropsContextProvider } from '../../lib/propsContext/components/PropsContextProvider.mjs';
7
8
  import { flowComponent } from '../../lib/componentFactory/flowComponent.mjs';
8
9
  import { LinkListTunnelExit } from './components/LinkListTunnelExit/LinkListTunnelExit.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.mjs","sources":["../../../../../../../src/components/Navigation/Navigation.tsx"],"sourcesContent":["import type { ComponentProps, PropsWithChildren } from \"react\";\nimport styles from \"./Navigation.module.scss\";\nimport clsx from \"clsx\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport type { ComponentPropsContext } from \"@/lib/propsContext/types\";\nimport { LinkListTunnelExit } from \"@/components/Navigation/components/LinkListTunnelExit/LinkListTunnelExit\";\n\nexport interface NavigationProps\n extends\n PropsWithChildren<ComponentProps<\"nav\">>,\n PropsWithClassName,\n FlowComponentProps<HTMLElement> {}\n\n/** @flr-generate all */\nexport const Navigation = flowComponent(\"Navigation\", (props) => {\n const { className, children, ref, ...rest } = props;\n\n const rootClassName = clsx(styles.navigation, className);\n\n const linkPropsContext: ComponentPropsContext<\"Link\"> = {\n wrapWith: <li />,\n className: styles.item,\n unstyled: true,\n Icon: {\n className: styles.icon,\n size: \"m\",\n },\n Badge: { className: styles.badge },\n AlertBadge: { className: styles.badge },\n CounterBadge: { className: styles.badge },\n };\n\n return (\n <PropsContextProvider\n props={{\n Link: {\n ...linkPropsContext,\n tunnel: {\n id: \"links\",\n component: \"Navigation\",\n },\n },\n NavigationGroup: {\n Link: linkPropsContext,\n },\n }}\n >\n <nav className={rootClassName} role=\"navigation\" {...rest} ref={ref}>\n <LinkListTunnelExit id=\"links\" component=\"Navigation\" />\n {children}\n </nav>\n </PropsContextProvider>\n );\n});\n\nexport default Navigation;\n"],"names":[],"mappings":";;;;;;;AAmBO,MAAM,UAAA,GAAa,aAAA,CAAc,YAAA,EAAc,CAAC,KAAA,KAAU;AAC/D,EAAA,MAAM,EAAE,SAAA,EAAW,QAAA,EAAU,GAAA,EAAK,GAAG,MAAK,GAAI,KAAA;AAE9C,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,UAAA,EAAY,SAAS,CAAA;AAEvD,EAAA,MAAM,gBAAA,GAAkD;AAAA,IACtD,QAAA,sBAAW,IAAA,EAAA,EAAG,CAAA;AAAA,IACd,WAAW,MAAA,CAAO,IAAA;AAAA,IAClB,QAAA,EAAU,IAAA;AAAA,IACV,IAAA,EAAM;AAAA,MACJ,WAAW,MAAA,CAAO,IAAA;AAAA,MAClB,IAAA,EAAM;AAAA,KACR;AAAA,IACA,KAAA,EAAO,EAAE,SAAA,EAAW,MAAA,CAAO,KAAA,EAAM;AAAA,IACjC,UAAA,EAAY,EAAE,SAAA,EAAW,MAAA,CAAO,KAAA,EAAM;AAAA,IACtC,YAAA,EAAc,EAAE,SAAA,EAAW,MAAA,CAAO,KAAA;AAAM,GAC1C;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,IAAA,EAAM;AAAA,UACJ,GAAG,gBAAA;AAAA,UACH,MAAA,EAAQ;AAAA,YACN,EAAA,EAAI,OAAA;AAAA,YACJ,SAAA,EAAW;AAAA;AACb,SACF;AAAA,QACA,eAAA,EAAiB;AAAA,UACf,IAAA,EAAM;AAAA;AACR,OACF;AAAA,MAEA,QAAA,kBAAA,IAAA,CAAC,SAAI,SAAA,EAAW,aAAA,EAAe,MAAK,YAAA,EAAc,GAAG,MAAM,GAAA,EACzD,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,EAAA,EAAG,OAAA,EAAQ,SAAA,EAAU,YAAA,EAAa,CAAA;AAAA,QACrD;AAAA,OAAA,EACH;AAAA;AAAA,GACF;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"Navigation.mjs","sources":["../../../../../../../src/components/Navigation/Navigation.tsx"],"sourcesContent":["import type { ComponentProps, PropsWithChildren } from \"react\";\nimport styles from \"./Navigation.module.scss\";\nimport clsx from \"clsx\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport type { ComponentPropsContext } from \"@/lib/propsContext/types\";\nimport { LinkListTunnelExit } from \"@/components/Navigation/components/LinkListTunnelExit/LinkListTunnelExit\";\n\nexport interface NavigationProps\n extends\n PropsWithChildren<ComponentProps<\"nav\">>,\n PropsWithClassName,\n FlowComponentProps<HTMLElement> {}\n\n/** @flr-generate all */\nexport const Navigation = flowComponent(\"Navigation\", (props) => {\n const { className, children, ref, ...rest } = props;\n\n const rootClassName = clsx(styles.navigation, className);\n\n const linkPropsContext: ComponentPropsContext<\"Link\"> = {\n wrapWith: <li />,\n className: styles.item,\n unstyled: true,\n Icon: {\n className: styles.icon,\n size: \"m\",\n },\n Badge: { className: styles.badge },\n AlertBadge: { className: styles.badge },\n CounterBadge: { className: styles.badge },\n };\n\n return (\n <PropsContextProvider\n props={{\n Link: {\n ...linkPropsContext,\n tunnel: {\n id: \"links\",\n component: \"Navigation\",\n },\n },\n NavigationGroup: {\n Link: linkPropsContext,\n },\n }}\n >\n <nav className={rootClassName} role=\"navigation\" {...rest} ref={ref}>\n <LinkListTunnelExit id=\"links\" component=\"Navigation\" />\n {children}\n </nav>\n </PropsContextProvider>\n );\n});\n\nexport default Navigation;\n"],"names":[],"mappings":";;;;;;;;AAmBO,MAAM,UAAA,GAAa,aAAA,CAAc,YAAA,EAAc,CAAC,KAAA,KAAU;AAC/D,EAAA,MAAM,EAAE,SAAA,EAAW,QAAA,EAAU,GAAA,EAAK,GAAG,MAAK,GAAI,KAAA;AAE9C,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,UAAA,EAAY,SAAS,CAAA;AAEvD,EAAA,MAAM,gBAAA,GAAkD;AAAA,IACtD,QAAA,sBAAW,IAAA,EAAA,EAAG,CAAA;AAAA,IACd,WAAW,MAAA,CAAO,IAAA;AAAA,IAClB,QAAA,EAAU,IAAA;AAAA,IACV,IAAA,EAAM;AAAA,MACJ,WAAW,MAAA,CAAO,IAAA;AAAA,MAClB,IAAA,EAAM;AAAA,KACR;AAAA,IACA,KAAA,EAAO,EAAE,SAAA,EAAW,MAAA,CAAO,KAAA,EAAM;AAAA,IACjC,UAAA,EAAY,EAAE,SAAA,EAAW,MAAA,CAAO,KAAA,EAAM;AAAA,IACtC,YAAA,EAAc,EAAE,SAAA,EAAW,MAAA,CAAO,KAAA;AAAM,GAC1C;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,IAAA,EAAM;AAAA,UACJ,GAAG,gBAAA;AAAA,UACH,MAAA,EAAQ;AAAA,YACN,EAAA,EAAI,OAAA;AAAA,YACJ,SAAA,EAAW;AAAA;AACb,SACF;AAAA,QACA,eAAA,EAAiB;AAAA,UACf,IAAA,EAAM;AAAA;AACR,OACF;AAAA,MAEA,QAAA,kBAAA,IAAA,CAAC,SAAI,SAAA,EAAW,aAAA,EAAe,MAAK,YAAA,EAAc,GAAG,MAAM,GAAA,EACzD,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,EAAA,EAAG,OAAA,EAAQ,SAAA,EAAU,YAAA,EAAa,CAAA;AAAA,QACrD;AAAA,OAAA,EACH;AAAA;AAAA,GACF;AAEJ,CAAC;;;;"}
@@ -4,6 +4,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
4
4
  import { useId } from 'react';
5
5
  import clsx from 'clsx';
6
6
  import styles from './NavigationGroup.module.scss.mjs';
7
+ import '../../../../lib/propsContext/propsContext.mjs';
7
8
  import { PropsContextProvider } from '../../../../lib/propsContext/components/PropsContextProvider.mjs';
8
9
  import { Accordion } from '../../../Accordion/Accordion.mjs';
9
10
  import { Content } from '../../../Content/Content.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationGroup.mjs","sources":["../../../../../../../../../src/components/Navigation/components/NavigationGroup/NavigationGroup.tsx"],"sourcesContent":["import { type ComponentProps, type PropsWithChildren } from \"react\";\nimport { useId } from \"react\";\nimport clsx from \"clsx\";\nimport styles from \"./NavigationGroup.module.scss\";\nimport { type PropsContext, PropsContextProvider } from \"@/lib/propsContext\";\nimport { Accordion } from \"@/components/Accordion\";\nimport { Content } from \"@/components/Content\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport { LinkListTunnelExit } from \"@/components/Navigation/components/LinkListTunnelExit/LinkListTunnelExit\";\n\nexport interface NavigationGroupProps\n extends\n PropsWithChildren<ComponentProps<\"section\">>,\n FlowComponentProps<HTMLElement> {\n collapsable?: boolean;\n}\n\n/** @flr-generate all */\nexport const NavigationGroup = flowComponent(\"NavigationGroup\", (props) => {\n const {\n children,\n className,\n collapsable,\n \"aria-label\": ariaLabel,\n ...rest\n } = props;\n\n const rootClassName = clsx(\n styles.navigationGroup,\n collapsable && styles.collapsable,\n className,\n );\n\n const generatedId = useId();\n\n const propsContext: PropsContext = {\n Label: {\n id: ariaLabel ? undefined : generatedId,\n className: styles.label,\n },\n Link: {\n tunnel: {\n id: \"groupLinks\",\n component: \"NavigationGroup\",\n },\n },\n };\n\n const collapsableUi = (\n <Accordion defaultExpanded className={rootClassName}>\n {children}\n <Content>\n <LinkListTunnelExit id=\"groupLinks\" component=\"NavigationGroup\" />\n </Content>\n </Accordion>\n );\n\n const defaultUi = (\n <section\n aria-labelledby={ariaLabel ? undefined : generatedId}\n aria-label={ariaLabel}\n className={rootClassName}\n {...rest}\n >\n {children}\n <LinkListTunnelExit id=\"groupLinks\" component=\"NavigationGroup\" />\n </section>\n );\n\n return (\n <PropsContextProvider props={propsContext} dependencies={[generatedId]}>\n {collapsable ? collapsableUi : defaultUi}\n </PropsContextProvider>\n );\n});\n\nexport default NavigationGroup;\n"],"names":[],"mappings":";;;;;;;;;;AAqBO,MAAM,eAAA,GAAkB,aAAA,CAAc,iBAAA,EAAmB,CAAC,KAAA,KAAU;AACzE,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA,EAAc,SAAA;AAAA,IACd,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,aAAA,GAAgB,IAAA;AAAA,IACpB,MAAA,CAAO,eAAA;AAAA,IACP,eAAe,MAAA,CAAO,WAAA;AAAA,IACtB;AAAA,GACF;AAEA,EAAA,MAAM,cAAc,KAAA,EAAM;AAE1B,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,KAAA,EAAO;AAAA,MACL,EAAA,EAAI,YAAY,MAAA,GAAY,WAAA;AAAA,MAC5B,WAAW,MAAA,CAAO;AAAA,KACpB;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,MAAA,EAAQ;AAAA,QACN,EAAA,EAAI,YAAA;AAAA,QACJ,SAAA,EAAW;AAAA;AACb;AACF,GACF;AAEA,EAAA,MAAM,gCACJ,IAAA,CAAC,SAAA,EAAA,EAAU,eAAA,EAAe,IAAA,EAAC,WAAW,aAAA,EACnC,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,oBACD,GAAA,CAAC,WACC,QAAA,kBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,IAAG,YAAA,EAAa,SAAA,EAAU,mBAAkB,CAAA,EAClE;AAAA,GAAA,EACF,CAAA;AAGF,EAAA,MAAM,SAAA,mBACJ,IAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,iBAAA,EAAiB,YAAY,MAAA,GAAY,WAAA;AAAA,MACzC,YAAA,EAAY,SAAA;AAAA,MACZ,SAAA,EAAW,aAAA;AAAA,MACV,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAAC,kBAAA,EAAA,EAAmB,EAAA,EAAG,YAAA,EAAa,WAAU,iBAAA,EAAkB;AAAA;AAAA;AAAA,GAClE;AAGF,EAAA,uBACE,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAAc,YAAA,EAAc,CAAC,WAAW,CAAA,EAClE,QAAA,EAAA,WAAA,GAAc,aAAA,GAAgB,SAAA,EACjC,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"NavigationGroup.mjs","sources":["../../../../../../../../../src/components/Navigation/components/NavigationGroup/NavigationGroup.tsx"],"sourcesContent":["import { type ComponentProps, type PropsWithChildren } from \"react\";\nimport { useId } from \"react\";\nimport clsx from \"clsx\";\nimport styles from \"./NavigationGroup.module.scss\";\nimport { type PropsContext, PropsContextProvider } from \"@/lib/propsContext\";\nimport { Accordion } from \"@/components/Accordion\";\nimport { Content } from \"@/components/Content\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport { LinkListTunnelExit } from \"@/components/Navigation/components/LinkListTunnelExit/LinkListTunnelExit\";\n\nexport interface NavigationGroupProps\n extends\n PropsWithChildren<ComponentProps<\"section\">>,\n FlowComponentProps<HTMLElement> {\n collapsable?: boolean;\n}\n\n/** @flr-generate all */\nexport const NavigationGroup = flowComponent(\"NavigationGroup\", (props) => {\n const {\n children,\n className,\n collapsable,\n \"aria-label\": ariaLabel,\n ...rest\n } = props;\n\n const rootClassName = clsx(\n styles.navigationGroup,\n collapsable && styles.collapsable,\n className,\n );\n\n const generatedId = useId();\n\n const propsContext: PropsContext = {\n Label: {\n id: ariaLabel ? undefined : generatedId,\n className: styles.label,\n },\n Link: {\n tunnel: {\n id: \"groupLinks\",\n component: \"NavigationGroup\",\n },\n },\n };\n\n const collapsableUi = (\n <Accordion defaultExpanded className={rootClassName}>\n {children}\n <Content>\n <LinkListTunnelExit id=\"groupLinks\" component=\"NavigationGroup\" />\n </Content>\n </Accordion>\n );\n\n const defaultUi = (\n <section\n aria-labelledby={ariaLabel ? undefined : generatedId}\n aria-label={ariaLabel}\n className={rootClassName}\n {...rest}\n >\n {children}\n <LinkListTunnelExit id=\"groupLinks\" component=\"NavigationGroup\" />\n </section>\n );\n\n return (\n <PropsContextProvider props={propsContext} dependencies={[generatedId]}>\n {collapsable ? collapsableUi : defaultUi}\n </PropsContextProvider>\n );\n});\n\nexport default NavigationGroup;\n"],"names":[],"mappings":";;;;;;;;;;;AAqBO,MAAM,eAAA,GAAkB,aAAA,CAAc,iBAAA,EAAmB,CAAC,KAAA,KAAU;AACzE,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA,EAAc,SAAA;AAAA,IACd,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,aAAA,GAAgB,IAAA;AAAA,IACpB,MAAA,CAAO,eAAA;AAAA,IACP,eAAe,MAAA,CAAO,WAAA;AAAA,IACtB;AAAA,GACF;AAEA,EAAA,MAAM,cAAc,KAAA,EAAM;AAE1B,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,KAAA,EAAO;AAAA,MACL,EAAA,EAAI,YAAY,MAAA,GAAY,WAAA;AAAA,MAC5B,WAAW,MAAA,CAAO;AAAA,KACpB;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,MAAA,EAAQ;AAAA,QACN,EAAA,EAAI,YAAA;AAAA,QACJ,SAAA,EAAW;AAAA;AACb;AACF,GACF;AAEA,EAAA,MAAM,gCACJ,IAAA,CAAC,SAAA,EAAA,EAAU,eAAA,EAAe,IAAA,EAAC,WAAW,aAAA,EACnC,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,oBACD,GAAA,CAAC,WACC,QAAA,kBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,IAAG,YAAA,EAAa,SAAA,EAAU,mBAAkB,CAAA,EAClE;AAAA,GAAA,EACF,CAAA;AAGF,EAAA,MAAM,SAAA,mBACJ,IAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,iBAAA,EAAiB,YAAY,MAAA,GAAY,WAAA;AAAA,MACzC,YAAA,EAAY,SAAA;AAAA,MACZ,SAAA,EAAW,aAAA;AAAA,MACV,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAAC,kBAAA,EAAA,EAAmB,EAAA,EAAG,YAAA,EAAa,WAAU,iBAAA,EAAkB;AAAA;AAAA;AAAA,GAClE;AAGF,EAAA,uBACE,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAAc,YAAA,EAAc,CAAC,WAAW,CAAA,EAClE,QAAA,EAAA,WAAA,GAAc,aAAA,GAAgB,SAAA,EACjC,CAAA;AAEJ,CAAC;;;;"}
@@ -6,6 +6,7 @@ import { Button } from '../Button/Button.mjs';
6
6
  import { IconClose } from '../Icon/components/icons/IconClose.mjs';
7
7
  import { Link } from '../Link/Link.mjs';
8
8
  import { dynamic } from '../../lib/propsContext/dynamicProps/dynamic.mjs';
9
+ import '../../lib/propsContext/propsContext.mjs';
9
10
  import { PropsContextProvider } from '../../lib/propsContext/components/PropsContextProvider.mjs';
10
11
  import clsx from 'clsx';
11
12
  import styles from './Notification.module.scss.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.mjs","sources":["../../../../../../../src/components/Notification/Notification.tsx"],"sourcesContent":["import { AlertIcon } from \"@/components/AlertIcon\";\nimport { Button } from \"@/components/Button\";\nimport { IconClose } from \"@/components/Icon/components/icons\";\nimport { Link } from \"@/components/Link\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { dynamic, PropsContextProvider } from \"@/lib/propsContext\";\nimport type { PropsWithStatus } from \"@/lib/types/props\";\nimport clsx from \"clsx\";\nimport type { ComponentProps, FC, PropsWithChildren } from \"react\";\nimport styles from \"./Notification.module.scss\";\nimport locales from \"./locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\n\nexport interface NotificationProps\n extends PropsWithChildren<ComponentProps<\"div\">>, PropsWithStatus {\n /** A link that is triggered when clicking the notification. */\n href?: string;\n /** Whether the notification should disappear automatically after some time. */\n autoClose?: boolean;\n /** Handler that is called when the notification is clicked. */\n onClick?: () => void;\n /**\n * Handler that is called when the close button of the notification is\n * clicked.\n */\n onClose?: () => void;\n}\n\n/** @flr-generate all */\nexport const Notification: FC<NotificationProps> = (props) => {\n const {\n children,\n className,\n status = \"info\",\n role = \"alert\",\n href,\n onClick,\n onClose,\n autoClose: ignoredAutoClose,\n ...rest\n } = props;\n\n const rootClassName = clsx(\n styles.notification,\n styles[status],\n (onClick || onClose || href) && styles.hasLink,\n className,\n );\n\n const stringFormatter = useLocalizedStringFormatter(locales);\n\n const propsContext: PropsContext = {\n Heading: {\n className: styles.heading,\n level: 4,\n children: dynamic((props) => (\n <>\n <AlertIcon status={status} className={styles.icon} />\n {props.children}\n </>\n )),\n },\n Text: {\n className: styles.text,\n },\n };\n\n const closeButton = onClose && (\n <Button\n size=\"s\"\n className={styles.close}\n variant=\"plain\"\n color=\"secondary\"\n onPress={onClose}\n aria-label={stringFormatter.format(\"notification.close\")}\n >\n <IconClose />\n </Button>\n );\n\n return (\n <div\n {...rest}\n className={rootClassName}\n role={role}\n // See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useInteractOutside.ts#L126C31-L126C58\n data-react-aria-top-layer\n >\n <Link unstyled href={href} className={styles.link} onPress={onClick}>\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </Link>\n {closeButton}\n </div>\n );\n};\n\nexport default Notification;\n"],"names":["props"],"mappings":";;;;;;;;;;;;AA6BO,MAAM,YAAA,GAAsC,CAAC,KAAA,KAAU;AAC5D,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA,GAAS,MAAA;AAAA,IACT,IAAA,GAAO,OAAA;AAAA,IACP,IAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA,EAAW,gBAAA;AAAA,IACX,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,aAAA,GAAgB,IAAA;AAAA,IACpB,MAAA,CAAO,YAAA;AAAA,IACP,OAAO,MAAM,CAAA;AAAA,IAAA,CACZ,OAAA,IAAW,OAAA,IAAW,IAAA,KAAS,MAAA,CAAO,OAAA;AAAA,IACvC;AAAA,GACF;AAEA,EAAA,MAAM,eAAA,GAAkB,4BAA4B,OAAO,CAAA;AAE3D,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,OAAA,EAAS;AAAA,MACP,WAAW,MAAA,CAAO,OAAA;AAAA,MAClB,KAAA,EAAO,CAAA;AAAA,MACP,QAAA,EAAU,OAAA,CAAQ,CAACA,MAAAA,qBACjB,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,MAAA,EAAgB,SAAA,EAAW,MAAA,CAAO,IAAA,EAAM,CAAA;AAAA,QAClDA,MAAAA,CAAM;AAAA,OAAA,EACT,CACD;AAAA,KACH;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,WAAW,MAAA,CAAO;AAAA;AACpB,GACF;AAEA,EAAA,MAAM,cAAc,OAAA,oBAClB,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,GAAA;AAAA,MACL,WAAW,MAAA,CAAO,KAAA;AAAA,MAClB,OAAA,EAAQ,OAAA;AAAA,MACR,KAAA,EAAM,WAAA;AAAA,MACN,OAAA,EAAS,OAAA;AAAA,MACT,YAAA,EAAY,eAAA,CAAgB,MAAA,CAAO,oBAAoB,CAAA;AAAA,MAEvD,8BAAC,SAAA,EAAA,EAAU;AAAA;AAAA,GACb;AAGF,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,aAAA;AAAA,MACX,IAAA;AAAA,MAEA,2BAAA,EAAyB,IAAA;AAAA,MAEzB,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,QAAA,EAAQ,IAAA,EAAC,IAAA,EAAY,WAAW,MAAA,CAAO,IAAA,EAAM,OAAA,EAAS,OAAA,EAC1D,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC1B,UACH,CAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;;;;"}
1
+ {"version":3,"file":"Notification.mjs","sources":["../../../../../../../src/components/Notification/Notification.tsx"],"sourcesContent":["import { AlertIcon } from \"@/components/AlertIcon\";\nimport { Button } from \"@/components/Button\";\nimport { IconClose } from \"@/components/Icon/components/icons\";\nimport { Link } from \"@/components/Link\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { dynamic, PropsContextProvider } from \"@/lib/propsContext\";\nimport type { PropsWithStatus } from \"@/lib/types/props\";\nimport clsx from \"clsx\";\nimport type { ComponentProps, FC, PropsWithChildren } from \"react\";\nimport styles from \"./Notification.module.scss\";\nimport locales from \"./locales/*.locale.json\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\n\nexport interface NotificationProps\n extends PropsWithChildren<ComponentProps<\"div\">>, PropsWithStatus {\n /** A link that is triggered when clicking the notification. */\n href?: string;\n /** Whether the notification should disappear automatically after some time. */\n autoClose?: boolean;\n /** Handler that is called when the notification is clicked. */\n onClick?: () => void;\n /**\n * Handler that is called when the close button of the notification is\n * clicked.\n */\n onClose?: () => void;\n}\n\n/** @flr-generate all */\nexport const Notification: FC<NotificationProps> = (props) => {\n const {\n children,\n className,\n status = \"info\",\n role = \"alert\",\n href,\n onClick,\n onClose,\n autoClose: ignoredAutoClose,\n ...rest\n } = props;\n\n const rootClassName = clsx(\n styles.notification,\n styles[status],\n (onClick || onClose || href) && styles.hasLink,\n className,\n );\n\n const stringFormatter = useLocalizedStringFormatter(locales);\n\n const propsContext: PropsContext = {\n Heading: {\n className: styles.heading,\n level: 4,\n children: dynamic((props) => (\n <>\n <AlertIcon status={status} className={styles.icon} />\n {props.children}\n </>\n )),\n },\n Text: {\n className: styles.text,\n },\n };\n\n const closeButton = onClose && (\n <Button\n size=\"s\"\n className={styles.close}\n variant=\"plain\"\n color=\"secondary\"\n onPress={onClose}\n aria-label={stringFormatter.format(\"notification.close\")}\n >\n <IconClose />\n </Button>\n );\n\n return (\n <div\n {...rest}\n className={rootClassName}\n role={role}\n // See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useInteractOutside.ts#L126C31-L126C58\n data-react-aria-top-layer\n >\n <Link unstyled href={href} className={styles.link} onPress={onClick}>\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </Link>\n {closeButton}\n </div>\n );\n};\n\nexport default Notification;\n"],"names":["props"],"mappings":";;;;;;;;;;;;;AA6BO,MAAM,YAAA,GAAsC,CAAC,KAAA,KAAU;AAC5D,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA,GAAS,MAAA;AAAA,IACT,IAAA,GAAO,OAAA;AAAA,IACP,IAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA,EAAW,gBAAA;AAAA,IACX,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,aAAA,GAAgB,IAAA;AAAA,IACpB,MAAA,CAAO,YAAA;AAAA,IACP,OAAO,MAAM,CAAA;AAAA,IAAA,CACZ,OAAA,IAAW,OAAA,IAAW,IAAA,KAAS,MAAA,CAAO,OAAA;AAAA,IACvC;AAAA,GACF;AAEA,EAAA,MAAM,eAAA,GAAkB,4BAA4B,OAAO,CAAA;AAE3D,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,OAAA,EAAS;AAAA,MACP,WAAW,MAAA,CAAO,OAAA;AAAA,MAClB,KAAA,EAAO,CAAA;AAAA,MACP,QAAA,EAAU,OAAA,CAAQ,CAACA,MAAAA,qBACjB,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,MAAA,EAAgB,SAAA,EAAW,MAAA,CAAO,IAAA,EAAM,CAAA;AAAA,QAClDA,MAAAA,CAAM;AAAA,OAAA,EACT,CACD;AAAA,KACH;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,WAAW,MAAA,CAAO;AAAA;AACpB,GACF;AAEA,EAAA,MAAM,cAAc,OAAA,oBAClB,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,GAAA;AAAA,MACL,WAAW,MAAA,CAAO,KAAA;AAAA,MAClB,OAAA,EAAQ,OAAA;AAAA,MACR,KAAA,EAAM,WAAA;AAAA,MACN,OAAA,EAAS,OAAA;AAAA,MACT,YAAA,EAAY,eAAA,CAAgB,MAAA,CAAO,oBAAoB,CAAA;AAAA,MAEvD,8BAAC,SAAA,EAAA,EAAU;AAAA;AAAA,GACb;AAGF,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,aAAA;AAAA,MACX,IAAA;AAAA,MAEA,2BAAA,EAAyB,IAAA;AAAA,MAEzB,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,QAAA,EAAQ,IAAA,EAAC,IAAA,EAAY,WAAW,MAAA,CAAO,IAAA,EAAM,OAAA,EAAS,OAAA,EAC1D,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC1B,UACH,CAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;;;;"}
@@ -6,6 +6,7 @@ import * as Aria from 'react-aria-components';
6
6
  import formFieldStyles from '../FormField/FormField.module.scss.mjs';
7
7
  import styles from './NumberField.module.scss.mjs';
8
8
  import clsx from 'clsx';
9
+ import '../../lib/propsContext/propsContext.mjs';
9
10
  import { PropsContextProvider } from '../../lib/propsContext/components/PropsContextProvider.mjs';
10
11
  import { Button } from '../Button/Button.mjs';
11
12
  import { IconChevronDown } from '../Icon/components/icons/IconChevronDown.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"NumberField.mjs","sources":["../../../../../../../src/components/NumberField/NumberField.tsx"],"sourcesContent":["import { type PropsWithChildren } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport formFieldStyles from \"@/components/FormField/FormField.module.scss\";\nimport styles from \"./NumberField.module.scss\";\nimport clsx from \"clsx\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport { Button } from \"@/components/Button\";\nimport {\n IconChevronDown,\n IconChevronUp,\n IconMinus,\n IconPlus,\n} from \"@/components/Icon/components/icons\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { useFieldComponent } from \"@/lib/hooks/useFieldComponent\";\nimport { useControlledHostValueProps } from \"@/lib/remote/useControlledHostValueProps\";\n\nexport interface NumberFieldProps\n extends\n PropsWithChildren<Omit<Aria.NumberFieldProps, \"children\">>,\n FlowComponentProps<HTMLInputElement> {}\n\n/** @flr-generate all */\nexport const NumberField = flowComponent(\"NumberField\", (props) => {\n const {\n children,\n className,\n isWheelDisabled = true,\n ref,\n ...rest\n } = useControlledHostValueProps(props);\n\n const {\n FieldErrorView,\n FieldErrorCaptureContext,\n fieldProps,\n fieldPropsContext,\n } = useFieldComponent(props, \"NumberField\");\n\n const rootClassName = clsx(formFieldStyles.formField, className);\n\n return (\n <Aria.NumberField\n {...rest}\n isWheelDisabled={isWheelDisabled}\n className={clsx(rootClassName, fieldProps.className)}\n >\n <PropsContextProvider props={fieldPropsContext}>\n <FieldErrorCaptureContext>{children}</FieldErrorCaptureContext>\n <FieldErrorView />\n </PropsContextProvider>\n <Aria.Group className={styles.group}>\n <Button\n ariaSlot=\"decrement\"\n className={styles.decrementButton}\n size=\"s\"\n variant=\"plain\"\n color=\"secondary\"\n >\n <IconChevronDown />\n <IconMinus className={styles.coarsePointerIcon} />\n </Button>\n <Aria.Input className={styles.input} ref={ref} />\n <Button\n ariaSlot=\"increment\"\n className={styles.incrementButton}\n size=\"s\"\n variant=\"plain\"\n color=\"secondary\"\n >\n <IconChevronUp />\n <IconPlus className={styles.coarsePointerIcon} />\n </Button>\n </Aria.Group>\n </Aria.NumberField>\n );\n});\n\nexport default NumberField;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAwBO,MAAM,WAAA,GAAc,aAAA,CAAc,aAAA,EAAe,CAAC,KAAA,KAAU;AACjE,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,eAAA,GAAkB,IAAA;AAAA,IAClB,GAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,4BAA4B,KAAK,CAAA;AAErC,EAAA,MAAM;AAAA,IACJ,cAAA;AAAA,IACA,wBAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF,GAAI,iBAAA,CAAkB,KAAA,EAAO,aAAa,CAAA;AAE1C,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,eAAA,CAAgB,SAAA,EAAW,SAAS,CAAA;AAE/D,EAAA,uBACE,IAAA;AAAA,IAAC,IAAA,CAAK,WAAA;AAAA,IAAL;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,eAAA;AAAA,MACA,SAAA,EAAW,IAAA,CAAK,aAAA,EAAe,UAAA,CAAW,SAAS,CAAA;AAAA,MAEnD,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,oBAAA,EAAA,EAAqB,OAAO,iBAAA,EAC3B,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,4BAA0B,QAAA,EAAS,CAAA;AAAA,8BACnC,cAAA,EAAA,EAAe;AAAA,SAAA,EAClB,CAAA;AAAA,6BACC,IAAA,CAAK,KAAA,EAAL,EAAW,SAAA,EAAW,OAAO,KAAA,EAC5B,QAAA,EAAA;AAAA,0BAAA,IAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,QAAA,EAAS,WAAA;AAAA,cACT,WAAW,MAAA,CAAO,eAAA;AAAA,cAClB,IAAA,EAAK,GAAA;AAAA,cACL,OAAA,EAAQ,OAAA;AAAA,cACR,KAAA,EAAM,WAAA;AAAA,cAEN,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,CAAA;AAAA,gCACjB,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAW,MAAA,CAAO,iBAAA,EAAmB;AAAA;AAAA;AAAA,WAClD;AAAA,8BACC,IAAA,CAAK,KAAA,EAAL,EAAW,SAAA,EAAW,MAAA,CAAO,OAAO,GAAA,EAAU,CAAA;AAAA,0BAC/C,IAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,QAAA,EAAS,WAAA;AAAA,cACT,WAAW,MAAA,CAAO,eAAA;AAAA,cAClB,IAAA,EAAK,GAAA;AAAA,cACL,OAAA,EAAQ,OAAA;AAAA,cACR,KAAA,EAAM,WAAA;AAAA,cAEN,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,aAAA,EAAA,EAAc,CAAA;AAAA,gCACf,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAW,MAAA,CAAO,iBAAA,EAAmB;AAAA;AAAA;AAAA;AACjD,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"NumberField.mjs","sources":["../../../../../../../src/components/NumberField/NumberField.tsx"],"sourcesContent":["import { type PropsWithChildren } from \"react\";\nimport * as Aria from \"react-aria-components\";\nimport formFieldStyles from \"@/components/FormField/FormField.module.scss\";\nimport styles from \"./NumberField.module.scss\";\nimport clsx from \"clsx\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport { Button } from \"@/components/Button\";\nimport {\n IconChevronDown,\n IconChevronUp,\n IconMinus,\n IconPlus,\n} from \"@/components/Icon/components/icons\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { useFieldComponent } from \"@/lib/hooks/useFieldComponent\";\nimport { useControlledHostValueProps } from \"@/lib/remote/useControlledHostValueProps\";\n\nexport interface NumberFieldProps\n extends\n PropsWithChildren<Omit<Aria.NumberFieldProps, \"children\">>,\n FlowComponentProps<HTMLInputElement> {}\n\n/** @flr-generate all */\nexport const NumberField = flowComponent(\"NumberField\", (props) => {\n const {\n children,\n className,\n isWheelDisabled = true,\n ref,\n ...rest\n } = useControlledHostValueProps(props);\n\n const {\n FieldErrorView,\n FieldErrorCaptureContext,\n fieldProps,\n fieldPropsContext,\n } = useFieldComponent(props, \"NumberField\");\n\n const rootClassName = clsx(formFieldStyles.formField, className);\n\n return (\n <Aria.NumberField\n {...rest}\n isWheelDisabled={isWheelDisabled}\n className={clsx(rootClassName, fieldProps.className)}\n >\n <PropsContextProvider props={fieldPropsContext}>\n <FieldErrorCaptureContext>{children}</FieldErrorCaptureContext>\n <FieldErrorView />\n </PropsContextProvider>\n <Aria.Group className={styles.group}>\n <Button\n ariaSlot=\"decrement\"\n className={styles.decrementButton}\n size=\"s\"\n variant=\"plain\"\n color=\"secondary\"\n >\n <IconChevronDown />\n <IconMinus className={styles.coarsePointerIcon} />\n </Button>\n <Aria.Input className={styles.input} ref={ref} />\n <Button\n ariaSlot=\"increment\"\n className={styles.incrementButton}\n size=\"s\"\n variant=\"plain\"\n color=\"secondary\"\n >\n <IconChevronUp />\n <IconPlus className={styles.coarsePointerIcon} />\n </Button>\n </Aria.Group>\n </Aria.NumberField>\n );\n});\n\nexport default NumberField;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAwBO,MAAM,WAAA,GAAc,aAAA,CAAc,aAAA,EAAe,CAAC,KAAA,KAAU;AACjE,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,eAAA,GAAkB,IAAA;AAAA,IAClB,GAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,4BAA4B,KAAK,CAAA;AAErC,EAAA,MAAM;AAAA,IACJ,cAAA;AAAA,IACA,wBAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF,GAAI,iBAAA,CAAkB,KAAA,EAAO,aAAa,CAAA;AAE1C,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,eAAA,CAAgB,SAAA,EAAW,SAAS,CAAA;AAE/D,EAAA,uBACE,IAAA;AAAA,IAAC,IAAA,CAAK,WAAA;AAAA,IAAL;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,eAAA;AAAA,MACA,SAAA,EAAW,IAAA,CAAK,aAAA,EAAe,UAAA,CAAW,SAAS,CAAA;AAAA,MAEnD,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,oBAAA,EAAA,EAAqB,OAAO,iBAAA,EAC3B,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,4BAA0B,QAAA,EAAS,CAAA;AAAA,8BACnC,cAAA,EAAA,EAAe;AAAA,SAAA,EAClB,CAAA;AAAA,6BACC,IAAA,CAAK,KAAA,EAAL,EAAW,SAAA,EAAW,OAAO,KAAA,EAC5B,QAAA,EAAA;AAAA,0BAAA,IAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,QAAA,EAAS,WAAA;AAAA,cACT,WAAW,MAAA,CAAO,eAAA;AAAA,cAClB,IAAA,EAAK,GAAA;AAAA,cACL,OAAA,EAAQ,OAAA;AAAA,cACR,KAAA,EAAM,WAAA;AAAA,cAEN,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,CAAA;AAAA,gCACjB,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAW,MAAA,CAAO,iBAAA,EAAmB;AAAA;AAAA;AAAA,WAClD;AAAA,8BACC,IAAA,CAAK,KAAA,EAAL,EAAW,SAAA,EAAW,MAAA,CAAO,OAAO,GAAA,EAAU,CAAA;AAAA,0BAC/C,IAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,QAAA,EAAS,WAAA;AAAA,cACT,WAAW,MAAA,CAAO,eAAA;AAAA,cAClB,IAAA,EAAK,GAAA;AAAA,cACL,OAAA,EAAQ,OAAA;AAAA,cACR,KAAA,EAAM,WAAA;AAAA,cAEN,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,aAAA,EAAA,EAAc,CAAA;AAAA,gCACf,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAW,MAAA,CAAO,iBAAA,EAAmB;AAAA;AAAA;AAAA;AACjD,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ,CAAC;;;;"}