@mittwald/flow-react-components 0.2.0-alpha.605 → 0.2.0-alpha.607
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.
- package/CHANGELOG.md +26 -0
- package/dist/assets/doc-properties.json +33844 -33825
- package/dist/css/all.css +1 -1
- package/dist/js/components/src/components/Badge/Badge.mjs +1 -1
- package/dist/js/components/src/components/Badge/Badge.mjs.map +1 -1
- package/dist/js/components/src/components/BrowserOnly/BrowserOnly.mjs +0 -7
- package/dist/js/components/src/components/BrowserOnly/BrowserOnly.mjs.map +1 -1
- package/dist/js/components/src/components/Button/Button.mjs +2 -1
- package/dist/js/components/src/components/Button/Button.mjs.map +1 -1
- package/dist/js/components/src/components/CartesianChart/CartesianChart.mjs +23 -17
- package/dist/js/components/src/components/CartesianChart/CartesianChart.mjs.map +1 -1
- package/dist/js/components/src/components/DonutChart/components/DonutChartValue.mjs +3 -3
- package/dist/js/components/src/components/DonutChart/components/DonutChartValue.mjs.map +1 -1
- package/dist/js/components/src/components/FileCard/FileCard.mjs +1 -1
- package/dist/js/components/src/components/FileCard/FileCard.mjs.map +1 -1
- package/dist/js/components/src/components/Flex/Flex.mjs +3 -1
- package/dist/js/components/src/components/Flex/Flex.mjs.map +1 -1
- package/dist/js/components/src/components/Initials/Initials.mjs +2 -2
- package/dist/js/components/src/components/Initials/Initials.mjs.map +1 -1
- package/dist/js/components/src/components/LabeledValue/LabeledValue.mjs +0 -1
- package/dist/js/components/src/components/LabeledValue/LabeledValue.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs +0 -102
- package/dist/js/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/SearchField/SearchField.mjs +0 -6
- package/dist/js/components/src/components/List/components/Header/components/SearchField/SearchField.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/ListItemView/ListItemView.mjs +1 -0
- package/dist/js/components/src/components/List/components/ListItemView/ListItemView.mjs.map +1 -1
- package/dist/js/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs +1 -110
- package/dist/js/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs.map +1 -1
- package/dist/js/components/src/components/Markdown/Markdown.mjs +1 -1
- package/dist/js/components/src/components/Markdown/Markdown.mjs.map +1 -1
- package/dist/js/components/src/components/MarkdownEditor/MarkdownEditor.mjs +38 -48
- package/dist/js/components/src/components/MarkdownEditor/MarkdownEditor.mjs.map +1 -1
- package/dist/js/components/src/components/Message/Message.mjs +3 -2
- package/dist/js/components/src/components/Message/Message.mjs.map +1 -1
- package/dist/js/components/src/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.mjs +1 -109
- package/dist/js/components/src/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.mjs.map +1 -1
- package/dist/js/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.mjs +0 -1
- package/dist/js/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.mjs.map +1 -1
- package/dist/js/components/src/components/NotificationProvider/NotificationContainer/NotificationContainer.mjs +3 -3
- package/dist/js/components/src/components/NotificationProvider/NotificationContainer/NotificationContainer.mjs.map +1 -1
- package/dist/js/components/src/components/Overlay/Overlay.mjs +1 -1
- package/dist/js/components/src/components/Overlay/Overlay.mjs.map +1 -1
- package/dist/js/components/src/components/Overlay/components/OverlaySuspenseFallback.mjs +0 -109
- package/dist/js/components/src/components/Overlay/components/OverlaySuspenseFallback.mjs.map +1 -1
- package/dist/js/components/src/components/OverlayTrigger/components/MenuTrigger/MenuTrigger.mjs +0 -4
- package/dist/js/components/src/components/OverlayTrigger/components/MenuTrigger/MenuTrigger.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/PasswordCreationField.mjs +1 -3
- package/dist/js/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map +1 -1
- package/dist/js/components/src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.mjs +1 -0
- package/dist/js/components/src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.mjs.map +1 -1
- package/dist/js/components/src/components/Slider/Slider.mjs +10 -5
- package/dist/js/components/src/components/Slider/Slider.mjs.map +1 -1
- package/dist/js/components/src/components/Tooltip/Tooltip.mjs +0 -109
- package/dist/js/components/src/components/Tooltip/Tooltip.mjs.map +1 -1
- package/dist/js/components/src/lib/hooks/useFieldError.mjs +0 -102
- package/dist/js/components/src/lib/hooks/useFieldError.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/mergePropsContext.mjs +0 -10
- package/dist/js/components/src/lib/propsContext/mergePropsContext.mjs.map +1 -1
- package/dist/js/components/src/lib/propsContext/nestedPropsContext/lib.mjs +0 -12
- package/dist/js/components/src/lib/propsContext/nestedPropsContext/lib.mjs.map +1 -1
- package/dist/js/components/src/lib/react/remote.mjs +3 -0
- package/dist/js/components/src/lib/react/remote.mjs.map +1 -1
- package/dist/js/flr-universal.mjs +3 -4
- package/dist/js/flr-universal.mjs.map +1 -1
- package/dist/types/components/AccentBox/stories/Default.stories.d.ts.map +1 -1
- package/dist/types/components/Button/Button.d.ts.map +1 -1
- package/dist/types/components/CartesianChart/CartesianChart.d.ts.map +1 -1
- package/dist/types/components/DonutChart/components/DonutChartValue.d.ts.map +1 -1
- package/dist/types/components/Flex/Flex.d.ts.map +1 -1
- package/dist/types/components/Initials/Initials.d.ts.map +1 -1
- package/dist/types/components/LabeledValue/LabeledValue.d.ts.map +1 -1
- package/dist/types/components/List/components/ListItemView/ListItemView.d.ts.map +1 -1
- package/dist/types/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/components/Message/Message.d.ts +1 -0
- package/dist/types/components/Message/Message.d.ts.map +1 -1
- package/dist/types/components/Message/stories/Default.stories.d.ts +2 -0
- package/dist/types/components/Message/stories/Default.stories.d.ts.map +1 -1
- package/dist/types/components/Navigation/components/NavigationGroup/NavigationGroup.d.ts.map +1 -1
- package/dist/types/components/Notification/stories/Default.stories.d.ts.map +1 -1
- package/dist/types/components/Notification/stories/Variants.stories.d.ts.map +1 -1
- package/dist/types/components/NotificationProvider/NotificationContainer/NotificationContainer.d.ts.map +1 -1
- package/dist/types/components/Overlay/components/OverlaySuspenseFallback.d.ts +1 -1
- package/dist/types/components/Overlay/components/OverlaySuspenseFallback.d.ts.map +1 -1
- package/dist/types/components/OverlayTrigger/components/MenuTrigger/MenuTrigger.d.ts +1 -1
- package/dist/types/components/OverlayTrigger/components/MenuTrigger/MenuTrigger.d.ts.map +1 -1
- package/dist/types/components/PasswordCreationField/PasswordCreationField.d.ts.map +1 -1
- package/dist/types/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.d.ts.map +1 -1
- package/dist/types/components/Slider/Slider.d.ts.map +1 -1
- package/dist/types/integrations/react-hook-form/components/Field/stories/Slider.stories.d.ts.map +1 -1
- package/dist/types/lib/react/remote.d.ts.map +1 -1
- package/package.json +16 -18
|
@@ -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}\n\nconst autoSubmitTimeout = 800;\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 } = props;\n const render = search.render ?? DefaultSearchFieldRender;\n\n return createElement(render, {\n value: search.value,\n onChange: search.setValue.bind(search),\n ...search.textFieldProps,\n });\n};\n\nexport default SearchField;\n"],"names":["value"],"mappings":"
|
|
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}\n\nconst autoSubmitTimeout = 800;\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 } = props;\n const render = search.render ?? DefaultSearchFieldRender;\n\n return createElement(render, {\n value: search.value,\n onChange: search.setValue.bind(search),\n ...search.textFieldProps,\n });\n};\n\nexport default SearchField;\n"],"names":["value"],"mappings":";;;;;;;;;;;;;AAcA,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,QAAO,GAAI,KAAA;AACnB,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,GAAG,MAAA,CAAO;AAAA,GACX,CAAA;AACH;;;;"}
|
|
@@ -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 { TunnelExit, TunnelProvider } from \"@mittwald/react-tunnel\";\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\";\n\nexport type ListItemViewProps = PropsWithChildren &\n Pick<ColumnLayoutProps, \"s\" | \"m\" | \"l\">;\n\nexport const ListItemView = (props: ListItemViewProps) => {\n const { children, s, m, l } = props;\n const list = useList();\n\n const propsContext: PropsContext = {\n ContextMenu: {\n tunnelId: \"button\",\n wrapWith: <OptionsButton className={styles.action} />,\n },\n Button: {\n tunnelId: \"button\",\n size: dynamic(() => (useList().viewMode === \"tiles\" ? \"s\" : \"m\")),\n },\n ActionGroup: {\n tunnelId: \"button\",\n Button: {\n tunnelId: null,\n },\n },\n Avatar: {\n tunnelId: \"avatar\",\n },\n Heading: {\n tunnelId: \"title\",\n },\n Text: {\n tunnelId: \"text\",\n },\n Content: {\n tunnelId: dynamic((p) => (p.slot === \"bottom\" ? \"bottom\" : undefined)),\n },\n Checkbox: {\n tunnelId: \"checkbox\",\n },\n };\n\n return (\n <TunnelProvider>\n <ListItemViewContentView\n viewMode={list.viewMode}\n title={<TunnelExit id=\"title\" />}\n avatar={<TunnelExit id=\"avatar\" />}\n button={<TunnelExit id=\"button\" />}\n subTitle={<TunnelExit id=\"text\" />}\n bottom={<TunnelExit id=\"bottom\" />}\n checkbox={<TunnelExit id=\"checkbox\" />}\n s={s}\n m={m}\n l={l}\n >\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </ListItemViewContentView>\n </TunnelProvider>\n );\n};\n\nexport default ListItemView;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,YAAA,GAAe,CAAC,KAAA,KAA6B;AACxD,EAAA,MAAM,EAAE,QAAA,EAAU,CAAA,EAAG,CAAA,EAAG,GAAE,GAAI,KAAA;AAC9B,EAAA,MAAM,OAAO,OAAA,EAAQ;AAErB,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,WAAA,EAAa;AAAA,MACX,QAAA,EAAU,QAAA;AAAA,MACV,QAAA,kBAAU,GAAA,CAAC,aAAA,EAAA,EAAc,SAAA,EAAW,OAAO,MAAA,EAAQ;AAAA,KACrD;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,QAAA,EAAU,QAAA;AAAA,MACV,IAAA,EAAM,QAAQ,MAAO,OAAA,GAAU,QAAA,KAAa,OAAA,GAAU,MAAM,GAAI;AAAA,KAClE;AAAA,IACA,WAAA,EAAa;AAAA,MACX,QAAA,EAAU,QAAA;AAAA,MACV,MAAA,EAAQ;AAAA,QACN,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,OAAA,EAAS;AAAA,MACP,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,OAAA,EAAS;AAAA,MACP,QAAA,EAAU,QAAQ,CAAC,CAAA,KAAO,EAAE,IAAA,KAAS,QAAA,GAAW,WAAW,MAAU;AAAA,KACvE;AAAA,IACA,QAAA,EAAU;AAAA,MACR,QAAA,EAAU;AAAA;AACZ,GACF;AAEA,EAAA,2BACG,cAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,IAAC,uBAAA;AAAA,IAAA;AAAA,MACC,UAAU,IAAA,CAAK,QAAA;AAAA,MACf,KAAA,kBAAO,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,OAAA,EAAQ,CAAA;AAAA,MAC9B,MAAA,kBAAQ,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,QAAA,EAAS,CAAA;AAAA,MAChC,MAAA,kBAAQ,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,QAAA,EAAS,CAAA;AAAA,MAChC,QAAA,kBAAU,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,MAAA,EAAO,CAAA;AAAA,MAChC,MAAA,kBAAQ,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,QAAA,EAAS,CAAA;AAAA,MAChC,QAAA,kBAAU,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,UAAA,EAAW,CAAA;AAAA,MACpC,CAAA;AAAA,MACA,CAAA;AAAA,MACA,CAAA;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC1B,QAAA,EACH;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;;;;"}
|
|
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 { TunnelExit, TunnelProvider } from \"@mittwald/react-tunnel\";\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\";\n\nexport type ListItemViewProps = PropsWithChildren &\n Pick<ColumnLayoutProps, \"s\" | \"m\" | \"l\">;\n\nexport const ListItemView = (props: ListItemViewProps) => {\n const { children, s, m, l } = props;\n const list = useList();\n\n const propsContext: PropsContext = {\n ContextMenu: {\n tunnelId: \"button\",\n placement: \"bottom right\",\n wrapWith: <OptionsButton className={styles.action} />,\n },\n Button: {\n tunnelId: \"button\",\n size: dynamic(() => (useList().viewMode === \"tiles\" ? \"s\" : \"m\")),\n },\n ActionGroup: {\n tunnelId: \"button\",\n Button: {\n tunnelId: null,\n },\n },\n Avatar: {\n tunnelId: \"avatar\",\n },\n Heading: {\n tunnelId: \"title\",\n },\n Text: {\n tunnelId: \"text\",\n },\n Content: {\n tunnelId: dynamic((p) => (p.slot === \"bottom\" ? \"bottom\" : undefined)),\n },\n Checkbox: {\n tunnelId: \"checkbox\",\n },\n };\n\n return (\n <TunnelProvider>\n <ListItemViewContentView\n viewMode={list.viewMode}\n title={<TunnelExit id=\"title\" />}\n avatar={<TunnelExit id=\"avatar\" />}\n button={<TunnelExit id=\"button\" />}\n subTitle={<TunnelExit id=\"text\" />}\n bottom={<TunnelExit id=\"bottom\" />}\n checkbox={<TunnelExit id=\"checkbox\" />}\n s={s}\n m={m}\n l={l}\n >\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </ListItemViewContentView>\n </TunnelProvider>\n );\n};\n\nexport default ListItemView;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,YAAA,GAAe,CAAC,KAAA,KAA6B;AACxD,EAAA,MAAM,EAAE,QAAA,EAAU,CAAA,EAAG,CAAA,EAAG,GAAE,GAAI,KAAA;AAC9B,EAAA,MAAM,OAAO,OAAA,EAAQ;AAErB,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,WAAA,EAAa;AAAA,MACX,QAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,cAAA;AAAA,MACX,QAAA,kBAAU,GAAA,CAAC,aAAA,EAAA,EAAc,SAAA,EAAW,OAAO,MAAA,EAAQ;AAAA,KACrD;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,QAAA,EAAU,QAAA;AAAA,MACV,IAAA,EAAM,QAAQ,MAAO,OAAA,GAAU,QAAA,KAAa,OAAA,GAAU,MAAM,GAAI;AAAA,KAClE;AAAA,IACA,WAAA,EAAa;AAAA,MACX,QAAA,EAAU,QAAA;AAAA,MACV,MAAA,EAAQ;AAAA,QACN,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,OAAA,EAAS;AAAA,MACP,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,OAAA,EAAS;AAAA,MACP,QAAA,EAAU,QAAQ,CAAC,CAAA,KAAO,EAAE,IAAA,KAAS,QAAA,GAAW,WAAW,MAAU;AAAA,KACvE;AAAA,IACA,QAAA,EAAU;AAAA,MACR,QAAA,EAAU;AAAA;AACZ,GACF;AAEA,EAAA,2BACG,cAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,IAAC,uBAAA;AAAA,IAAA;AAAA,MACC,UAAU,IAAA,CAAK,QAAA;AAAA,MACf,KAAA,kBAAO,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,OAAA,EAAQ,CAAA;AAAA,MAC9B,MAAA,kBAAQ,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,QAAA,EAAS,CAAA;AAAA,MAChC,MAAA,kBAAQ,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,QAAA,EAAS,CAAA;AAAA,MAChC,QAAA,kBAAU,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,MAAA,EAAO,CAAA;AAAA,MAChC,MAAA,kBAAQ,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,QAAA,EAAS,CAAA;AAAA,MAChC,QAAA,kBAAU,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,UAAA,EAAW,CAAA;AAAA,MACpC,CAAA;AAAA,MACA,CAAA;AAAA,MACA,CAAA;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC1B,QAAA,EACH;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -3,118 +3,9 @@
|
|
|
3
3
|
import { useLocalizedStringFormatter } from 'react-aria';
|
|
4
4
|
import locales from '../../../../../_virtual/_.locale.json@8d5024994f97657f895a4e2a188d2d8a.mjs';
|
|
5
5
|
import { announce } from '@react-aria/live-announcer';
|
|
6
|
-
import '
|
|
7
|
-
import 'react/jsx-runtime';
|
|
6
|
+
import { useDebounceCallback } from 'usehooks-ts';
|
|
8
7
|
import { useEffect } from 'react';
|
|
9
|
-
import 'clsx';
|
|
10
|
-
import '../../../lib/propsContext/propsContext.mjs';
|
|
11
|
-
import '../../../lib/propsContext/components/PropsContextProvider.mjs';
|
|
12
|
-
import '../../Button/Button.mjs';
|
|
13
|
-
import '@tabler/icons-react';
|
|
14
|
-
import '../../Icon/Icon.mjs';
|
|
15
|
-
import '../../../views/IconView.mjs';
|
|
16
|
-
import '@mittwald/react-tunnel';
|
|
17
|
-
import '../../Activity/Activity.mjs';
|
|
18
|
-
import '../../Action/Action.mjs';
|
|
19
|
-
import '../../ActionGroup/ActionGroup.mjs';
|
|
20
|
-
import '../../Alert/Alert.mjs';
|
|
21
|
-
import '../../AlertBadge/AlertBadge.mjs';
|
|
22
|
-
import '../../Align/Align.mjs';
|
|
23
|
-
import '../../Autocomplete/Autocomplete.mjs';
|
|
24
|
-
import '../../Avatar/Avatar.mjs';
|
|
25
|
-
import '../../Badge/Badge.mjs';
|
|
26
|
-
import 'react-aria-components';
|
|
27
|
-
import 'mobx';
|
|
28
|
-
import '../../../lib/controller/overlay/context.mjs';
|
|
29
|
-
import 'remeda';
|
|
30
|
-
import '../../../lib/slotContext/SlotContextProvider.mjs';
|
|
31
|
-
import '../../../lib/propsContext/components/ComponentPropsContextProvider.mjs';
|
|
32
|
-
import '../../../views/ClearPropsContextView.mjs';
|
|
33
|
-
import '../../../lib/viewComponentContext/viewComponentContext.mjs';
|
|
34
|
-
import '@react-aria/utils';
|
|
35
|
-
import 'dot-prop';
|
|
36
|
-
import 'recharts';
|
|
37
|
-
import '../../Heading/Heading.mjs';
|
|
38
|
-
import '../../Text/Text.mjs';
|
|
39
|
-
import '../../Checkbox/Checkbox.mjs';
|
|
40
|
-
import '../../CheckboxButton/CheckboxButton.mjs';
|
|
41
|
-
import '../../CheckboxGroup/CheckboxGroup.mjs';
|
|
42
|
-
import 'react-syntax-highlighter';
|
|
43
|
-
import '../../CopyButton/CopyButton.mjs';
|
|
44
|
-
import '../../ColumnLayout/ColumnLayout.mjs';
|
|
45
|
-
import '../../ComboBox/ComboBox.mjs';
|
|
46
|
-
import '../../Content/Content.mjs';
|
|
47
|
-
import '../../ContextMenu/ContextMenu.mjs';
|
|
48
|
-
import '../../MenuItem/MenuItem.mjs';
|
|
49
|
-
import '../../ContextMenu/components/ContextMenuTrigger/ContextMenuTrigger.mjs';
|
|
50
|
-
import '../../ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs';
|
|
51
|
-
import '../../ContextualHelp/ContextualHelp.mjs';
|
|
52
|
-
import '../../ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs';
|
|
53
|
-
import '../../CounterBadge/CounterBadge.mjs';
|
|
54
|
-
import '../../CountryOptions/CountryOptions.mjs';
|
|
55
|
-
import '../../DatePicker/DatePicker.mjs';
|
|
56
|
-
import '../../DateRangePicker/DateRangePicker.mjs';
|
|
57
|
-
import '../../FieldDescription/FieldDescription.mjs';
|
|
58
|
-
import '../../FieldError/FieldError.mjs';
|
|
59
|
-
import '../../FileCard/FileCard.mjs';
|
|
60
|
-
import '../../FileCardList/FileCardList.mjs';
|
|
61
|
-
import '../../FileDropZone/FileDropZone.mjs';
|
|
62
|
-
import '../../FileField/FileField.mjs';
|
|
63
|
-
import '../../Header/Header.mjs';
|
|
64
|
-
import '../../Image/Image.mjs';
|
|
65
|
-
import '../../Initials/Initials.mjs';
|
|
66
|
-
import '../../Label/Label.mjs';
|
|
67
|
-
import '../../LayoutCard/LayoutCard.mjs';
|
|
68
|
-
import '../../OverlayTrigger/components/MenuTrigger/MenuTrigger.mjs';
|
|
69
|
-
import '../../../views/DialogTriggerView.mjs';
|
|
70
|
-
import '../../LightBox/LightBox.mjs';
|
|
71
|
-
import '../../Link/Link.mjs';
|
|
72
|
-
import 'invariant';
|
|
73
|
-
import '../../../views/ListItemViewContentView.mjs';
|
|
74
|
-
import '../../../views/ButtonView.mjs';
|
|
75
|
-
import '../../../views/ContextMenuTriggerView.mjs';
|
|
76
|
-
import '../components/ListSummary/ListSummary.mjs';
|
|
77
8
|
import { useList } from './useList.mjs';
|
|
78
|
-
import '../listContext.mjs';
|
|
79
|
-
import '../List.mjs';
|
|
80
|
-
import 'react-markdown';
|
|
81
|
-
import 'remark-gfm';
|
|
82
|
-
import '../../MarkdownEditor/MarkdownEditor.mjs';
|
|
83
|
-
import '../../Message/Message.mjs';
|
|
84
|
-
import '../../MessageThread/MessageThread.mjs';
|
|
85
|
-
import '../../Modal/Modal.mjs';
|
|
86
|
-
import '../../Navigation/Navigation.mjs';
|
|
87
|
-
import '../../Navigation/components/NavigationGroup/NavigationGroup.mjs';
|
|
88
|
-
import '../../NotificationProvider/NotificationProvider.mjs';
|
|
89
|
-
import 'luxon';
|
|
90
|
-
import '../../NumberField/NumberField.mjs';
|
|
91
|
-
import '../../Option/Option.mjs';
|
|
92
|
-
import '../../../views/OverlayContentView.mjs';
|
|
93
|
-
import '../../../views/LoadingSpinnerView.mjs';
|
|
94
|
-
import '../../PasswordCreationField/PasswordCreationField.mjs';
|
|
95
|
-
import '../../Popover/components/PopoverTrigger/PopoverTrigger.mjs';
|
|
96
|
-
import '../../Popover/Popover.mjs';
|
|
97
|
-
import '../../ProgressBar/ProgressBar.mjs';
|
|
98
|
-
import '../../RadioGroup/RadioGroup.mjs';
|
|
99
|
-
import '../../RadioGroup/components/Radio/Radio.mjs';
|
|
100
|
-
import '../../RadioGroup/components/RadioButton/RadioButton.mjs';
|
|
101
|
-
import '../../SearchField/SearchField.mjs';
|
|
102
|
-
import '../../Section/Section.mjs';
|
|
103
|
-
import '../../SegmentedControl/SegmentedControl.mjs';
|
|
104
|
-
import '../../SegmentedControl/components/Segment/Segment.mjs';
|
|
105
|
-
import '../../Select/Select.mjs';
|
|
106
|
-
import '../../SettingsProvider/SettingsProvider.mjs';
|
|
107
|
-
import '../../Slider/Slider.mjs';
|
|
108
|
-
import '../../SuspenseTrigger/SuspenseTrigger.mjs';
|
|
109
|
-
import '../../Switch/Switch.mjs';
|
|
110
|
-
import '../../Tabs/Tabs.mjs';
|
|
111
|
-
import '../../Tabs/components/Tab/context.mjs';
|
|
112
|
-
import '../../TextArea/TextArea.mjs';
|
|
113
|
-
import '../../TextField/TextField.mjs';
|
|
114
|
-
import '../../TimeField/TimeField.mjs';
|
|
115
|
-
import '../../TranslationProvider/TranslationProvider.mjs';
|
|
116
|
-
import '../../../lib/remote/eventHandlerContext.mjs';
|
|
117
|
-
import { useDebounceCallback } from 'usehooks-ts';
|
|
118
9
|
|
|
119
10
|
const announceDebounceMs = 600;
|
|
120
11
|
const useAriaAnnounceSearchState = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAriaAnnounceSearchState.mjs","sources":["../../../../../../../src/components/List/hooks/useAriaAnnounceSearchState.ts"],"sourcesContent":["import { useLocalizedStringFormatter } from \"react-aria\";\nimport locales from \"../locales/*.locale.json\";\nimport { announce } from \"@react-aria/live-announcer\";\nimport {
|
|
1
|
+
{"version":3,"file":"useAriaAnnounceSearchState.mjs","sources":["../../../../../../../src/components/List/hooks/useAriaAnnounceSearchState.ts"],"sourcesContent":["import { useLocalizedStringFormatter } from \"react-aria\";\nimport locales from \"../locales/*.locale.json\";\nimport { announce } from \"@react-aria/live-announcer\";\nimport { useDebounceCallback } from \"usehooks-ts\";\nimport { useEffect } from \"react\";\nimport { useList } from \"@/components/List/hooks/useList\";\n\nconst announceDebounceMs = 600;\n\nexport const useAriaAnnounceSearchState = (): void => {\n const formatter = useLocalizedStringFormatter(locales);\n const list = useList();\n const debouncedAnnounce = useDebounceCallback(announce, announceDebounceMs);\n\n const searchTerm = list.search?.value;\n const resultCount = list.batches.getTotalItemsCount();\n const isLoading = list.loader.loaderState.useIsLoading();\n\n useEffect(() => {\n if (isLoading || !searchTerm) {\n debouncedAnnounce.cancel();\n return;\n }\n\n const text = formatter.format(\n resultCount > 0\n ? \"list.search.announce.result\"\n : \"list.search.announce.noResult\",\n {\n resultCount,\n searchTerm,\n },\n );\n\n debouncedAnnounce(text, \"polite\");\n }, [searchTerm, resultCount, isLoading]);\n};\n"],"names":[],"mappings":";;;;;;;AAOA,MAAM,kBAAA,GAAqB,GAAA;AAEpB,MAAM,6BAA6B,MAAY;AACpD,EAAA,MAAM,SAAA,GAAY,4BAA4B,OAAO,CAAA;AACrD,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,iBAAA,GAAoB,mBAAA,CAAoB,QAAA,EAAU,kBAAkB,CAAA;AAE1E,EAAA,MAAM,UAAA,GAAa,KAAK,MAAA,EAAQ,KAAA;AAChC,EAAA,MAAM,WAAA,GAAc,IAAA,CAAK,OAAA,CAAQ,kBAAA,EAAmB;AACpD,EAAA,MAAM,SAAA,GAAY,IAAA,CAAK,MAAA,CAAO,WAAA,CAAY,YAAA,EAAa;AAEvD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,SAAA,IAAa,CAAC,UAAA,EAAY;AAC5B,MAAA,iBAAA,CAAkB,MAAA,EAAO;AACzB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,OAAO,SAAA,CAAU,MAAA;AAAA,MACrB,WAAA,GAAc,IACV,6BAAA,GACA,+BAAA;AAAA,MACJ;AAAA,QACE,WAAA;AAAA,QACA;AAAA;AACF,KACF;AAEA,IAAA,iBAAA,CAAkB,MAAM,QAAQ,CAAA;AAAA,EAClC,CAAA,EAAG,CAAC,UAAA,EAAY,WAAA,EAAa,SAAS,CAAC,CAAA;AACzC;;;;"}
|
|
@@ -85,7 +85,7 @@ const Markdown = (props) => {
|
|
|
85
85
|
CodeBlock,
|
|
86
86
|
{
|
|
87
87
|
copyable: false,
|
|
88
|
-
color
|
|
88
|
+
color,
|
|
89
89
|
language: isValidElement(preElementContent) && preElementContent.props.className ? preElementContent.props.className.replace("language-", "") : void 0,
|
|
90
90
|
code: String(
|
|
91
91
|
isValidElement(preElementContent) ? preElementContent.props.children : preElementContent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.mjs","sources":["../../../../../../src/components/Markdown/Markdown.tsx"],"sourcesContent":["import { CodeBlock } from \"@/components/CodeBlock\";\nimport { Heading } from \"@/components/Heading\";\nimport { InlineCode } from \"@/components/InlineCode\";\nimport { Link } from \"@/components/Link\";\nimport { Separator } from \"@/components/Separator\";\nimport { Text } from \"@/components/Text\";\nimport type { CSSProperties, FC, ReactNode, Ref } from \"react\";\nimport { Children, isValidElement } from \"react\";\nimport type { Components, Options } from \"react-markdown\";\nimport ReactMarkdown from \"react-markdown\";\nimport styles from \"./Markdown.module.scss\";\nimport { extractTextFromFirstChild } from \"@/lib/react/remote\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport clsx from \"clsx\";\nimport remarkGfm from \"remark-gfm\";\nimport { getHeadingLevelWithOffset } from \"@/components/Markdown/lib/getHeadingLevelWithOffset\";\n\nexport interface MarkdownProps\n extends PropsWithClassName,\n Omit<Options, \"components\"> {\n /** The color schema of the markdown component. */\n color?: \"dark\" | \"light\" | \"default\";\n /** Shifts all heading levels by the given offset. @default 0 */\n headingOffset?: number;\n /** @internal */\n style?: CSSProperties;\n ref?: Ref<HTMLDivElement>;\n}\n\n/** @flr-generate all */\nexport const Markdown: FC<MarkdownProps> = (props) => {\n const {\n children,\n color = \"default\",\n className,\n headingOffset = 0,\n ref,\n ...rest\n } = props;\n\n const headingAndLinkColor = color === \"default\" ? \"primary\" : color;\n const textColor = color === \"default\" ? undefined : color;\n\n const components: Components = {\n a: (props) => (\n <Link target=\"_blank\" color={headingAndLinkColor} href={props.href}>\n {props.children}\n </Link>\n ),\n p: (props) => (\n <Text elementType=\"p\" color={textColor}>\n {props.children}\n </Text>\n ),\n code: (props) => <InlineCode color={color}>{props.children}</InlineCode>,\n h1: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(1, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n h2: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(2, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n h3: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(3, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n h4: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(4, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n h5: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(5, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n h6: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(6, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n hr: () => <Separator />,\n pre: (props) => {\n const preElementContent = Children.toArray(props.children)[0];\n\n return (\n <CodeBlock\n copyable={false}\n color
|
|
1
|
+
{"version":3,"file":"Markdown.mjs","sources":["../../../../../../src/components/Markdown/Markdown.tsx"],"sourcesContent":["import { CodeBlock } from \"@/components/CodeBlock\";\nimport { Heading } from \"@/components/Heading\";\nimport { InlineCode } from \"@/components/InlineCode\";\nimport { Link } from \"@/components/Link\";\nimport { Separator } from \"@/components/Separator\";\nimport { Text } from \"@/components/Text\";\nimport type { CSSProperties, FC, ReactNode, Ref } from \"react\";\nimport { Children, isValidElement } from \"react\";\nimport type { Components, Options } from \"react-markdown\";\nimport ReactMarkdown from \"react-markdown\";\nimport styles from \"./Markdown.module.scss\";\nimport { extractTextFromFirstChild } from \"@/lib/react/remote\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport clsx from \"clsx\";\nimport remarkGfm from \"remark-gfm\";\nimport { getHeadingLevelWithOffset } from \"@/components/Markdown/lib/getHeadingLevelWithOffset\";\n\nexport interface MarkdownProps\n extends PropsWithClassName,\n Omit<Options, \"components\"> {\n /** The color schema of the markdown component. */\n color?: \"dark\" | \"light\" | \"default\";\n /** Shifts all heading levels by the given offset. @default 0 */\n headingOffset?: number;\n /** @internal */\n style?: CSSProperties;\n ref?: Ref<HTMLDivElement>;\n}\n\n/** @flr-generate all */\nexport const Markdown: FC<MarkdownProps> = (props) => {\n const {\n children,\n color = \"default\",\n className,\n headingOffset = 0,\n ref,\n ...rest\n } = props;\n\n const headingAndLinkColor = color === \"default\" ? \"primary\" : color;\n const textColor = color === \"default\" ? undefined : color;\n\n const components: Components = {\n a: (props) => (\n <Link target=\"_blank\" color={headingAndLinkColor} href={props.href}>\n {props.children}\n </Link>\n ),\n p: (props) => (\n <Text elementType=\"p\" color={textColor}>\n {props.children}\n </Text>\n ),\n code: (props) => <InlineCode color={color}>{props.children}</InlineCode>,\n h1: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(1, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n h2: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(2, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n h3: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(3, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n h4: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(4, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n h5: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(5, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n h6: (props) => (\n <Heading\n level={getHeadingLevelWithOffset(6, headingOffset)}\n color={headingAndLinkColor}\n >\n {props.children}\n </Heading>\n ),\n hr: () => <Separator />,\n pre: (props) => {\n const preElementContent = Children.toArray(props.children)[0];\n\n return (\n <CodeBlock\n copyable={false}\n color={color}\n language={\n isValidElement<{ className?: string }>(preElementContent) &&\n preElementContent.props.className\n ? preElementContent.props.className.replace(\"language-\", \"\")\n : undefined\n }\n code={String(\n isValidElement<{ children: string }>(preElementContent)\n ? preElementContent.props.children\n : preElementContent,\n )}\n />\n );\n },\n ul: (props) => (\n <Text color={textColor}>\n <ul>{props.children as ReactNode}</ul>\n </Text>\n ),\n ol: (props) => (\n <Text color={textColor}>\n <ol>{props.children as ReactNode}</ol>\n </Text>\n ),\n blockquote: (props) => (\n <Text color={textColor}>\n <blockquote>{props.children}</blockquote>\n </Text>\n ),\n };\n\n const textContent = extractTextFromFirstChild(children);\n\n return (\n <div className={clsx(styles.markdown, className)} {...rest} ref={ref}>\n <ReactMarkdown remarkPlugins={[remarkGfm]} components={components}>\n {textContent}\n </ReactMarkdown>\n </div>\n );\n};\n\nexport default Markdown;\n"],"names":["props"],"mappings":"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"}
|
|
@@ -9,9 +9,7 @@ import { Toolbar } from './components/Toolbar.mjs';
|
|
|
9
9
|
import clsx from 'clsx';
|
|
10
10
|
import { flowComponent } from '../../lib/componentFactory/flowComponent.mjs';
|
|
11
11
|
import { useObjectRef } from '@react-aria/utils';
|
|
12
|
-
import '
|
|
13
|
-
import { PropsContextProvider } from '../../lib/propsContext/components/PropsContextProvider.mjs';
|
|
14
|
-
import { TunnelProvider, TunnelExit } from '@mittwald/react-tunnel';
|
|
12
|
+
import { TunnelProvider } from '@mittwald/react-tunnel';
|
|
15
13
|
import { modifyValueByMarkdownSyntax, scrollToCursor } from './lib/modifyValueByMarkdownSyntax.mjs';
|
|
16
14
|
import { modifyValueByType } from './lib/modifyValueByType.mjs';
|
|
17
15
|
import { useControlledHostValueProps } from '../../lib/remote/useControlledHostValueProps.mjs';
|
|
@@ -71,52 +69,44 @@ const MarkdownEditor = flowComponent("MarkdownEditor", (props) => {
|
|
|
71
69
|
});
|
|
72
70
|
onChange(newValue);
|
|
73
71
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
72
|
+
return /* @__PURE__ */ jsx("div", { className: rootClassName, children: /* @__PURE__ */ jsx(TunnelProvider, { children: /* @__PURE__ */ jsxs(
|
|
73
|
+
TextArea,
|
|
74
|
+
{
|
|
75
|
+
...rest,
|
|
76
|
+
"aria-hidden": mode === "preview",
|
|
77
|
+
isReadOnly: isReadOnly || mode === "preview",
|
|
78
|
+
isDisabled,
|
|
79
|
+
ref: inputRef,
|
|
80
|
+
value,
|
|
81
|
+
rows,
|
|
82
|
+
autoResizeMaxRows,
|
|
83
|
+
onChange,
|
|
84
|
+
onKeyDown: handleKeyDown,
|
|
85
|
+
children: [
|
|
86
|
+
mode === "preview" && /* @__PURE__ */ jsx(
|
|
87
|
+
Markdown,
|
|
88
|
+
{
|
|
89
|
+
headingOffset,
|
|
90
|
+
className: styles.markdown,
|
|
91
|
+
style: {
|
|
92
|
+
height: inputRef.current?.offsetHeight
|
|
93
|
+
},
|
|
94
|
+
children: value
|
|
95
|
+
}
|
|
96
|
+
),
|
|
97
|
+
children,
|
|
98
|
+
/* @__PURE__ */ jsx(
|
|
99
|
+
Toolbar,
|
|
100
|
+
{
|
|
101
|
+
currentMode: mode,
|
|
102
|
+
isDisabled,
|
|
103
|
+
onModeChange: setMode,
|
|
104
|
+
onToolPressed: handleToolButtonPressed
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
]
|
|
77
108
|
}
|
|
78
|
-
};
|
|
79
|
-
return /* @__PURE__ */ jsx("div", { className: rootClassName, children: /* @__PURE__ */ jsxs(TunnelProvider, { children: [
|
|
80
|
-
/* @__PURE__ */ jsx(TunnelExit, { id: "label" }),
|
|
81
|
-
/* @__PURE__ */ jsx(
|
|
82
|
-
Toolbar,
|
|
83
|
-
{
|
|
84
|
-
currentMode: mode,
|
|
85
|
-
isDisabled,
|
|
86
|
-
onModeChange: setMode,
|
|
87
|
-
onToolPressed: handleToolButtonPressed
|
|
88
|
-
}
|
|
89
|
-
),
|
|
90
|
-
/* @__PURE__ */ jsxs(
|
|
91
|
-
TextArea,
|
|
92
|
-
{
|
|
93
|
-
...rest,
|
|
94
|
-
"aria-hidden": mode === "preview",
|
|
95
|
-
isReadOnly: isReadOnly || mode === "preview",
|
|
96
|
-
isDisabled,
|
|
97
|
-
ref: inputRef,
|
|
98
|
-
value,
|
|
99
|
-
rows,
|
|
100
|
-
autoResizeMaxRows,
|
|
101
|
-
onChange,
|
|
102
|
-
onKeyDown: handleKeyDown,
|
|
103
|
-
children: [
|
|
104
|
-
mode === "preview" && /* @__PURE__ */ jsx(
|
|
105
|
-
Markdown,
|
|
106
|
-
{
|
|
107
|
-
headingOffset,
|
|
108
|
-
className: styles.markdown,
|
|
109
|
-
style: {
|
|
110
|
-
height: inputRef.current?.offsetHeight
|
|
111
|
-
},
|
|
112
|
-
children: value
|
|
113
|
-
}
|
|
114
|
-
),
|
|
115
|
-
/* @__PURE__ */ jsx(PropsContextProvider, { props: propsContext, children })
|
|
116
|
-
]
|
|
117
|
-
}
|
|
118
|
-
)
|
|
119
|
-
] }) });
|
|
109
|
+
) }) });
|
|
120
110
|
});
|
|
121
111
|
|
|
122
112
|
export { MarkdownEditor, MarkdownEditor as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownEditor.mjs","sources":["../../../../../../src/components/MarkdownEditor/MarkdownEditor.tsx"],"sourcesContent":["import { type KeyboardEventHandler, useState } from \"react\";\nimport styles from \"./MarkdownEditor.module.scss\";\nimport { Markdown, type MarkdownProps } from \"@/components/Markdown\";\nimport { TextArea, type TextAreaProps } from \"@/components/TextArea\";\nimport { Toolbar } from \"@/components/MarkdownEditor/components/Toolbar\";\nimport clsx from \"clsx\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { useObjectRef } from \"@react-aria/utils\";\nimport {
|
|
1
|
+
{"version":3,"file":"MarkdownEditor.mjs","sources":["../../../../../../src/components/MarkdownEditor/MarkdownEditor.tsx"],"sourcesContent":["import { type KeyboardEventHandler, useState } from \"react\";\nimport styles from \"./MarkdownEditor.module.scss\";\nimport { Markdown, type MarkdownProps } from \"@/components/Markdown\";\nimport { TextArea, type TextAreaProps } from \"@/components/TextArea\";\nimport { Toolbar } from \"@/components/MarkdownEditor/components/Toolbar\";\nimport clsx from \"clsx\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { useObjectRef } from \"@react-aria/utils\";\nimport { TunnelProvider } from \"@mittwald/react-tunnel\";\nimport {\n modifyValueByMarkdownSyntax,\n scrollToCursor,\n} from \"@/components/MarkdownEditor/lib/modifyValueByMarkdownSyntax\";\nimport {\n type InsertType,\n modifyValueByType,\n} from \"@/components/MarkdownEditor/lib/modifyValueByType\";\nimport { useControlledHostValueProps } from \"@/lib/remote/useControlledHostValueProps\";\n\nexport type MarkdownEditorMode = \"editor\" | \"preview\";\n\nexport interface MarkdownEditorProps\n extends TextAreaProps,\n Pick<MarkdownProps, \"headingOffset\"> {}\n\n/** @flr-generate all */\nexport const MarkdownEditor = flowComponent(\"MarkdownEditor\", (props) => {\n const {\n isDisabled,\n isReadOnly,\n children,\n className,\n rows = 5,\n autoResizeMaxRows,\n headingOffset,\n value,\n onChange,\n ref,\n ...rest\n } = useControlledHostValueProps(props);\n\n const inputRef = useObjectRef(ref);\n const [mode, setMode] = useState<MarkdownEditorMode>(\"editor\");\n\n const rootClassName = clsx(\n styles.markdownEditor,\n className,\n styles[`mode-${mode}`],\n );\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (event.key !== \"Enter\") {\n return;\n }\n\n const modifyParams = modifyValueByMarkdownSyntax(value, inputRef);\n if (!modifyParams) {\n return;\n }\n\n const { newValue, newSelectionStart, newSelectionEnd } = modifyParams;\n\n requestAnimationFrame(() => {\n if (inputRef.current) {\n inputRef.current.value = newValue;\n inputRef.current?.setSelectionRange(newSelectionStart, newSelectionEnd);\n scrollToCursor(newValue, inputRef.current);\n }\n });\n\n event.preventDefault();\n onChange(newValue);\n };\n\n const handleToolButtonPressed = (type: InsertType) => {\n const { newValue, newSelectionStart, newSelectionEnd } = modifyValueByType(\n value,\n type,\n inputRef,\n );\n\n requestAnimationFrame(() => {\n if (inputRef.current) {\n inputRef.current.value = newValue;\n inputRef.current.setSelectionRange(newSelectionStart, newSelectionEnd);\n inputRef.current.focus();\n }\n });\n\n onChange(newValue);\n };\n\n return (\n <div className={rootClassName}>\n <TunnelProvider>\n <TextArea\n {...rest}\n aria-hidden={mode === \"preview\"}\n isReadOnly={isReadOnly || mode === \"preview\"}\n isDisabled={isDisabled}\n ref={inputRef}\n value={value}\n rows={rows}\n autoResizeMaxRows={autoResizeMaxRows}\n onChange={onChange}\n onKeyDown={handleKeyDown}\n >\n {mode === \"preview\" && (\n <Markdown\n headingOffset={headingOffset}\n className={styles.markdown}\n style={{\n height: inputRef.current?.offsetHeight,\n }}\n >\n {value}\n </Markdown>\n )}\n {children}\n <Toolbar\n currentMode={mode}\n isDisabled={isDisabled}\n onModeChange={setMode}\n onToolPressed={handleToolButtonPressed}\n />\n </TextArea>\n </TunnelProvider>\n </div>\n );\n});\n\nexport default MarkdownEditor;\n"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,9 @@ import { flowComponent } from '../../lib/componentFactory/flowComponent.mjs';
|
|
|
15
15
|
import { ClearPropsContext } from '../../lib/propsContext/components/ClearPropsContext.mjs';
|
|
16
16
|
|
|
17
17
|
const Message = flowComponent("Message", (props) => {
|
|
18
|
-
const { type = "responder", children, className } = props;
|
|
18
|
+
const { type = "responder", children, className, color } = props;
|
|
19
19
|
const rootClassName = clsx(styles.message, styles[type], className);
|
|
20
|
+
const style = color ? { "--message-background": color } : void 0;
|
|
20
21
|
const propsContext = {
|
|
21
22
|
Content: {
|
|
22
23
|
className: styles.content,
|
|
@@ -51,7 +52,7 @@ const Message = flowComponent("Message", (props) => {
|
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
};
|
|
54
|
-
return /* @__PURE__ */ jsx(PropsContextProvider, { props: propsContext, children: /* @__PURE__ */ jsx("article", { className: rootClassName, children }) });
|
|
55
|
+
return /* @__PURE__ */ jsx(PropsContextProvider, { props: propsContext, children: /* @__PURE__ */ jsx("article", { className: rootClassName, style, children }) });
|
|
55
56
|
});
|
|
56
57
|
|
|
57
58
|
export { Message, Message as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.mjs","sources":["../../../../../../src/components/Message/Message.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport clsx from \"clsx\";\nimport styles from \"./Message.module.scss\";\nimport type { PropsWithClassName } 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\";\n\nexport interface MessageProps\n extends PropsWithChildren,\n PropsWithClassName,\n FlowComponentProps {\n /** Determines the color and orientation of the message. @default \"responder\" */\n type?: \"responder\" | \"sender\";\n}\n\n/** @flr-generate all */\nexport const Message = flowComponent(\"Message\", (props) => {\n const { type = \"responder\", children, className } = props;\n\n const rootClassName = clsx(styles.message, styles[type], className);\n\n const propsContext: PropsContext = {\n Content: {\n className: styles.content,\n children: dynamic((props) => {\n return (\n <>\n <div className={styles.tip} />\n {props.children}\n </>\n );\n }),\n },\n Header: {\n className: styles.header,\n Button: {\n className: styles.action,\n size: \"s\",\n variant: \"plain\",\n color: \"secondary\",\n },\n ContextMenuTrigger: {\n Button: {\n className: styles.action,\n size: \"s\",\n variant: \"plain\",\n color: \"secondary\",\n children: <IconContextMenu />,\n },\n },\n Text: { className: styles.date },\n Align: {\n wrapWith: <ClearPropsContext />,\n className: styles.user,\n },\n },\n };\n\n return (\n <PropsContextProvider props={propsContext}>\n <article className={rootClassName}
|
|
1
|
+
{"version":3,"file":"Message.mjs","sources":["../../../../../../src/components/Message/Message.tsx"],"sourcesContent":["import type { CSSProperties, PropsWithChildren } from \"react\";\nimport clsx from \"clsx\";\nimport styles from \"./Message.module.scss\";\nimport type { PropsWithClassName } 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\";\n\nexport interface MessageProps\n extends PropsWithChildren,\n PropsWithClassName,\n FlowComponentProps {\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 { type = \"responder\", children, className, color } = props;\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 propsContext: PropsContext = {\n Content: {\n className: styles.content,\n children: dynamic((props) => {\n return (\n <>\n <div className={styles.tip} />\n {props.children}\n </>\n );\n }),\n },\n Header: {\n className: styles.header,\n Button: {\n className: styles.action,\n size: \"s\",\n variant: \"plain\",\n color: \"secondary\",\n },\n ContextMenuTrigger: {\n Button: {\n className: styles.action,\n size: \"s\",\n variant: \"plain\",\n color: \"secondary\",\n children: <IconContextMenu />,\n },\n },\n Text: { className: styles.date },\n Align: {\n wrapWith: <ClearPropsContext />,\n className: styles.user,\n },\n },\n };\n\n return (\n <PropsContextProvider props={propsContext}>\n <article className={rootClassName} style={style}>\n {children}\n </article>\n </PropsContextProvider>\n );\n});\n\nexport default Message;\n"],"names":["props"],"mappings":";;;;;;;;;;;;;;AA0BO,MAAM,OAAA,GAAU,aAAA,CAAc,SAAA,EAAW,CAAC,KAAA,KAAU;AACzD,EAAA,MAAM,EAAE,IAAA,GAAO,WAAA,EAAa,QAAA,EAAU,SAAA,EAAW,OAAM,GAAI,KAAA;AAE3D,EAAA,MAAM,gBAAgB,IAAA,CAAK,MAAA,CAAO,SAAS,MAAA,CAAO,IAAI,GAAG,SAAS,CAAA;AAElE,EAAA,MAAM,KAAA,GAAQ,KAAA,GACT,EAAE,sBAAA,EAAwB,OAAM,GACjC,MAAA;AAEJ,EAAA,MAAM,YAAA,GAA6B;AAAA,IACjC,OAAA,EAAS;AAAA,MACP,WAAW,MAAA,CAAO,OAAA;AAAA,MAClB,QAAA,EAAU,OAAA,CAAQ,CAACA,MAAAA,KAAU;AAC3B,QAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,GAAA,EAAK,CAAA;AAAA,UAC3BA,MAAAA,CAAM;AAAA,SAAA,EACT,CAAA;AAAA,MAEJ,CAAC;AAAA,KACH;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,WAAW,MAAA,CAAO,MAAA;AAAA,MAClB,MAAA,EAAQ;AAAA,QACN,WAAW,MAAA,CAAO,MAAA;AAAA,QAClB,IAAA,EAAM,GAAA;AAAA,QACN,OAAA,EAAS,OAAA;AAAA,QACT,KAAA,EAAO;AAAA,OACT;AAAA,MACA,kBAAA,EAAoB;AAAA,QAClB,MAAA,EAAQ;AAAA,UACN,WAAW,MAAA,CAAO,MAAA;AAAA,UAClB,IAAA,EAAM,GAAA;AAAA,UACN,OAAA,EAAS,OAAA;AAAA,UACT,KAAA,EAAO,WAAA;AAAA,UACP,QAAA,sBAAW,eAAA,EAAA,EAAgB;AAAA;AAC7B,OACF;AAAA,MACA,IAAA,EAAM,EAAE,SAAA,EAAW,MAAA,CAAO,IAAA,EAAK;AAAA,MAC/B,KAAA,EAAO;AAAA,QACL,QAAA,sBAAW,iBAAA,EAAA,EAAkB,CAAA;AAAA,QAC7B,WAAW,MAAA,CAAO;AAAA;AACpB;AACF,GACF;AAEA,EAAA,uBACE,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC3B,QAAA,kBAAA,GAAA,CAAC,aAAQ,SAAA,EAAW,aAAA,EAAe,KAAA,EAChC,QAAA,EACH,CAAA,EACF,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1,118 +1,10 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
|
-
import '../../../AccentBox/AccentBox.mjs';
|
|
5
|
-
import 'react';
|
|
6
|
-
import 'clsx';
|
|
7
|
-
import '../../../../lib/propsContext/propsContext.mjs';
|
|
8
|
-
import '../../../../lib/propsContext/components/PropsContextProvider.mjs';
|
|
9
|
-
import '../../../Button/Button.mjs';
|
|
10
|
-
import '@tabler/icons-react';
|
|
11
|
-
import '../../../Icon/Icon.mjs';
|
|
12
|
-
import '../../../../views/IconView.mjs';
|
|
13
|
-
import '@mittwald/react-tunnel';
|
|
14
|
-
import '../../../Activity/Activity.mjs';
|
|
15
4
|
import '../../../Action/Action.mjs';
|
|
16
5
|
import { useAriaAnnounceSuspense } from '../../../Action/lib/ariaLive.mjs';
|
|
17
|
-
import '../../../ActionGroup/ActionGroup.mjs';
|
|
18
|
-
import '../../../Alert/Alert.mjs';
|
|
19
|
-
import '../../../AlertBadge/AlertBadge.mjs';
|
|
20
|
-
import 'react-aria';
|
|
21
|
-
import '../../../Align/Align.mjs';
|
|
22
|
-
import '../../../Autocomplete/Autocomplete.mjs';
|
|
23
|
-
import '../../../Avatar/Avatar.mjs';
|
|
24
|
-
import '../../../Badge/Badge.mjs';
|
|
25
|
-
import 'react-aria-components';
|
|
26
|
-
import 'mobx';
|
|
27
|
-
import '../../../../lib/controller/overlay/context.mjs';
|
|
28
|
-
import 'remeda';
|
|
29
|
-
import '../../../../lib/slotContext/SlotContextProvider.mjs';
|
|
30
|
-
import '../../../../lib/propsContext/components/ComponentPropsContextProvider.mjs';
|
|
31
|
-
import '../../../../views/ClearPropsContextView.mjs';
|
|
32
|
-
import '../../../../lib/viewComponentContext/viewComponentContext.mjs';
|
|
33
|
-
import '@react-aria/utils';
|
|
34
|
-
import 'dot-prop';
|
|
35
|
-
import 'recharts';
|
|
36
|
-
import '../../../Heading/Heading.mjs';
|
|
37
|
-
import '../../../Text/Text.mjs';
|
|
38
|
-
import '../../../Checkbox/Checkbox.mjs';
|
|
39
|
-
import '../../../CheckboxButton/CheckboxButton.mjs';
|
|
40
|
-
import '../../../CheckboxGroup/CheckboxGroup.mjs';
|
|
41
|
-
import 'react-syntax-highlighter';
|
|
42
|
-
import '../../../CopyButton/CopyButton.mjs';
|
|
43
|
-
import '../../../ColumnLayout/ColumnLayout.mjs';
|
|
44
|
-
import '../../../ComboBox/ComboBox.mjs';
|
|
45
|
-
import '../../../Content/Content.mjs';
|
|
46
|
-
import '../../../ContextMenu/ContextMenu.mjs';
|
|
47
|
-
import '../../../MenuItem/MenuItem.mjs';
|
|
48
|
-
import '../../../ContextMenu/components/ContextMenuTrigger/ContextMenuTrigger.mjs';
|
|
49
|
-
import '../../../ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs';
|
|
50
|
-
import '../../../ContextualHelp/ContextualHelp.mjs';
|
|
51
|
-
import '../../../ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs';
|
|
52
|
-
import '../../../CounterBadge/CounterBadge.mjs';
|
|
53
|
-
import '../../../CountryOptions/CountryOptions.mjs';
|
|
54
|
-
import '../../../DatePicker/DatePicker.mjs';
|
|
55
|
-
import '../../../DateRangePicker/DateRangePicker.mjs';
|
|
56
|
-
import '../../../FieldDescription/FieldDescription.mjs';
|
|
57
|
-
import '../../../FieldError/FieldError.mjs';
|
|
58
|
-
import '../../../FileCard/FileCard.mjs';
|
|
59
|
-
import '../../../FileCardList/FileCardList.mjs';
|
|
60
|
-
import '../../../FileDropZone/FileDropZone.mjs';
|
|
61
|
-
import '../../../FileField/FileField.mjs';
|
|
62
|
-
import '../../../Header/Header.mjs';
|
|
63
|
-
import '../../../Image/Image.mjs';
|
|
64
|
-
import '../../../Initials/Initials.mjs';
|
|
65
|
-
import '../../../Label/Label.mjs';
|
|
66
|
-
import '../../../LayoutCard/LayoutCard.mjs';
|
|
67
|
-
import '../../../OverlayTrigger/components/MenuTrigger/MenuTrigger.mjs';
|
|
68
|
-
import '../../../../views/DialogTriggerView.mjs';
|
|
69
|
-
import '../../../LightBox/LightBox.mjs';
|
|
70
|
-
import '../../../Link/Link.mjs';
|
|
71
|
-
import 'invariant';
|
|
72
|
-
import '../../../../views/ListItemViewContentView.mjs';
|
|
73
|
-
import '../../../../views/ButtonView.mjs';
|
|
74
|
-
import '../../../../views/ContextMenuTriggerView.mjs';
|
|
75
|
-
import '../../../List/components/ListSummary/ListSummary.mjs';
|
|
76
|
-
import '../../../List/listContext.mjs';
|
|
77
|
-
import '../../../List/List.mjs';
|
|
78
|
-
import 'react-markdown';
|
|
79
|
-
import 'remark-gfm';
|
|
80
|
-
import '../../../MarkdownEditor/MarkdownEditor.mjs';
|
|
81
|
-
import '../../../Message/Message.mjs';
|
|
82
|
-
import '../../../MessageThread/MessageThread.mjs';
|
|
83
|
-
import '../../Modal.mjs';
|
|
84
|
-
import '../../../Navigation/Navigation.mjs';
|
|
85
|
-
import '../../../Navigation/components/NavigationGroup/NavigationGroup.mjs';
|
|
86
|
-
import '../../../NotificationProvider/NotificationProvider.mjs';
|
|
87
|
-
import 'luxon';
|
|
88
|
-
import '../../../NumberField/NumberField.mjs';
|
|
89
|
-
import '../../../Option/Option.mjs';
|
|
90
|
-
import '../../../../views/OverlayContentView.mjs';
|
|
91
|
-
import LoadingSpinnerView from '../../../../views/LoadingSpinnerView.mjs';
|
|
92
|
-
import '../../../PasswordCreationField/PasswordCreationField.mjs';
|
|
93
|
-
import '../../../Popover/components/PopoverTrigger/PopoverTrigger.mjs';
|
|
94
|
-
import '../../../Popover/Popover.mjs';
|
|
95
|
-
import '../../../ProgressBar/ProgressBar.mjs';
|
|
96
|
-
import '../../../RadioGroup/RadioGroup.mjs';
|
|
97
|
-
import '../../../RadioGroup/components/Radio/Radio.mjs';
|
|
98
|
-
import '../../../RadioGroup/components/RadioButton/RadioButton.mjs';
|
|
99
|
-
import '../../../SearchField/SearchField.mjs';
|
|
100
|
-
import '../../../Section/Section.mjs';
|
|
101
|
-
import '../../../SegmentedControl/SegmentedControl.mjs';
|
|
102
|
-
import '../../../SegmentedControl/components/Segment/Segment.mjs';
|
|
103
|
-
import '../../../Select/Select.mjs';
|
|
104
|
-
import '../../../SettingsProvider/SettingsProvider.mjs';
|
|
105
|
-
import '../../../Slider/Slider.mjs';
|
|
106
|
-
import '../../../SuspenseTrigger/SuspenseTrigger.mjs';
|
|
107
|
-
import '../../../Switch/Switch.mjs';
|
|
108
|
-
import '../../../Tabs/Tabs.mjs';
|
|
109
|
-
import '../../../Tabs/components/Tab/context.mjs';
|
|
110
|
-
import '../../../TextArea/TextArea.mjs';
|
|
111
|
-
import '../../../TextField/TextField.mjs';
|
|
112
|
-
import '../../../TimeField/TimeField.mjs';
|
|
113
|
-
import '../../../TranslationProvider/TranslationProvider.mjs';
|
|
114
|
-
import '../../../../lib/remote/eventHandlerContext.mjs';
|
|
115
6
|
import FlexView from '../../../../views/FlexView.mjs';
|
|
7
|
+
import LoadingSpinnerView from '../../../../views/LoadingSpinnerView.mjs';
|
|
116
8
|
|
|
117
9
|
const OffCanvasSuspenseFallback = () => {
|
|
118
10
|
useAriaAnnounceSuspense();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OffCanvasSuspenseFallback.mjs","sources":["../../../../../../../../src/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.tsx"],"sourcesContent":["import { useAriaAnnounceSuspense } from \"@/
|
|
1
|
+
{"version":3,"file":"OffCanvasSuspenseFallback.mjs","sources":["../../../../../../../../src/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.tsx"],"sourcesContent":["import { useAriaAnnounceSuspense } from \"@/components/Action\";\nimport FlexView from \"@/views/FlexView\";\nimport LoadingSpinnerView from \"@/views/LoadingSpinnerView\";\nimport type { FC } from \"react\";\n\nexport const OffCanvasSuspenseFallback: FC = () => {\n useAriaAnnounceSuspense();\n return (\n <FlexView grow align=\"center\" justify=\"center\">\n <LoadingSpinnerView />\n </FlexView>\n );\n};\n"],"names":[],"mappings":";;;;;;AAKO,MAAM,4BAAgC,MAAM;AACjD,EAAA,uBAAA,EAAwB;AACxB,EAAA,uBACE,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAI,IAAA,EAAC,KAAA,EAAM,UAAS,OAAA,EAAQ,QAAA,EACpC,QAAA,kBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,CAAA,EACtB,CAAA;AAEJ;;;;"}
|
package/dist/js/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.mjs
CHANGED
|
@@ -42,7 +42,6 @@ const NavigationGroup = flowComponent("NavigationGroup", (props) => {
|
|
|
42
42
|
...rest,
|
|
43
43
|
children: [
|
|
44
44
|
children,
|
|
45
|
-
/* @__PURE__ */ jsx(TunnelExit, { id: "Label" }),
|
|
46
45
|
/* @__PURE__ */ jsx("ul", { children: /* @__PURE__ */ jsx(TunnelExit, { id: "groupLinks" }) })
|
|
47
46
|
]
|
|
48
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationGroup.mjs","sources":["../../../../../../../../src/components/Navigation/components/NavigationGroup/NavigationGroup.tsx"],"sourcesContent":["import type { ComponentProps, 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 { TunnelExit, TunnelProvider } from \"@mittwald/react-tunnel\";\nimport { Accordion } from \"@/components/Accordion\";\nimport { Content } from \"@/components/Content\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\n\nexport interface NavigationGroupProps\n extends PropsWithChildren<ComponentProps<\"section\">>,\n FlowComponentProps<HTMLElement> {\n collapsable?: boolean;\n}\n\n/** @flr-generate all */\nexport const NavigationGroup = flowComponent(\"NavigationGroup\", (props) => {\n const { children, className, collapsable, ...rest } = 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: generatedId,\n className: styles.label,\n },\n Link: {\n tunnelId: \"groupLinks\",\n },\n };\n\n if (collapsable) {\n return (\n <PropsContextProvider props={propsContext}>\n <TunnelProvider>\n <Accordion defaultExpanded className={rootClassName}>\n {children}\n <Content>\n <ul>\n <TunnelExit id=\"groupLinks\" />\n </ul>\n </Content>\n </Accordion>\n </TunnelProvider>\n </PropsContextProvider>\n );\n }\n\n return (\n <PropsContextProvider props={propsContext}>\n <TunnelProvider>\n <section\n aria-labelledby={generatedId}\n className={rootClassName}\n {...rest}\n >\n {children}\n <
|
|
1
|
+
{"version":3,"file":"NavigationGroup.mjs","sources":["../../../../../../../../src/components/Navigation/components/NavigationGroup/NavigationGroup.tsx"],"sourcesContent":["import type { ComponentProps, 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 { TunnelExit, TunnelProvider } from \"@mittwald/react-tunnel\";\nimport { Accordion } from \"@/components/Accordion\";\nimport { Content } from \"@/components/Content\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\n\nexport interface NavigationGroupProps\n extends PropsWithChildren<ComponentProps<\"section\">>,\n FlowComponentProps<HTMLElement> {\n collapsable?: boolean;\n}\n\n/** @flr-generate all */\nexport const NavigationGroup = flowComponent(\"NavigationGroup\", (props) => {\n const { children, className, collapsable, ...rest } = 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: generatedId,\n className: styles.label,\n },\n Link: {\n tunnelId: \"groupLinks\",\n },\n };\n\n if (collapsable) {\n return (\n <PropsContextProvider props={propsContext}>\n <TunnelProvider>\n <Accordion defaultExpanded className={rootClassName}>\n {children}\n <Content>\n <ul>\n <TunnelExit id=\"groupLinks\" />\n </ul>\n </Content>\n </Accordion>\n </TunnelProvider>\n </PropsContextProvider>\n );\n }\n\n return (\n <PropsContextProvider props={propsContext}>\n <TunnelProvider>\n <section\n aria-labelledby={generatedId}\n className={rootClassName}\n {...rest}\n >\n {children}\n <ul>\n <TunnelExit id=\"groupLinks\" />\n </ul>\n </section>\n </TunnelProvider>\n </PropsContextProvider>\n );\n});\n\nexport default NavigationGroup;\n"],"names":[],"mappings":";;;;;;;;;;;AAoBO,MAAM,eAAA,GAAkB,aAAA,CAAc,iBAAA,EAAmB,CAAC,KAAA,KAAU;AACzE,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,WAAA,EAAa,GAAG,MAAK,GAAI,KAAA;AAEtD,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,WAAA;AAAA,MACJ,WAAW,MAAA,CAAO;AAAA,KACpB;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,QAAA,EAAU;AAAA;AACZ,GACF;AAEA,EAAA,IAAI,WAAA,EAAa;AACf,IAAA,uBACE,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC3B,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,SAAA,EAAA,EAAU,eAAA,EAAe,IAAA,EAAC,SAAA,EAAW,aAAA,EACnC,QAAA,EAAA;AAAA,MAAA,QAAA;AAAA,sBACD,GAAA,CAAC,WACC,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EACC,8BAAC,UAAA,EAAA,EAAW,EAAA,EAAG,YAAA,EAAa,CAAA,EAC9B,CAAA,EACF;AAAA,KAAA,EACF,GACF,CAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACE,GAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC3B,8BAAC,cAAA,EAAA,EACC,QAAA,kBAAA,IAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,iBAAA,EAAiB,WAAA;AAAA,MACjB,SAAA,EAAW,aAAA;AAAA,MACV,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,4BACA,IAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAG,cAAa,CAAA,EAC9B;AAAA;AAAA;AAAA,KAEJ,CAAA,EACF,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -6,7 +6,7 @@ import ReactDOM from 'react-dom';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import styles from './NotificationContainer.module.scss.mjs';
|
|
8
8
|
import { ControlledNotification } from '../ControlledNotification.mjs';
|
|
9
|
-
import { LazyMotion, domAnimation, AnimatePresence, m } from 'framer-motion';
|
|
9
|
+
import { MotionConfig, LazyMotion, domAnimation, AnimatePresence, m } from 'framer-motion';
|
|
10
10
|
import { useIsSSR } from 'react-aria';
|
|
11
11
|
import { useNotificationController } from '../NotificationProvider.mjs';
|
|
12
12
|
|
|
@@ -16,7 +16,7 @@ const NotificationContainer = (props) => {
|
|
|
16
16
|
const notifications = controller.useNotifications();
|
|
17
17
|
const isSsr = useIsSSR();
|
|
18
18
|
const rootClassName = clsx(styles.notificationContainer, className);
|
|
19
|
-
const content = /* @__PURE__ */ jsx(LazyMotion, { features: domAnimation, children: /* @__PURE__ */ jsx("div", { className: rootClassName, ...rest, children: /* @__PURE__ */ jsx(AnimatePresence, { children: notifications.map((n) => /* @__PURE__ */ jsx(
|
|
19
|
+
const content = /* @__PURE__ */ jsx(MotionConfig, { reducedMotion: "user", children: /* @__PURE__ */ jsx(LazyMotion, { features: domAnimation, children: /* @__PURE__ */ jsx("div", { className: rootClassName, ...rest, children: /* @__PURE__ */ jsx(AnimatePresence, { children: notifications.map((n) => /* @__PURE__ */ jsx(
|
|
20
20
|
m.div,
|
|
21
21
|
{
|
|
22
22
|
className: styles.notification,
|
|
@@ -35,7 +35,7 @@ const NotificationContainer = (props) => {
|
|
|
35
35
|
) })
|
|
36
36
|
},
|
|
37
37
|
n.meta.id
|
|
38
|
-
)) }) }) });
|
|
38
|
+
)) }) }) }) });
|
|
39
39
|
return isSsr ? null : ReactDOM.createPortal(content, document.body);
|
|
40
40
|
};
|
|
41
41
|
|