@mittwald/flow-react-components 1.3.0-next.30 → 1.3.0-next.31

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.
@@ -36,6 +36,7 @@ var Button_module_default = {
36
36
  isPending,
37
37
  isFailed,
38
38
  isSucceeded,
39
+ "state-icon-pop": "flow--button--state-icon-pop",
39
40
  "size-s": "flow--button--size-s",
40
41
  primary,
41
42
  solid,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.module.mjs","names":[],"sources":["../../../../../../../src/components/Button/Button.module.scss"],"sourcesContent":["@use \"@/styles/mixins/ellipsis\";\n@use \"@/styles/mixins/focus\";\n@use \"@/styles/mixins/avatarButton\";\n\n.button {\n position: relative;\n font-family: Inter, sans-serif;\n font-size: var(--font-size-text--m);\n font-weight: bold;\n line-height: var(--line-height);\n border: none;\n border-radius: var(--button--corner-radius);\n padding-block: var(--button--padding-y);\n padding-inline: var(--button--padding-x);\n transition-property: color, background-color;\n transition-duration: var(--transition--duration--default);\n max-width: 100%;\n display: grid;\n align-items: center;\n grid-template-areas: \"content\";\n width: fit-content;\n\n &:where(.outline) {\n border-width: var(--button--border-width);\n border-style: var(--button--border-style);\n padding-block: calc(var(--button--padding-y) - var(--button--border-width));\n padding-inline: calc(\n var(--button--padding-x) - var(--button--border-width)\n );\n }\n\n @include focus.focus;\n\n @extend .primary;\n @extend .solid;\n\n /* Elements */\n .content {\n display: flex;\n column-gap: var(--button--spacing);\n align-items: center;\n justify-content: center;\n text-align: start;\n text-wrap-style: pretty;\n }\n\n .content,\n .stateIcon {\n grid-area: content;\n }\n\n .stateIcon {\n justify-self: center;\n }\n\n &:where(:has(.icon):not(:has(.text), .hasText)) {\n padding: var(--button--padding-icon-only);\n\n &:where(.outline) {\n padding: calc(\n var(--button--padding-icon-only) - var(--button--border-width)\n );\n }\n }\n\n .counterBadge {\n position: absolute;\n top: calc(var(--size-px--xxs) * -1);\n inset-inline-end: calc(var(--size-px--xxs) * -1);\n }\n\n /* States */\n\n &.isPending,\n &.isFailed,\n &.isSucceeded {\n .content {\n opacity: 0;\n }\n }\n\n &.isPending {\n .stateIcon {\n color: var(--button--pending-icon-color);\n }\n }\n\n /* Size */\n\n &:where(.size-s) {\n font-size: var(--button--font-size-s);\n line-height: var(--button--line-height-s);\n padding-block: var(--button--padding-s-y);\n padding-inline: var(--button--padding-s-x);\n column-gap: var(--button--spacing-s);\n border-radius: var(--button--corner-radius-s);\n\n &:where(.outline) {\n padding-block: calc(\n var(--button--padding-s-y) - var(--button--border-width)\n );\n padding-inline: calc(\n var(--button--padding-s-x) - var(--button--border-width)\n );\n }\n\n &:where(:has(.icon):not(:has(.text), .hasText)) {\n padding: var(--button--padding-s-icon-only);\n\n &:where(.outline) {\n padding: calc(\n var(--button--padding-s-icon-only) - var(--button--border-width)\n );\n }\n }\n\n .content {\n column-gap: var(--button--spacing-s);\n }\n }\n\n /* Variants */\n\n @mixin variant($color, $variant) {\n &:where(.#{$color}.#{$variant}) {\n background-color: var(\n --button--#{$color}-#{$variant}-background-color--default\n );\n color: var(--button--#{$color}-#{$variant}-content-color--default);\n\n &:hover:where(:not([data-readonly])) {\n background-color: var(\n --button--#{$color}-#{$variant}-background-color--hover\n );\n }\n\n &[data-pressed]:where(:not([data-readonly])) {\n background-color: var(\n --button--#{$color}-#{$variant}-background-color--pressed\n );\n }\n\n &[disabled],\n &[data-disabled],\n &.ariaDisabled,\n &.isPending,\n &.isFailed,\n &.isSucceeded {\n background-color: var(\n --button--#{$color}-#{$variant}-background-color--disabled\n );\n color: var(--button--#{$color}-#{$variant}-content-color--disabled);\n }\n }\n }\n\n @include variant(primary, solid);\n @include variant(success, solid);\n @include variant(danger, solid);\n @include variant(secondary, solid);\n @include variant(dark, solid);\n @include variant(light, solid);\n @include variant(dark-static, solid);\n @include variant(light-static, solid);\n @include variant(primary, plain);\n @include variant(success, plain);\n @include variant(danger, plain);\n @include variant(secondary, plain);\n @include variant(dark, plain);\n @include variant(light, plain);\n @include variant(dark-static, plain);\n @include variant(light-static, plain);\n @include variant(primary, soft);\n @include variant(success, soft);\n @include variant(danger, soft);\n @include variant(secondary, soft);\n @include variant(dark, soft);\n @include variant(light, soft);\n @include variant(dark-static, soft);\n @include variant(light-static, soft);\n @include variant(primary, outline);\n @include variant(success, outline);\n @include variant(danger, outline);\n @include variant(secondary, outline);\n @include variant(dark, outline);\n @include variant(light, outline);\n @include variant(dark-static, outline);\n @include variant(light-static, outline);\n\n /* Outline */\n\n @mixin outline($color, $variant) {\n &:where(.#{$color}.#{$variant}) {\n &.outline {\n border-color: var(\n --button--#{$color}-#{$variant}-border-color--default\n );\n\n &[disabled],\n &[data-disabled],\n &.ariaDisabled,\n &.isPending,\n &.isFailed {\n border-color: var(\n --button--#{$color}-#{$variant}-border-color--disabled\n );\n }\n }\n }\n }\n\n @include outline(primary, outline);\n @include outline(success, outline);\n @include outline(danger, outline);\n @include outline(secondary, outline);\n @include outline(dark, outline);\n @include outline(light, outline);\n @include outline(dark-static, outline);\n @include outline(light-static, outline);\n @include avatarButton.avatarButton();\n\n &:has(.image) {\n padding: 0;\n background: none;\n height: fit-content;\n\n &:hover:where(:not([data-readonly])) .image {\n background: var(--button--dark-plain-background-color--hover);\n filter: brightness(var(--image-button--brightness--hover));\n }\n\n &[data-pressed]:where(:not([data-readonly])) .image {\n background: var(--button--dark-plain-background-color--pressed);\n filter: brightness(var(--image-button--brightness--pressed));\n }\n\n .image {\n width: 100%;\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Button.module.mjs","names":[],"sources":["../../../../../../../src/components/Button/Button.module.scss"],"sourcesContent":["@use \"@/styles/mixins/ellipsis\";\n@use \"@/styles/mixins/focus\";\n@use \"@/styles/mixins/avatarButton\";\n\n.button {\n position: relative;\n font-family: Inter, sans-serif;\n font-size: var(--font-size-text--m);\n font-weight: bold;\n line-height: var(--line-height);\n border: none;\n border-radius: var(--button--corner-radius);\n padding-block: var(--button--padding-y);\n padding-inline: var(--button--padding-x);\n transition-property: color, background-color, transform;\n transition-duration:\n var(--transition--duration--default), var(--transition--duration--default),\n var(--transition--duration--fast);\n transition-timing-function: ease, ease, ease-out;\n max-width: 100%;\n display: grid;\n align-items: center;\n grid-template-areas: \"content\";\n width: fit-content;\n\n &:where(.outline) {\n border-width: var(--button--border-width);\n border-style: var(--button--border-style);\n padding-block: calc(var(--button--padding-y) - var(--button--border-width));\n padding-inline: calc(\n var(--button--padding-x) - var(--button--border-width)\n );\n }\n\n @include focus.focus;\n\n @extend .primary;\n @extend .solid;\n\n /* Elements */\n .content {\n display: flex;\n column-gap: var(--button--spacing);\n align-items: center;\n justify-content: center;\n text-align: start;\n text-wrap-style: pretty;\n\n /* Fade the label out when a state icon (pending/success/fail) takes over. */\n transition-property: opacity;\n transition-duration: var(--transition--duration--fast);\n }\n\n .content,\n .stateIcon {\n grid-area: content;\n }\n\n .stateIcon {\n justify-self: center;\n }\n\n &:where(:has(.icon):not(:has(.text), .hasText)) {\n padding: var(--button--padding-icon-only);\n\n &:where(.outline) {\n padding: calc(\n var(--button--padding-icon-only) - var(--button--border-width)\n );\n }\n }\n\n .counterBadge {\n position: absolute;\n top: calc(var(--size-px--xxs) * -1);\n inset-inline-end: calc(var(--size-px--xxs) * -1);\n }\n\n /* States */\n\n /* Subtle tactile press feedback: a slight inward scale while pressed.\n Overlay triggers keep data-pressed while their overlay is open, so an\n expanded trigger is excluded. */\n &[data-pressed]:where(:not([data-readonly], [aria-expanded=\"true\"])) {\n transform: scale(0.97);\n }\n\n &.isPending,\n &.isFailed,\n &.isSucceeded {\n .content {\n opacity: 0;\n }\n }\n\n &.isPending {\n .stateIcon {\n color: var(--button--pending-icon-color);\n }\n }\n\n /* Success/failure icon pops in when it replaces the label. The pending\n spinner is left alone — it has its own animation. */\n &.isSucceeded,\n &.isFailed {\n .stateIcon {\n animation: state-icon-pop var(--transition--duration--default)\n cubic-bezier(0.34, 1.35, 0.5, 1);\n }\n }\n\n /* Size */\n\n &:where(.size-s) {\n font-size: var(--button--font-size-s);\n line-height: var(--button--line-height-s);\n padding-block: var(--button--padding-s-y);\n padding-inline: var(--button--padding-s-x);\n column-gap: var(--button--spacing-s);\n border-radius: var(--button--corner-radius-s);\n\n &:where(.outline) {\n padding-block: calc(\n var(--button--padding-s-y) - var(--button--border-width)\n );\n padding-inline: calc(\n var(--button--padding-s-x) - var(--button--border-width)\n );\n }\n\n &:where(:has(.icon):not(:has(.text), .hasText)) {\n padding: var(--button--padding-s-icon-only);\n\n &:where(.outline) {\n padding: calc(\n var(--button--padding-s-icon-only) - var(--button--border-width)\n );\n }\n }\n\n .content {\n column-gap: var(--button--spacing-s);\n }\n }\n\n /* Variants */\n\n @mixin variant($color, $variant) {\n &:where(.#{$color}.#{$variant}) {\n background-color: var(\n --button--#{$color}-#{$variant}-background-color--default\n );\n color: var(--button--#{$color}-#{$variant}-content-color--default);\n\n &:hover:where(:not([data-readonly])) {\n background-color: var(\n --button--#{$color}-#{$variant}-background-color--hover\n );\n }\n\n &[data-pressed]:where(:not([data-readonly])) {\n background-color: var(\n --button--#{$color}-#{$variant}-background-color--pressed\n );\n }\n\n &[disabled],\n &[data-disabled],\n &.ariaDisabled,\n &.isPending,\n &.isFailed,\n &.isSucceeded {\n background-color: var(\n --button--#{$color}-#{$variant}-background-color--disabled\n );\n color: var(--button--#{$color}-#{$variant}-content-color--disabled);\n }\n }\n }\n\n @include variant(primary, solid);\n @include variant(success, solid);\n @include variant(danger, solid);\n @include variant(secondary, solid);\n @include variant(dark, solid);\n @include variant(light, solid);\n @include variant(dark-static, solid);\n @include variant(light-static, solid);\n @include variant(primary, plain);\n @include variant(success, plain);\n @include variant(danger, plain);\n @include variant(secondary, plain);\n @include variant(dark, plain);\n @include variant(light, plain);\n @include variant(dark-static, plain);\n @include variant(light-static, plain);\n @include variant(primary, soft);\n @include variant(success, soft);\n @include variant(danger, soft);\n @include variant(secondary, soft);\n @include variant(dark, soft);\n @include variant(light, soft);\n @include variant(dark-static, soft);\n @include variant(light-static, soft);\n @include variant(primary, outline);\n @include variant(success, outline);\n @include variant(danger, outline);\n @include variant(secondary, outline);\n @include variant(dark, outline);\n @include variant(light, outline);\n @include variant(dark-static, outline);\n @include variant(light-static, outline);\n\n /* Outline */\n\n @mixin outline($color, $variant) {\n &:where(.#{$color}.#{$variant}) {\n &.outline {\n border-color: var(\n --button--#{$color}-#{$variant}-border-color--default\n );\n\n &[disabled],\n &[data-disabled],\n &.ariaDisabled,\n &.isPending,\n &.isFailed {\n border-color: var(\n --button--#{$color}-#{$variant}-border-color--disabled\n );\n }\n }\n }\n }\n\n @include outline(primary, outline);\n @include outline(success, outline);\n @include outline(danger, outline);\n @include outline(secondary, outline);\n @include outline(dark, outline);\n @include outline(light, outline);\n @include outline(dark-static, outline);\n @include outline(light-static, outline);\n @include avatarButton.avatarButton();\n\n &:has(.image) {\n padding: 0;\n background: none;\n height: fit-content;\n\n &:hover:where(:not([data-readonly])) .image {\n background: var(--button--dark-plain-background-color--hover);\n filter: brightness(var(--image-button--brightness--hover));\n }\n\n &[data-pressed]:where(:not([data-readonly])) .image {\n background: var(--button--dark-plain-background-color--pressed);\n filter: brightness(var(--image-button--brightness--pressed));\n }\n\n .image {\n width: 100%;\n }\n }\n}\n\n@keyframes state-icon-pop {\n from {\n transform: scale(0.6);\n opacity: 0;\n }\n\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n"],"mappings":""}
@@ -7,7 +7,8 @@ var icon = "flow--checkbox--icon";
7
7
  var Checkbox_module_default = {
8
8
  checkbox,
9
9
  input,
10
- icon
10
+ icon,
11
+ "check-pop": "flow--checkbox--check-pop"
11
12
  };
12
13
  //#endregion
13
14
  export { checkbox, Checkbox_module_default as default, icon, input };
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.module.mjs","names":[],"sources":["../../../../../../../src/components/Checkbox/Checkbox.module.scss"],"sourcesContent":["@use \"@/styles/mixins/focus\";\n@use \"@/styles/mixins/formControl\";\n\n.checkbox {\n @include formControl.formHiddenInputScrollBehaviorFix;\n\n .input {\n display: flex;\n flex-direction: row;\n column-gap: var(--form-control--spacing-x);\n\n @include focus.focus;\n\n &[data-selected],\n &[data-indeterminate] {\n .icon {\n color: var(--choice--icon-color--selected);\n }\n }\n\n &[data-disabled] {\n color: var(--text--color--disabled);\n\n .icon {\n color: var(--choice--icon-color--disabled);\n }\n }\n\n &[data-invalid]:not([data-selected]) {\n .icon {\n color: var(--form-control--border-color--invalid);\n }\n }\n }\n\n .icon {\n color: var(--choice--icon-color--default);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Checkbox.module.mjs","names":[],"sources":["../../../../../../../src/components/Checkbox/Checkbox.module.scss"],"sourcesContent":["@use \"@/styles/mixins/focus\";\n@use \"@/styles/mixins/formControl\";\n\n.checkbox {\n @include formControl.formHiddenInputScrollBehaviorFix;\n\n .input {\n display: flex;\n flex-direction: row;\n column-gap: var(--form-control--spacing-x);\n\n @include focus.focus;\n\n &[data-selected],\n &[data-indeterminate] {\n .icon {\n color: var(--choice--icon-color--selected);\n }\n }\n\n &[data-disabled] {\n color: var(--text--color--disabled);\n\n .icon {\n color: var(--choice--icon-color--disabled);\n }\n }\n\n &[data-invalid]:not([data-selected]) {\n .icon {\n color: var(--form-control--border-color--invalid);\n }\n }\n }\n\n .icon {\n color: var(--choice--icon-color--default);\n }\n\n /* When the box becomes checked/indeterminate, React mounts the checked icon.\n It settles in softly from a slightly smaller, half-faded state; the box\n never fully disappears, so the swap does not flicker. Unchecking\n mounts the empty icon, which is intentionally left un-animated. */\n .input[data-selected] .icon,\n .input[data-indeterminate] .icon {\n animation: check-pop var(--transition--duration--fast)\n cubic-bezier(0.2, 0, 0, 1);\n }\n}\n\n@keyframes check-pop {\n from {\n transform: scale(0.9);\n opacity: 0.5;\n }\n\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n"],"mappings":""}
@@ -5,7 +5,8 @@ var radio = "flow--radio-group--radio";
5
5
  var icon = "flow--radio-group--radio--icon";
6
6
  var Radio_module_default = {
7
7
  radio,
8
- icon
8
+ icon,
9
+ "radio-pop": "flow--radio-group--radio--radio-pop"
9
10
  };
10
11
  //#endregion
11
12
  export { Radio_module_default as default, icon, radio };
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.module.mjs","names":[],"sources":["../../../../../../../../../src/components/RadioGroup/components/Radio/Radio.module.scss"],"sourcesContent":["@use \"@/styles/mixins/focus\";\n\n.radio {\n display: grid;\n column-gap: var(--form-control--spacing-x);\n grid-template-columns: auto 1fr;\n width: fit-content;\n\n @include focus.focus;\n\n .icon {\n color: var(--choice--icon-color--default);\n }\n\n &[data-selected] {\n .icon {\n color: var(--choice--icon-color--selected);\n }\n }\n\n &[data-disabled] {\n color: var(--text--color--disabled);\n\n .icon {\n color: var(--choice--icon-color--disabled);\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Radio.module.mjs","names":[],"sources":["../../../../../../../../../src/components/RadioGroup/components/Radio/Radio.module.scss"],"sourcesContent":["@use \"@/styles/mixins/focus\";\n\n.radio {\n display: grid;\n column-gap: var(--form-control--spacing-x);\n grid-template-columns: auto 1fr;\n width: fit-content;\n\n @include focus.focus;\n\n .icon {\n color: var(--choice--icon-color--default);\n }\n\n &[data-selected] {\n .icon {\n color: var(--choice--icon-color--selected);\n\n /* Subtle pop when the filled dot mounts on selection. */\n animation: radio-pop var(--transition--duration--fast)\n cubic-bezier(0.2, 0, 0, 1);\n }\n }\n\n &[data-disabled] {\n color: var(--text--color--disabled);\n\n .icon {\n color: var(--choice--icon-color--disabled);\n }\n }\n}\n\n@keyframes radio-pop {\n from {\n transform: scale(0.9);\n opacity: 0.5;\n }\n\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.module.mjs","names":[],"sources":["../../../../../../../src/components/Switch/Switch.module.scss"],"sourcesContent":["@use \"@/styles/mixins/focus\";\n@use \"@/styles/mixins/formControl\";\n\n.switch {\n @include formControl.formHiddenInputScrollBehaviorFix;\n\n display: flex;\n align-items: center;\n column-gap: var(--switch--label-to-track-spacing);\n\n &.label-leading {\n flex-direction: row-reverse;\n }\n\n /* Elements */\n .track {\n width: var(--switch--track-width);\n height: var(--switch--track-height);\n background-color: var(--switch--track-background-color--default);\n border-radius: var(--switch--track-corner-radius);\n padding: var(--switch--track-padding);\n flex-shrink: 0;\n position: relative;\n transition-property: background-color;\n transition-duration: var(--transition--duration--default);\n align-self: start;\n\n @include focus.focus;\n }\n\n .handle {\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--switch--handle-size);\n height: var(--switch--handle-size);\n background-color: var(--switch--handle-background-color);\n border-radius: var(--corner-radius--round);\n transition-property: transform;\n transition-duration: var(--transition--duration--default);\n transform: translateX(0);\n position: absolute;\n top: var(--switch--track-padding);\n inset-inline-start: var(--switch--track-padding);\n }\n\n .label {\n margin: 0;\n }\n\n /* States */\n\n &[data-focus-visible] .track {\n outline-style: solid;\n }\n\n &[data-selected] {\n .track {\n background-color: var(--switch--track-background-color--selected);\n }\n\n .handle {\n transform: translate(100%);\n }\n }\n\n &[data-disabled] {\n .track {\n background-color: var(--switch--track-background-color--disabled);\n color: var(--switch--track-background-color--disabled);\n }\n\n .handle {\n color: var(--switch--handle-content-color--disabled);\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Switch.module.mjs","names":[],"sources":["../../../../../../../src/components/Switch/Switch.module.scss"],"sourcesContent":["@use \"@/styles/mixins/focus\";\n@use \"@/styles/mixins/formControl\";\n\n.switch {\n @include formControl.formHiddenInputScrollBehaviorFix;\n\n display: flex;\n align-items: center;\n column-gap: var(--switch--label-to-track-spacing);\n\n &.label-leading {\n flex-direction: row-reverse;\n }\n\n /* Elements */\n .track {\n width: var(--switch--track-width);\n height: var(--switch--track-height);\n background-color: var(--switch--track-background-color--default);\n border-radius: var(--switch--track-corner-radius);\n padding: var(--switch--track-padding);\n flex-shrink: 0;\n position: relative;\n transition-property: background-color;\n transition-duration: var(--transition--duration--default);\n align-self: start;\n\n @include focus.focus;\n }\n\n .handle {\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--switch--handle-size);\n height: var(--switch--handle-size);\n background-color: var(--switch--handle-background-color);\n border-radius: var(--corner-radius--round);\n transition-property: transform;\n transition-duration: var(--transition--duration--default);\n\n /* Subtle overshoot: the handle settles with a slight spring, like a\n physical toggle. */\n transition-timing-function: cubic-bezier(0.34, 1.35, 0.5, 1);\n transform: translateX(0);\n position: absolute;\n top: var(--switch--track-padding);\n inset-inline-start: var(--switch--track-padding);\n }\n\n .label {\n margin: 0;\n }\n\n /* States */\n\n &[data-focus-visible] .track {\n outline-style: solid;\n }\n\n &[data-selected] {\n .track {\n background-color: var(--switch--track-background-color--selected);\n }\n\n .handle {\n transform: translate(100%);\n }\n }\n\n &[data-disabled] {\n .track {\n background-color: var(--switch--track-background-color--disabled);\n color: var(--switch--track-background-color--disabled);\n }\n\n .handle {\n color: var(--switch--handle-content-color--disabled);\n }\n }\n}\n"],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mittwald/flow-react-components",
3
- "version": "1.3.0-next.30",
3
+ "version": "1.3.0-next.31",
4
4
  "type": "module",
5
5
  "description": "A React implementation of Flow, mittwald’s design system",
6
6
  "homepage": "https://flow.mittwald.de",
@@ -83,9 +83,9 @@
83
83
  "@internationalized/string-compiler": "^3.4.1",
84
84
  "@lezer/common": "^1.5.2",
85
85
  "@lezer/highlight": "^1.2.3",
86
- "@mittwald/flow-icons": "^1.3.0-next.30",
86
+ "@mittwald/flow-icons": "^1.3.0-next.31",
87
87
  "@mittwald/password-tools-js": "^3.0.0",
88
- "@mittwald/react-tunnel": "^1.3.0-next.30",
88
+ "@mittwald/react-tunnel": "^1.3.0-next.31",
89
89
  "@mittwald/react-use-promise": "^4.2.2",
90
90
  "@react-aria/form": "^3.2.1",
91
91
  "@react-aria/i18n": "^3.13.1",
@@ -138,12 +138,12 @@
138
138
  "@internationalized/date": "^3.12.3",
139
139
  "@lezer/generator": "^1.8.0",
140
140
  "@lezer/lr": "^1.4.10",
141
- "@mittwald/flow-core": "1.3.0-next.30",
142
- "@mittwald/flow-design-tokens": "1.3.0-next.30",
143
- "@mittwald/flow-icons-base": "1.3.0-next.30",
141
+ "@mittwald/flow-core": "1.3.0-next.31",
142
+ "@mittwald/flow-design-tokens": "1.3.0-next.31",
143
+ "@mittwald/flow-icons-base": "1.3.0-next.31",
144
144
  "@mittwald/react-use-promise": "^4.2.2",
145
145
  "@mittwald/remote-dom-react": "1.2.2-mittwald.10",
146
- "@mittwald/typescript-config": "1.3.0-next.30",
146
+ "@mittwald/typescript-config": "1.3.0-next.31",
147
147
  "@nx/storybook": "^22.7.6",
148
148
  "@storybook/addon-a11y": "^10.5.10",
149
149
  "@storybook/addon-actions": "^9.0.8",
@@ -195,7 +195,7 @@
195
195
  },
196
196
  "peerDependencies": {
197
197
  "@internationalized/date": "^3.12.2",
198
- "@mittwald/flow-icons-pro": "1.3.0-next.30",
198
+ "@mittwald/flow-icons-pro": "1.3.0-next.31",
199
199
  "@mittwald/react-use-promise": "^4.2.2",
200
200
  "next": "^16.2.3",
201
201
  "react": "^19.2.0",
@@ -219,5 +219,5 @@
219
219
  "browserslist": [
220
220
  "baseline widely available"
221
221
  ],
222
- "gitHead": "4a376bc408f5bd42eb2bb622813fb606c6c938d5"
222
+ "gitHead": "249b9df1475e88a360f478850a43dd7d3b129bbb"
223
223
  }