flet-box 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/bin/cli.js +13 -0
  2. package/bin/commands/checkApi.js +13 -1
  3. package/bin/commands/checkUi.js +1369 -0
  4. package/bin/commands/create.js +49 -5
  5. package/bin/commands/createBundle.js +21 -0
  6. package/bin/commands/runServer.js +11 -2
  7. package/bin/utils/pwaShell.js +137 -0
  8. package/bin/utils/templates.js +1373 -434
  9. package/docs/README.md +2 -0
  10. package/docs/cli/README.md +62 -1
  11. package/docs/guides/README.md +2 -0
  12. package/docs/guides/clean-ui.md +211 -0
  13. package/docs/guides/minification-and-protection.md +1 -1
  14. package/docs/guides/online-updates.md +48 -0
  15. package/docs/tools/README.md +1 -1
  16. package/docs/tools/animation.md +1 -1
  17. package/docs/tools/markdown.md +3 -3
  18. package/docs/tools/theme.md +41 -1
  19. package/docs/widget/Accordion.md +3 -0
  20. package/docs/widget/AdMob.md +4 -1
  21. package/docs/widget/AdSense.md +3 -0
  22. package/docs/widget/AnimatedBox.md +6 -3
  23. package/docs/widget/AnimatedText.md +3 -0
  24. package/docs/widget/Audio.md +3 -0
  25. package/docs/widget/Avatar.md +3 -0
  26. package/docs/widget/Badge.md +3 -0
  27. package/docs/widget/Button.md +3 -0
  28. package/docs/widget/COMMON_PROPS.md +52 -0
  29. package/docs/widget/Card.md +3 -0
  30. package/docs/widget/Carousel.md +3 -0
  31. package/docs/widget/Chart.md +3 -0
  32. package/docs/widget/Checkbox.md +3 -0
  33. package/docs/widget/Chip.md +3 -0
  34. package/docs/widget/CircularBar.md +3 -0
  35. package/docs/widget/CircularChart.md +3 -0
  36. package/docs/widget/CodeViewer.md +3 -0
  37. package/docs/widget/Column.md +3 -0
  38. package/docs/widget/Container.md +3 -0
  39. package/docs/widget/DataTable.md +3 -0
  40. package/docs/widget/Divider.md +3 -0
  41. package/docs/widget/DraggBox.md +3 -0
  42. package/docs/widget/Dropdown.md +3 -0
  43. package/docs/widget/DroppBox.md +3 -0
  44. package/docs/widget/FloatingActionButton.md +3 -0
  45. package/docs/widget/GridView.md +3 -0
  46. package/docs/widget/Icon.md +3 -0
  47. package/docs/widget/Image.md +3 -0
  48. package/docs/widget/Input.md +3 -0
  49. package/docs/widget/Inspector.md +2 -2
  50. package/docs/widget/InstallButton.md +3 -0
  51. package/docs/widget/ListTile.md +3 -0
  52. package/docs/widget/ListView.md +3 -0
  53. package/docs/widget/Maps.md +3 -0
  54. package/docs/widget/Markdown.md +3 -0
  55. package/docs/widget/MatrixRain.md +3 -0
  56. package/docs/widget/Pagination.md +3 -0
  57. package/docs/widget/ParallaxBox.md +3 -0
  58. package/docs/widget/ProgressBar.md +3 -0
  59. package/docs/widget/QRCode.md +3 -0
  60. package/docs/widget/Radio.md +4 -1
  61. package/docs/widget/Rating.md +3 -0
  62. package/docs/widget/Row.md +3 -0
  63. package/docs/widget/Skeleton.md +3 -0
  64. package/docs/widget/Slider.md +3 -0
  65. package/docs/widget/Stack.md +3 -0
  66. package/docs/widget/Stepper.md +3 -0
  67. package/docs/widget/Switch.md +3 -0
  68. package/docs/widget/Tabs.md +5 -5
  69. package/docs/widget/Text.md +3 -0
  70. package/docs/widget/Tooltip.md +3 -0
  71. package/docs/widget/TreeView.md +3 -0
  72. package/docs/widget/Video.md +3 -0
  73. package/package.json +2 -2
  74. package/src/animations/AnimatedBox.js +4 -1
  75. package/src/animations/MatrixRain.js +3 -3
  76. package/src/index.d.ts +64 -8
  77. package/src/index.js +1 -0
  78. package/src/navigations/AppBar.js +7 -12
  79. package/src/navigations/BottomNavigation.js +8 -13
  80. package/src/navigations/CollapsibleSideBar.js +30 -8
  81. package/src/navigations/Drawer.js +16 -14
  82. package/src/navigations/DrawerItem.js +3 -1
  83. package/src/navigations/Scaffold.js +26 -12
  84. package/src/navigations/Tabs.js +104 -59
  85. package/src/tools/color.js +54 -0
  86. package/src/tools/index.js +9 -1
  87. package/src/tools/scale.js +41 -0
  88. package/src/tools/shadow.js +20 -0
  89. package/src/utils/index.js +1 -0
  90. package/src/utils/readableInk.js +19 -0
  91. package/src/utils/syntaxHighlight.js +78 -10
  92. package/src/utils/themes.js +217 -54
  93. package/src/utils/units.js +33 -11
  94. package/src/widget-factory/effects.js +56 -5
  95. package/src/widget-factory/processProps.js +10 -1
  96. package/src/widget-factory/remTool.js +15 -29
  97. package/src/widget-factory/stackPosition.js +18 -3
  98. package/src/widget-factory/translateProps.js +28 -0
  99. package/src/widgets/Accordion.js +20 -23
  100. package/src/widgets/AdMob.js +7 -2
  101. package/src/widgets/Avatar.js +18 -12
  102. package/src/widgets/Badge.js +3 -2
  103. package/src/widgets/BottomSheet.js +14 -13
  104. package/src/widgets/Button.js +69 -30
  105. package/src/widgets/Card.js +6 -2
  106. package/src/widgets/Carousel.js +12 -10
  107. package/src/widgets/Chart.js +28 -5
  108. package/src/widgets/Checkbox.js +76 -18
  109. package/src/widgets/Chip.js +31 -10
  110. package/src/widgets/CircularBar.js +7 -7
  111. package/src/widgets/CircularChart.js +26 -8
  112. package/src/widgets/CodeViewer.js +93 -20
  113. package/src/widgets/DataTable.js +17 -11
  114. package/src/widgets/DraggBox.js +2 -1
  115. package/src/widgets/Dropdown.js +26 -13
  116. package/src/widgets/DroppBox.js +4 -2
  117. package/src/widgets/FloatingActionButton.js +13 -7
  118. package/src/widgets/Icon.js +3 -1
  119. package/src/widgets/Input.js +30 -23
  120. package/src/widgets/Inspector.js +54 -1
  121. package/src/widgets/InstallButton.js +6 -4
  122. package/src/widgets/ListTile.js +4 -3
  123. package/src/widgets/ListView.js +30 -12
  124. package/src/widgets/Markdown.js +37 -26
  125. package/src/widgets/Modal.js +14 -11
  126. package/src/widgets/Pagination.js +16 -11
  127. package/src/widgets/ProgressBar.js +6 -4
  128. package/src/widgets/Radio.js +73 -15
  129. package/src/widgets/Rating.js +24 -6
  130. package/src/widgets/Skeleton.js +31 -31
  131. package/src/widgets/Slider.js +29 -18
  132. package/src/widgets/SnackBar.js +35 -39
  133. package/src/widgets/Stepper.js +13 -9
  134. package/src/widgets/Switch.js +59 -18
  135. package/src/widgets/Tooltip.js +12 -10
  136. package/src/widgets/TreeView.js +27 -15
@@ -74,6 +74,37 @@ These expand to two sides at once (numeric values are pixels):
74
74
  `flexBasis`, `gap`, `boxSizing`, `overflow`, `overflowX`, `overflowY`,
75
75
  `position` (`pos`), `top`, `right`, `bottom`, `left`, `inset`, `zIndex` (`z`).
76
76
 
77
+ ### Stack positioning
78
+
79
+ `position: 'stack'` takes the widget out of normal flow and pins it to its
80
+ nearest positioned ancestor. The placement shorthands below apply **only** in
81
+ that mode; the plain offsets still work with any CSS `position` value.
82
+
83
+ | Prop | Effect |
84
+ | --- | --- |
85
+ | `top` / `right` / `bottom` / `left` | Edge offsets. A number is pixels on the 16px base, written as rem. |
86
+ | `start` / `end` | `left` / `right` under the logical names. |
87
+ | `centerX` / `centerY` | Centre on one axis. |
88
+ | `center` | Centre on both axes. |
89
+ | `fullWidth` / `fullHeight` | Stretch to the parent's width / height. |
90
+ | `full` | Stretch on both axes. |
91
+
92
+ ```js
93
+ Stack({
94
+ width: "100%",
95
+ height: 320,
96
+ children: [
97
+ Image({ src: "cover.jpg", position: "stack", full: true, fit: "cover" }),
98
+ Text({ text: "Centred", position: "stack", center: true }),
99
+ ],
100
+ });
101
+ ```
102
+
103
+ A `false` shorthand means "do not apply", so `full: false` leaves the widget at
104
+ its natural size. [`Button`](Button.md), [`Input`](Input.md) and
105
+ [`Tabs`](Tabs.md) also read `fullWidth` as a plain layout prop, independent of
106
+ `position`.
107
+
77
108
  ## Size and spacing
78
109
 
79
110
  `width` (`w`), `height` (`h`), `minWidth`/`maxWidth`, `minHeight`/`maxHeight`,
@@ -107,6 +138,27 @@ shorthands `roundedTop`, `roundedBottom`, `roundedLeft`, `roundedRight`, plus
107
138
  `transition`, `animation`, `transform`, `cursor`, `visibility`, `pointerEvents`,
108
139
  `userSelect`, `touchAction`.
109
140
 
141
+ ## Glass and filters
142
+
143
+ `backdropFilter`, `filter`, `maskImage`. Each takes a raw CSS value string, not an
144
+ object.
145
+
146
+ ```js
147
+ Card({
148
+ bgColor: colors.glass,
149
+ borderColor: colors.glassBorder,
150
+ borderWidth: 1,
151
+ backdropFilter: 'blur(14px) saturate(160%)',
152
+ });
153
+ ```
154
+
155
+ > A translucent `bgColor` alone is only see-through. `backdropFilter` blurs what is
156
+ > behind the widget, which is what makes the card read as frosted glass.
157
+ > `backdropFilter` and `maskImage` also write their `-webkit-` twin, so the effect
158
+ > reaches Safari and the `WKWebView` inside a wrapped iOS app.
159
+ > `filter` affects the widget's own pixels; `backdropFilter` affects only the
160
+ > backdrop, so the widget's text stays sharp.
161
+
110
162
  ## Text content
111
163
 
112
164
  These set the element's text: `text`, `label`, `title`, `caption`, `description`,
@@ -50,6 +50,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
50
50
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
51
51
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
52
52
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
53
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
54
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
55
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
53
56
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
54
57
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
55
58
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -59,6 +59,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
59
59
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
60
60
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
61
61
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
62
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
63
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
64
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
62
65
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
63
66
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
64
67
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -65,6 +65,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
65
65
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
66
66
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
67
67
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
68
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
69
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
70
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
68
71
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
69
72
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
70
73
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -46,6 +46,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
46
46
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
47
47
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
48
48
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
49
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
50
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
51
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
49
52
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
50
53
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
51
54
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -52,6 +52,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
52
52
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
53
53
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
54
54
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
55
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
56
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
57
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
55
58
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
56
59
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
57
60
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -77,6 +77,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
77
77
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
78
78
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
79
79
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
80
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
81
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
82
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
80
83
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
81
84
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
82
85
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -72,6 +72,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
72
72
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
73
73
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
74
74
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
75
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
76
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
77
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
75
78
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
76
79
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
77
80
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -52,6 +52,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
52
52
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
53
53
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
54
54
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
55
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
56
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
57
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
55
58
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
56
59
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
57
60
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -49,6 +49,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
49
49
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
50
50
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
51
51
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
52
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
53
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
54
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
52
55
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
53
56
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
54
57
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -56,6 +56,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
56
56
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
57
57
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
58
58
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
59
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
60
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
61
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
59
62
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
60
63
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
61
64
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -60,6 +60,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
60
60
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
61
61
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
62
62
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
63
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
64
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
65
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
63
66
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
64
67
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
65
68
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -42,6 +42,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
42
42
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
43
43
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
44
44
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
45
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
46
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
47
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
45
48
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
46
49
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
47
50
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -51,6 +51,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
51
51
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
52
52
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
53
53
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
54
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
55
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
56
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
54
57
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
55
58
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
56
59
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -58,6 +58,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
58
58
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
59
59
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
60
60
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
61
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
62
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
63
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
61
64
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
62
65
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
63
66
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -66,6 +66,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
66
66
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
67
67
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
68
68
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
69
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
70
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
71
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
69
72
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
70
73
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
71
74
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -50,6 +50,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
50
50
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
51
51
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
52
52
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
53
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
54
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
55
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
53
56
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
54
57
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
55
58
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -59,6 +59,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
59
59
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
60
60
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
61
61
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
62
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
63
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
64
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
62
65
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
63
66
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
64
67
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -44,6 +44,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
44
44
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
45
45
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
46
46
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
47
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
48
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
49
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
47
50
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
48
51
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
49
52
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -52,6 +52,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
52
52
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
53
53
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
54
54
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
55
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
56
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
57
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
55
58
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
56
59
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
57
60
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -70,6 +70,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
70
70
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
71
71
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
72
72
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
73
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
74
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
75
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
73
76
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
74
77
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
75
78
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -23,7 +23,7 @@ const debug = Inspector({
23
23
  | Prop | Type | Description |
24
24
  | --- | --- | --- |
25
25
  | `widget` | `Widget` | The DOM node or widget to inspect. |
26
- | `indent` | `number` | Indentation depth used when printing nested structures. |
26
+ | `indent` | `number` | Starting indentation depth of the printout; each level is two spaces. |
27
27
 
28
28
  ## Examples
29
29
 
@@ -37,7 +37,7 @@ const debug = Inspector({
37
37
  padding: 16,
38
38
  child: Text({ text: "Profile" }),
39
39
  }),
40
- indent: 16,
40
+ indent: 1,
41
41
  });
42
42
  ```
43
43
 
@@ -48,6 +48,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
48
48
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
49
49
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
50
50
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
51
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
52
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
53
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
51
54
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
52
55
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
53
56
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -59,6 +59,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
59
59
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
60
60
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
61
61
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
62
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
63
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
64
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
62
65
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
63
66
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
64
67
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -58,6 +58,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
58
58
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
59
59
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
60
60
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
61
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
62
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
63
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
61
64
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
62
65
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
63
66
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -62,6 +62,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
62
62
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
63
63
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
64
64
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
65
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
66
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
67
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
65
68
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
66
69
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
67
70
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -84,6 +84,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
84
84
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
85
85
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
86
86
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
87
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
88
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
89
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
87
90
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
88
91
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
89
92
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -46,6 +46,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
46
46
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
47
47
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
48
48
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
49
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
50
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
51
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
49
52
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
50
53
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
51
54
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -55,6 +55,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
55
55
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
56
56
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
57
57
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
58
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
59
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
60
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
58
61
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
59
62
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
60
63
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -50,6 +50,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
50
50
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
51
51
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
52
52
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
53
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
54
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
55
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
53
56
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
54
57
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
55
58
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -53,6 +53,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
53
53
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
54
54
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
55
55
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
56
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
57
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
58
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
56
59
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
57
60
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
58
61
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -46,6 +46,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
46
46
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
47
47
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
48
48
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
49
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
50
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
51
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
49
52
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
50
53
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
51
54
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -49,6 +49,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
49
49
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
50
50
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
51
51
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
52
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
53
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
54
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
52
55
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
53
56
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
54
57
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -100,7 +103,7 @@ const option = Radio({
100
103
 
101
104
  ## Accessibility
102
105
 
103
- - The circle carries no visible label on its own; render a Text beside it and never rely on color alone.
106
+ - The `label` prop renders the words beside the ring inside the same pressable row; never rely on color alone to convey the selection.
104
107
 
105
108
  ## Behavior
106
109
 
@@ -55,6 +55,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
55
55
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
56
56
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
57
57
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
58
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
59
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
60
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
58
61
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
59
62
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
60
63
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -50,6 +50,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
50
50
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
51
51
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
52
52
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
53
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
54
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
55
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
53
56
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
54
57
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
55
58
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -53,6 +53,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
53
53
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
54
54
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
55
55
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
56
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
57
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
58
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
56
59
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
57
60
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
58
61
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -64,6 +64,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
64
64
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
65
65
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
66
66
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
67
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
68
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
69
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
67
70
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
68
71
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
69
72
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -46,6 +46,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
46
46
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
47
47
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
48
48
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
49
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
50
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
51
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
49
52
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
50
53
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
51
54
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -63,6 +63,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
63
63
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
64
64
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
65
65
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
66
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
67
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
68
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
66
69
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
67
70
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
68
71
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -46,6 +46,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
46
46
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
47
47
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
48
48
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
49
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
50
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
51
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
49
52
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
50
53
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
51
54
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -39,19 +39,19 @@ Tabs({
39
39
  | `onChange` | function | — | Fired with the new index when the tab changes. |
40
40
  | `variant` | `'underline'`/`'filled'`/`'slider'`/`'pills'` | `'underline'` | Visual treatment of the tab bar. |
41
41
  | `size` | `'small'`/`'medium'`/`'large'` | `'medium'` | Font, padding, icon, and height presets. |
42
- | `textColor` | Color | `colors.text` | Inactive label/icon color. |
43
- | `activeTextColor` | Color | `colors.white` | Active label/icon color. |
42
+ | `textColor` | Color | `colors.textSecondary` | Inactive label/icon color. |
43
+ | `activeTextColor` | Color | ink on `slider`, `colors.text` otherwise | Active label/icon color. |
44
44
  | `bgColor` | Color | `colors.gray100` | Bar background for `slider`/`filled` variants. |
45
- | `buttonColor` | Color | `colors.secondary` | Background of the `slider` indicator and `pills`. |
45
+ | `buttonColor` | Color | `color` | Background of the `slider` indicator. |
46
46
  | `dividerColor` | Color | `colors.border` | Bottom border for the `underline` variant (when `showDivider`). |
47
47
  | `fullWidth` | boolean | `true` | Tabs share the full width; otherwise they hug their content. |
48
48
  | `showDivider` | boolean | `true` | Bottom divider under an `underline` bar. |
49
49
  | `showIcon` | boolean | `false` | Show the per-tab `icon`. |
50
- | `iconPosition` | `'left'`/`'right'`/`'top'`/`'bottom'` | `'left'` | Where the icon sits: `'left'` places it before the label; any other value places it after. |
50
+ | `iconPosition` | `'left'`/`'right'`/`'top'`/`'bottom'` | `'left'` | Where the icon sits: `'left'` before the label, `'right'` after it, `'top'`/`'bottom'` stacked above/below the label row. |
51
51
  | `iconSize` | number | `18` | Icon size in pixels. |
52
52
  | `badges` | array | `[]` | Badge values per tab (`badges[i]`), or set them inline via `{ badge }`. |
53
53
  | `alignment` | `'left'`/`'center'`/`'right'` | `'left'` | Accepted for API compatibility; currently has no visual effect. |
54
- | `color` | Color | `colors.primary` | Accepted for API compatibility; active styling uses `activeTextColor`/`buttonColor` instead. |
54
+ | `color` | Color | `colors.primary` | Accent: the `underline` indicator, the `pills` tint, and the default `buttonColor`. |
55
55
 
56
56
  These are the props specific to `Tabs`. It also accepts every [common prop](COMMON_PROPS.md).
57
57
 
@@ -54,6 +54,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
54
54
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
55
55
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
56
56
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
57
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
58
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
59
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
57
60
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
58
61
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
59
62
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -62,6 +62,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
62
62
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
63
63
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
64
64
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
65
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
66
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
67
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
65
68
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
66
69
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
67
70
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -77,6 +77,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
77
77
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
78
78
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
79
79
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
80
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
81
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
82
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
80
83
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
81
84
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
82
85
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
@@ -49,6 +49,9 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
49
49
  | `borderRadius` | `number \| string` | Rounds the corners of the widget. |
50
50
  | `elevation` | `number` | Shadow depth. Higher values lift the widget off the page. |
51
51
  | `shadow` | `string` | Raw CSS `box-shadow` value, for a custom shadow. |
52
+ | `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
53
+ | `backdropFilter` | `string` | Raw CSS `backdrop-filter` value: what sits behind the widget is blurred through it, which is what makes a translucent card frosted glass. |
54
+ | `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
52
55
  | `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
53
56
  | `visible` | `boolean` | Whether the widget is rendered and visible. |
54
57
  | `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |