@mittwald/flow-react-components 0.2.0-alpha.404 → 0.2.0-alpha.405

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.
@@ -6,8 +6,8 @@ import styles from './Modal.module.scss.mjs';
6
6
  import clsx from 'clsx';
7
7
  import '../../lib/propsContext/propsContext.mjs';
8
8
  import '../../lib/viewComponentContext/viewComponentContext.mjs';
9
+ import { dynamic } from '../../lib/propsContext/dynamicProps/dynamic.mjs';
9
10
  import { PropsContextProvider } from '../../lib/propsContext/PropsContextProvider.mjs';
10
- import { TunnelProvider, TunnelExit } from '@mittwald/react-tunnel';
11
11
  import { flowComponent } from '../../lib/componentFactory/flowComponent.mjs';
12
12
  import { Overlay } from '../Overlay/Overlay.mjs';
13
13
  import { Action } from '../Action/Action.mjs';
@@ -31,9 +31,21 @@ const Modal = flowComponent("Modal", (props) => {
31
31
  const rootClassName = clsx(
32
32
  offCanvas ? styles.offCanvas : styles.modal,
33
33
  styles[`size-${size}`],
34
- styles[offCanvasOrientation],
34
+ offCanvasOrientation === "left" && styles["left"],
35
35
  className
36
36
  );
37
+ const header = (children2) => /* @__PURE__ */ jsxs(HeaderView, { className: styles.header, children: [
38
+ children2,
39
+ /* @__PURE__ */ jsx(Action, { closeOverlay: "Modal", children: /* @__PURE__ */ jsx(
40
+ ButtonView,
41
+ {
42
+ variant: "plain",
43
+ color: "secondary",
44
+ onPress: controller?.close,
45
+ children: /* @__PURE__ */ jsx(IconClose, {})
46
+ }
47
+ ) })
48
+ ] });
37
49
  const propsContext = {
38
50
  Content: {
39
51
  className: styles.content,
@@ -62,7 +74,7 @@ const Modal = flowComponent("Modal", (props) => {
62
74
  Heading: {
63
75
  level: 2,
64
76
  slot: "title",
65
- tunnelId: "heading"
77
+ children: dynamic((props2) => header(props2.children))
66
78
  },
67
79
  ActionGroup: {
68
80
  className: styles.actionGroup,
@@ -76,22 +88,7 @@ const Modal = flowComponent("Modal", (props) => {
76
88
  controller,
77
89
  ref,
78
90
  ...rest,
79
- children: /* @__PURE__ */ jsx(PropsContextProvider, { props: propsContext, children: /* @__PURE__ */ jsxs(TunnelProvider, { children: [
80
- /* @__PURE__ */ jsxs(HeaderView, { className: styles.header, children: [
81
- /* @__PURE__ */ jsx(TunnelExit, { id: "heading" }),
82
- /* @__PURE__ */ jsx(Action, { closeOverlay: "Modal", children: /* @__PURE__ */ jsx(
83
- ButtonView,
84
- {
85
- variant: "plain",
86
- color: "secondary",
87
- className: styles.closeButton,
88
- onPress: controller?.close,
89
- children: /* @__PURE__ */ jsx(IconClose, {})
90
- }
91
- ) })
92
- ] }),
93
- children
94
- ] }) })
91
+ children: /* @__PURE__ */ jsx(PropsContextProvider, { props: propsContext, children })
95
92
  }
96
93
  );
97
94
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.mjs","sources":["../../../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\nimport React from \"react\";\nimport styles from \"./Modal.module.scss\";\nimport clsx from \"clsx\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport { TunnelExit, TunnelProvider } from \"@mittwald/react-tunnel\";\nimport type { OverlayController } from \"@/lib/controller/overlay\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { Overlay } from \"@/components/Overlay/Overlay\";\nimport { Action } from \"@/components/Action\";\nimport { IconClose } from \"@/components/Icon/components/icons\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport HeaderView from \"@/views/HeaderView\";\nimport ButtonView from \"@/views/ButtonView\";\n\nexport interface ModalProps\n extends PropsWithChildren,\n FlowComponentProps,\n PropsWithClassName {\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}\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 ...rest\n } = props;\n\n const rootClassName = clsx(\n offCanvas ? styles.offCanvas : styles.modal,\n styles[`size-${size}`],\n styles[offCanvasOrientation],\n className,\n );\n\n const propsContext: PropsContext = {\n Content: {\n className: styles.content,\n Section: {\n Heading: {\n level: 3,\n },\n Header: {\n Heading: {\n level: 3,\n },\n },\n },\n },\n ColumnLayout: {\n l: [2, 1],\n m: [1],\n className: styles.columnLayout,\n Section: {\n Heading: {\n level: 3,\n },\n },\n AccentBox: { className: styles.accentBox, color: \"neutral\" },\n },\n Heading: {\n level: 2,\n slot: \"title\",\n tunnelId: \"heading\",\n },\n ActionGroup: {\n className: styles.actionGroup,\n spacing: \"m\",\n },\n };\n\n return (\n <Overlay\n className={rootClassName}\n controller={controller}\n ref={ref}\n {...rest}\n >\n <PropsContextProvider props={propsContext}>\n <TunnelProvider>\n <HeaderView className={styles.header}>\n <TunnelExit id=\"heading\" />\n <Action closeOverlay=\"Modal\">\n <ButtonView\n variant=\"plain\"\n color=\"secondary\"\n className={styles.closeButton}\n onPress={controller?.close}\n >\n <IconClose />\n </ButtonView>\n </Action>\n </HeaderView>\n {children}\n </TunnelProvider>\n </PropsContextProvider>\n </Overlay>\n );\n});\n\nexport default Modal;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAyCO,MAAM,KAAQ,GAAA,aAAA,CAAc,OAAS,EAAA,CAAC,KAAU,KAAA;AACrD,EAAM,MAAA;AAAA,IACJ,IAAO,GAAA,GAAA;AAAA,IACP,SAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAA;AAAA,IACA,SAAA;AAAA,IACA,oBAAuB,GAAA,OAAA;AAAA,IACvB,GAAG;AAAA,GACD,GAAA,KAAA;AAEJ,EAAA,MAAM,aAAgB,GAAA,IAAA;AAAA,IACpB,SAAA,GAAY,MAAO,CAAA,SAAA,GAAY,MAAO,CAAA,KAAA;AAAA,IACtC,MAAA,CAAO,CAAQ,KAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA,IACrB,OAAO,oBAAoB,CAAA;AAAA,IAC3B;AAAA,GACF;AAEA,EAAA,MAAM,YAA6B,GAAA;AAAA,IACjC,OAAS,EAAA;AAAA,MACP,WAAW,MAAO,CAAA,OAAA;AAAA,MAClB,OAAS,EAAA;AAAA,QACP,OAAS,EAAA;AAAA,UACP,KAAO,EAAA;AAAA,SACT;AAAA,QACA,MAAQ,EAAA;AAAA,UACN,OAAS,EAAA;AAAA,YACP,KAAO,EAAA;AAAA;AACT;AACF;AACF,KACF;AAAA,IACA,YAAc,EAAA;AAAA,MACZ,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,MACR,CAAA,EAAG,CAAC,CAAC,CAAA;AAAA,MACL,WAAW,MAAO,CAAA,YAAA;AAAA,MAClB,OAAS,EAAA;AAAA,QACP,OAAS,EAAA;AAAA,UACP,KAAO,EAAA;AAAA;AACT,OACF;AAAA,MACA,WAAW,EAAE,SAAA,EAAW,MAAO,CAAA,SAAA,EAAW,OAAO,SAAU;AAAA,KAC7D;AAAA,IACA,OAAS,EAAA;AAAA,MACP,KAAO,EAAA,CAAA;AAAA,MACP,IAAM,EAAA,OAAA;AAAA,MACN,QAAU,EAAA;AAAA,KACZ;AAAA,IACA,WAAa,EAAA;AAAA,MACX,WAAW,MAAO,CAAA,WAAA;AAAA,MAClB,OAAS,EAAA;AAAA;AACX,GACF;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,aAAA;AAAA,MACX,UAAA;AAAA,MACA,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAA,GAAA,CAAA,oBAAA,EAAA,EAAqB,KAAO,EAAA,YAAA,EAC3B,+BAAC,cACC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAC,IAAA,CAAA,UAAA,EAAA,EAAW,SAAW,EAAA,MAAA,CAAO,MAC5B,EAAA,QAAA,EAAA;AAAA,0BAAC,GAAA,CAAA,UAAA,EAAA,EAAW,IAAG,SAAU,EAAA,CAAA;AAAA,0BACzB,GAAA,CAAC,MAAO,EAAA,EAAA,YAAA,EAAa,OACnB,EAAA,QAAA,kBAAA,GAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACC,OAAQ,EAAA,OAAA;AAAA,cACR,KAAM,EAAA,WAAA;AAAA,cACN,WAAW,MAAO,CAAA,WAAA;AAAA,cAClB,SAAS,UAAY,EAAA,KAAA;AAAA,cAErB,8BAAC,SAAU,EAAA,EAAA;AAAA;AAAA,WAEf,EAAA;AAAA,SACF,EAAA,CAAA;AAAA,QACC;AAAA,OAAA,EACH,CACF,EAAA;AAAA;AAAA,GACF;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"Modal.mjs","sources":["../../../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import type { PropsWithChildren, ReactNode } from \"react\";\nimport React 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 type { OverlayController } from \"@/lib/controller/overlay\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport { Overlay } from \"@/components/Overlay/Overlay\";\nimport { Action } from \"@/components/Action\";\nimport { IconClose } from \"@/components/Icon/components/icons\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport HeaderView from \"@/views/HeaderView\";\nimport ButtonView from \"@/views/ButtonView\";\n\nexport interface ModalProps\n extends PropsWithChildren,\n FlowComponentProps,\n PropsWithClassName {\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}\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 ...rest\n } = props;\n\n const rootClassName = clsx(\n offCanvas ? styles.offCanvas : styles.modal,\n styles[`size-${size}`],\n offCanvasOrientation === \"left\" && styles[\"left\"],\n className,\n );\n\n const header = (children: ReactNode) => (\n <HeaderView className={styles.header}>\n {children}\n <Action closeOverlay=\"Modal\">\n <ButtonView\n variant=\"plain\"\n color=\"secondary\"\n onPress={controller?.close}\n >\n <IconClose />\n </ButtonView>\n </Action>\n </HeaderView>\n );\n\n const propsContext: PropsContext = {\n Content: {\n className: styles.content,\n Section: {\n Heading: {\n level: 3,\n },\n Header: {\n Heading: {\n level: 3,\n },\n },\n },\n },\n ColumnLayout: {\n l: [2, 1],\n m: [1],\n className: styles.columnLayout,\n Section: {\n Heading: {\n level: 3,\n },\n },\n AccentBox: { className: styles.accentBox, color: \"neutral\" },\n },\n Heading: {\n level: 2,\n slot: \"title\",\n children: dynamic((props) => header(props.children)),\n },\n ActionGroup: {\n className: styles.actionGroup,\n spacing: \"m\",\n },\n };\n\n return (\n <Overlay\n className={rootClassName}\n controller={controller}\n ref={ref}\n {...rest}\n >\n <PropsContextProvider props={propsContext}>\n {children}\n </PropsContextProvider>\n </Overlay>\n );\n});\n\nexport default Modal;\n"],"names":["children","props"],"mappings":";;;;;;;;;;;;;;;;;AA2CO,MAAM,KAAQ,GAAA,aAAA,CAAc,OAAS,EAAA,CAAC,KAAU,KAAA;AACrD,EAAM,MAAA;AAAA,IACJ,IAAO,GAAA,GAAA;AAAA,IACP,SAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAA;AAAA,IACA,SAAA;AAAA,IACA,oBAAuB,GAAA,OAAA;AAAA,IACvB,GAAG;AAAA,GACD,GAAA,KAAA;AAEJ,EAAA,MAAM,aAAgB,GAAA,IAAA;AAAA,IACpB,SAAA,GAAY,MAAO,CAAA,SAAA,GAAY,MAAO,CAAA,KAAA;AAAA,IACtC,MAAA,CAAO,CAAQ,KAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA,IACrB,oBAAA,KAAyB,MAAU,IAAA,MAAA,CAAO,MAAM,CAAA;AAAA,IAChD;AAAA,GACF;AAEA,EAAA,MAAM,SAAS,CAACA,SAAAA,0BACb,UAAW,EAAA,EAAA,SAAA,EAAW,OAAO,MAC3B,EAAA,QAAA,EAAA;AAAA,IAAAA,SAAAA;AAAA,oBACD,GAAA,CAAC,MAAO,EAAA,EAAA,YAAA,EAAa,OACnB,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,OAAQ,EAAA,OAAA;AAAA,QACR,KAAM,EAAA,WAAA;AAAA,QACN,SAAS,UAAY,EAAA,KAAA;AAAA,QAErB,8BAAC,SAAU,EAAA,EAAA;AAAA;AAAA,KAEf,EAAA;AAAA,GACF,EAAA,CAAA;AAGF,EAAA,MAAM,YAA6B,GAAA;AAAA,IACjC,OAAS,EAAA;AAAA,MACP,WAAW,MAAO,CAAA,OAAA;AAAA,MAClB,OAAS,EAAA;AAAA,QACP,OAAS,EAAA;AAAA,UACP,KAAO,EAAA;AAAA,SACT;AAAA,QACA,MAAQ,EAAA;AAAA,UACN,OAAS,EAAA;AAAA,YACP,KAAO,EAAA;AAAA;AACT;AACF;AACF,KACF;AAAA,IACA,YAAc,EAAA;AAAA,MACZ,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,MACR,CAAA,EAAG,CAAC,CAAC,CAAA;AAAA,MACL,WAAW,MAAO,CAAA,YAAA;AAAA,MAClB,OAAS,EAAA;AAAA,QACP,OAAS,EAAA;AAAA,UACP,KAAO,EAAA;AAAA;AACT,OACF;AAAA,MACA,WAAW,EAAE,SAAA,EAAW,MAAO,CAAA,SAAA,EAAW,OAAO,SAAU;AAAA,KAC7D;AAAA,IACA,OAAS,EAAA;AAAA,MACP,KAAO,EAAA,CAAA;AAAA,MACP,IAAM,EAAA,OAAA;AAAA,MACN,UAAU,OAAQ,CAAA,CAACC,WAAU,MAAOA,CAAAA,MAAAA,CAAM,QAAQ,CAAC;AAAA,KACrD;AAAA,IACA,WAAa,EAAA;AAAA,MACX,WAAW,MAAO,CAAA,WAAA;AAAA,MAClB,OAAS,EAAA;AAAA;AACX,GACF;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,aAAA;AAAA,MACX,UAAA;AAAA,MACA,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAA,GAAA,CAAA,oBAAA,EAAA,EAAqB,KAAO,EAAA,YAAA,EAC1B,QACH,EAAA;AAAA;AAAA,GACF;AAEJ,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAK/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,MAAM,WAAW,UACf,SAAQ,iBAAiB,EACvB,kBAAkB,EAClB,kBAAkB;IACpB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,wDAAwD;IACxD,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,KAAK,2EAkFhB,CAAC;AAEH,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAC1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAK/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,MAAM,WAAW,UACf,SAAQ,iBAAiB,EACvB,kBAAkB,EAClB,kBAAkB;IACpB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,wDAAwD;IACxD,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,KAAK,2EAkFhB,CAAC;AAEH,eAAe,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mittwald/flow-react-components",
3
- "version": "0.2.0-alpha.404",
3
+ "version": "0.2.0-alpha.405",
4
4
  "type": "module",
5
5
  "description": "A React implementation of Flow, mittwald’s design system",
6
6
  "homepage": "https://mittwald.github.io/flow",
@@ -58,7 +58,7 @@
58
58
  "@chakra-ui/live-region": "^2.1.0",
59
59
  "@internationalized/string-compiler": "^3.2.6",
60
60
  "@mittwald/password-tools-js": "3.0.0-alpha.15",
61
- "@mittwald/react-tunnel": "0.2.0-alpha.404",
61
+ "@mittwald/react-tunnel": "0.2.0-alpha.405",
62
62
  "@mittwald/react-use-promise": "^3.0.4",
63
63
  "@react-aria/form": "^3.1.0",
64
64
  "@react-aria/utils": "^3.30.0",
@@ -99,7 +99,7 @@
99
99
  "@faker-js/faker": "^9.9.0",
100
100
  "@internationalized/date": "^3.8.2",
101
101
  "@mittwald/flow-core": "",
102
- "@mittwald/flow-design-tokens": "0.2.0-alpha.404",
102
+ "@mittwald/flow-design-tokens": "0.2.0-alpha.405",
103
103
  "@mittwald/react-use-promise": "^3.0.4",
104
104
  "@mittwald/remote-dom-react": "1.2.2-mittwald.3",
105
105
  "@mittwald/typescript-config": "",
@@ -175,5 +175,5 @@
175
175
  "optional": true
176
176
  }
177
177
  },
178
- "gitHead": "a33243825850524f9a2d7fb35875549cd300dea4"
178
+ "gitHead": "de3f31872d0f2cac81a9706d57d50715cb5a3d1e"
179
179
  }