flet-box 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS_FOR_CODE_GEN.md +284 -0
- package/CONTRIBUTING.md +238 -0
- package/README.md +17 -13
- package/bin/cli.js +88 -1
- package/bin/commands/auditFix.js +181 -27
- package/bin/commands/checkApi.js +14 -3
- package/bin/commands/checkStructure.js +368 -0
- package/bin/commands/checkSyntax.js +293 -0
- package/bin/commands/checkUi.js +666 -14
- package/bin/commands/create.js +18 -1
- package/bin/commands/createBundle.js +20 -8
- package/bin/commands/metrics.js +448 -0
- package/bin/commands/release.js +18 -0
- package/bin/commands/report.js +849 -0
- package/bin/commands/tools.js +76 -0
- package/bin/commands/unpack.js +39 -11
- package/bin/commands/verify.js +879 -0
- package/bin/mcp.js +280 -0
- package/bin/utils/bundleConfig.js +47 -3
- package/bin/utils/contract.js +27 -0
- package/bin/utils/dtsProps.js +5 -1
- package/bin/utils/migrationGuide.js +146 -0
- package/bin/utils/moduleExports.js +9 -5
- package/bin/utils/templates.js +248 -30
- package/bin/utils/toolkit.js +191 -0
- package/docs/README.md +26 -1
- package/docs/arquitectura.md +1 -1
- package/docs/cli/README.md +201 -11
- package/docs/guides/README.md +6 -0
- package/docs/guides/accessibility.md +2 -1
- package/docs/guides/ai-toolkit.md +166 -0
- package/docs/guides/compatibility.md +1 -1
- package/docs/guides/first-app.md +6 -7
- package/docs/guides/migration.md +92 -0
- package/docs/guides/minification-and-protection.md +2 -1
- package/docs/guides/mobile-and-platforms.md +1 -1
- package/docs/guides/online-updates.md +20 -6
- package/docs/server/deployment.md +1 -1
- package/docs/tools/styling.md +2 -2
- package/docs/tools/theme.md +139 -4
- package/docs/widget/Accordion.md +74 -8
- package/docs/widget/AdMob.md +68 -3
- package/docs/widget/AdSense.md +67 -2
- package/docs/widget/AlertDialog.md +1 -1
- package/docs/widget/AnimatedBox.md +80 -39
- package/docs/widget/AnimatedText.md +74 -18
- package/docs/widget/Audio.md +73 -14
- package/docs/widget/Avatar.md +69 -4
- package/docs/widget/Badge.md +68 -3
- package/docs/widget/BottomSheet.md +2 -2
- package/docs/widget/Button.md +69 -3
- package/docs/widget/Card.md +69 -4
- package/docs/widget/Carousel.md +67 -2
- package/docs/widget/Chart.md +67 -2
- package/docs/widget/Checkbox.md +74 -8
- package/docs/widget/Chip.md +68 -3
- package/docs/widget/CircularBar.md +74 -15
- package/docs/widget/CircularChart.md +71 -10
- package/docs/widget/CodeViewer.md +67 -2
- package/docs/widget/Column.md +68 -3
- package/docs/widget/Container.md +68 -3
- package/docs/widget/DataTable.md +67 -2
- package/docs/widget/Divider.md +67 -2
- package/docs/widget/DraggBox.md +67 -2
- package/docs/widget/Dropdown.md +76 -10
- package/docs/widget/DroppBox.md +67 -2
- package/docs/widget/FloatingActionButton.md +68 -3
- package/docs/widget/GridView.md +67 -2
- package/docs/widget/Icon.md +71 -5
- package/docs/widget/Image.md +68 -3
- package/docs/widget/Input.md +68 -3
- package/docs/widget/Inspector.md +2 -2
- package/docs/widget/InstallButton.md +73 -13
- package/docs/widget/ListTile.md +69 -3
- package/docs/widget/ListView.md +67 -2
- package/docs/widget/Maps.md +68 -3
- package/docs/widget/Markdown.md +74 -15
- package/docs/widget/MatrixRain.md +72 -11
- package/docs/widget/Menu.md +209 -0
- package/docs/widget/Modal.md +3 -3
- package/docs/widget/Pagination.md +68 -3
- package/docs/widget/ParallaxBox.md +72 -12
- package/docs/widget/ProgressBar.md +69 -4
- package/docs/widget/QRCode.md +67 -2
- package/docs/widget/README.md +54 -50
- package/docs/widget/Radio.md +76 -10
- package/docs/widget/Rating.md +70 -6
- package/docs/widget/Row.md +68 -3
- package/docs/widget/Skeleton.md +68 -3
- package/docs/widget/Slider.md +75 -9
- package/docs/widget/SnackBar.md +2 -2
- package/docs/widget/Stack.md +68 -3
- package/docs/widget/Stepper.md +68 -3
- package/docs/widget/Switch.md +74 -8
- package/docs/widget/Text.md +71 -4
- package/docs/widget/ThemePicker.md +197 -0
- package/docs/widget/Tooltip.md +72 -7
- package/docs/widget/TreeView.md +70 -10
- package/docs/widget/Video.md +71 -10
- package/package.json +10 -3
- package/skills/fletbox-design/SKILL.md +89 -5
- package/skills/fletbox-motion/SKILL.md +1 -1
- package/skills/fletbox-rules/SKILL.md +56 -4
- package/src/core/runApp.js +12 -0
- package/src/index.d.ts +374 -101
- package/src/index.js +9 -0
- package/src/navigations/AdaptiveScaffold.js +2 -2
- package/src/navigations/BottomNavigation.js +1 -1
- package/src/navigations/Scaffold.js +18 -6
- package/src/tools/useState.js +11 -4
- package/src/utils/colors.js +275 -0
- package/src/utils/errorBoundary.js +288 -0
- package/src/utils/index.js +10 -2
- package/src/utils/stackPosition.js +39 -24
- package/src/utils/syntaxHighlight.js +4 -1
- package/src/utils/themes.js +279 -3
- package/src/widget-factory/addChildren.js +17 -10
- package/src/widget-factory/assignProps.js +18 -6
- package/src/widget-factory/createWidget.js +7 -0
- package/src/widget-factory/deprecations.js +77 -0
- package/src/widget-factory/translateProps.js +11 -1
- package/src/widget-factory/warnings.js +1 -27
- package/src/widget-factory/widgetFactory.js +59 -17
- package/src/widgets/Accordion.js +21 -7
- package/src/widgets/Badge.js +11 -2
- package/src/widgets/Button.js +15 -3
- package/src/widgets/Carousel.js +12 -4
- package/src/widgets/Chart.js +7 -2
- package/src/widgets/Checkbox.js +1 -2
- package/src/widgets/Chip.js +24 -10
- package/src/widgets/CircularBar.js +9 -3
- package/src/widgets/CircularChart.js +5 -3
- package/src/widgets/Container.js +6 -0
- package/src/widgets/Divider.js +3 -1
- package/src/widgets/DraggBox.js +9 -0
- package/src/widgets/Dropdown.js +3 -3
- package/src/widgets/DroppBox.js +5 -0
- package/src/widgets/FloatingActionButton.js +1 -1
- package/src/widgets/Icon.js +5 -1
- package/src/widgets/InstallButton.js +4 -2
- package/src/widgets/Markdown.js +171 -103
- package/src/widgets/Menu.js +340 -0
- package/src/widgets/Modal.js +7 -1
- package/src/widgets/Pagination.js +10 -5
- package/src/widgets/ProgressBar.js +5 -4
- package/src/widgets/QRCode.js +4 -0
- package/src/widgets/Radio.js +1 -2
- package/src/widgets/Rating.js +9 -0
- package/src/widgets/Slider.js +4 -1
- package/src/widgets/SnackBar.js +2 -2
- package/src/widgets/Switch.js +1 -2
- package/src/widgets/Text.js +9 -5
- package/src/widgets/ThemePicker.js +234 -0
- package/src/widgets/TreeView.js +2 -1
- package/src/widgets/index.js +2 -0
- package/docs/CONTRIBUTING.md +0 -156
package/docs/widget/Accordion.md
CHANGED
|
@@ -26,12 +26,14 @@ const faq = Accordion({
|
|
|
26
26
|
| `title` | `string \| Widget` | Title text shown in the header. |
|
|
27
27
|
| `children` | `Widget` | An array of child widgets. Alias: `child` for a single child. |
|
|
28
28
|
| `expanded` | `boolean` | The `expanded` value for the widget. |
|
|
29
|
-
| `onToggle` | `(expanded: boolean) => void` |
|
|
29
|
+
| `onToggle` | `(expanded: boolean) => void` | Deprecated alias of `onPress`. |
|
|
30
|
+
| `onPress` | `(expanded: boolean) => void` | Called with the new expanded state (`true` or `false`). |
|
|
30
31
|
| `variant` | `'contained' \| 'outlined' \| 'ghost'` | Visual variation or style preset. |
|
|
31
32
|
| `borderRadius` | `number` | Rounds the corners of the widget. |
|
|
32
33
|
| `bgColor` | `Color` | Background color. Alias: `backgroundColor`. |
|
|
33
34
|
| `expandedColor` | `Color` | Color used for the expanded. |
|
|
34
35
|
| `titleColor` | `Color` | Color used for the title. |
|
|
36
|
+
| `dividerColor` | `Color` | Color used for the divider. |
|
|
35
37
|
| `titleSize` | `number` | Size of the title. |
|
|
36
38
|
| `titleWeight` | `string` | The `titleWeight` value for the widget. |
|
|
37
39
|
| `titlePadding` | `string` | Padding for the title. |
|
|
@@ -52,11 +54,64 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
52
54
|
|
|
53
55
|
| Prop | Type | Description |
|
|
54
56
|
| --- | --- | --- |
|
|
57
|
+
| `full` | `boolean` | Stretches the widget to fill its parent on both axes in stack mode. |
|
|
58
|
+
| `fullHeight` | `boolean` | Stretches the widget to the full height of its parent in stack mode. |
|
|
59
|
+
| `fullWidth` | `boolean` | Stretches the widget to the full width of its parent. |
|
|
60
|
+
| `center` | `boolean` | Centres the widget on both axes in stack mode. |
|
|
61
|
+
| `centerY` | `boolean` | Centres the widget vertically in stack mode. |
|
|
62
|
+
| `centerX` | `boolean` | Centres the widget horizontally in stack mode. |
|
|
63
|
+
| `zIndex` | `number` | Stacking order: a widget with a higher value paints above lower ones. |
|
|
64
|
+
| `z` | `number` | Alias of `zIndex`. |
|
|
65
|
+
| `end` | `Size` | Logical alias of `right`, used by the stack placement shorthands. |
|
|
66
|
+
| `start` | `Size` | Logical alias of `left`, used by the stack placement shorthands. |
|
|
67
|
+
| `inset` | `Size` | Shorthand for the four edge offsets (`top`/`right`/`bottom`/`left`). |
|
|
68
|
+
| `left` | `Size` | Offset from the left edge. A number is pixels; a string uses any CSS unit. |
|
|
69
|
+
| `bottom` | `Size` | Offset from the bottom edge. A number is pixels; a string uses any CSS unit. |
|
|
70
|
+
| `right` | `Size` | Offset from the right edge. A number is pixels; a string uses any CSS unit. |
|
|
71
|
+
| `top` | `Size` | Offset from the top edge. A number is pixels; a string uses any CSS unit. |
|
|
72
|
+
| `pos` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | Alias of `position`. |
|
|
73
|
+
| `position` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | CSS `position` value, or `stack` for centered stacking. |
|
|
55
74
|
| `width` | `Size` | Width of the widget. A number is pixels; a string uses any CSS unit. |
|
|
56
75
|
| `height` | `Size` | Height of the widget. A number is pixels; a string uses any CSS unit. |
|
|
57
76
|
| `size` | `Size` | Overall size preset or pixel value, depending on the widget. |
|
|
77
|
+
| `flex` | `number` | Flex grow/shrink/basis shorthand for a flex child. |
|
|
78
|
+
| `minWidth` | `Size` | Minimum width the widget may shrink to. |
|
|
79
|
+
| `maxWidth` | `Size` | Maximum width the widget may grow to. |
|
|
80
|
+
| `minHeight` | `Size` | Minimum height the widget may shrink to. |
|
|
81
|
+
| `maxHeight` | `Size` | Maximum height the widget may grow to. |
|
|
82
|
+
| `border` | `string` | CSS `border` shorthand for all four edges: width, style and color in one string. |
|
|
83
|
+
| `borderTop` | `string` | The top edge of the border alone, for a widget whose rim differs per side. |
|
|
84
|
+
| `borderBottom` | `string` | The bottom edge of the border alone, for a widget whose rim differs per side. |
|
|
85
|
+
| `borderLeft` | `string` | The left edge of the border alone, for a widget whose rim differs per side. |
|
|
86
|
+
| `borderRight` | `string` | The right edge of the border alone, for a widget whose rim differs per side. |
|
|
87
|
+
| `cursor` | `string` | CSS `cursor` value: what the pointer becomes over the widget (`pointer`, `grab`, `not-allowed`). |
|
|
88
|
+
| `display` | `string` | CSS `display` value for the container. |
|
|
89
|
+
| `boxSizing` | `'border-box' \| 'content-box'` | Which box `width` and `height` measure: `border-box` keeps the size you asked for and pushes padding inward. |
|
|
90
|
+
| `flexDirection` | `'row' \| 'column' \| 'row-reverse' \| 'column-reverse'` | Main axis of a flex container: `row` places children side by side, `column` stacks them. |
|
|
91
|
+
| `flexGrow` | `number` | Share of the leftover space this child takes, relative to its siblings. |
|
|
92
|
+
| `flexShrink` | `number` | How readily the child gives space back when the row overflows; `0` keeps its size. |
|
|
93
|
+
| `gap` | `number \| string` | Space between children along the layout axis. |
|
|
94
|
+
| `fontSize` | `number` | Size of the font. |
|
|
95
|
+
| `borderColor` | `Color` | Color used for the border. |
|
|
96
|
+
| `borderWidth` | `number` | Width of the border. |
|
|
58
97
|
| `padding` | `Padding` | Space inside the widget, between its content and its border. |
|
|
98
|
+
| `paddingTop` | `Size` | Space inside the widget, on the top edge only. |
|
|
99
|
+
| `paddingRight` | `Size` | Space inside the widget, on the right edge only. |
|
|
100
|
+
| `paddingBottom` | `Size` | Space inside the widget, on the bottom edge only. |
|
|
101
|
+
| `paddingLeft` | `Size` | Space inside the widget, on the left edge only. |
|
|
102
|
+
| `pt` | `Size` | Alias of `paddingTop`. |
|
|
103
|
+
| `pr` | `Size` | Alias of `paddingRight`. |
|
|
104
|
+
| `pb` | `Size` | Alias of `paddingBottom`. |
|
|
105
|
+
| `pl` | `Size` | Alias of `paddingLeft`. |
|
|
59
106
|
| `margin` | `Margin` | Space outside the widget, between it and its neighbors. |
|
|
107
|
+
| `marginTop` | `Size` | Space outside the widget, on the top edge only. |
|
|
108
|
+
| `marginRight` | `Size` | Space outside the widget, on the right edge only. |
|
|
109
|
+
| `marginBottom` | `Size` | Space outside the widget, on the bottom edge only. |
|
|
110
|
+
| `marginLeft` | `Size` | Space outside the widget, on the left edge only. |
|
|
111
|
+
| `mt` | `Size` | Alias of `marginTop`. |
|
|
112
|
+
| `mr` | `Size` | Alias of `marginRight`. |
|
|
113
|
+
| `mb` | `Size` | Alias of `marginBottom`. |
|
|
114
|
+
| `ml` | `Size` | Alias of `marginLeft`. |
|
|
60
115
|
| `bgColor` | `Color` | Background color. Alias: `backgroundColor`. |
|
|
61
116
|
| `backgroundColor` | `Color` | Background color. Alias of `bgColor`. |
|
|
62
117
|
| `color` | `Color` | Foreground color, usually the text or icon color. |
|
|
@@ -66,11 +121,23 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
66
121
|
| `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
|
|
67
122
|
| `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
123
|
| `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
|
|
124
|
+
| `bgImage` | `string` | Image painted behind the widget's content (CSS `background-image`), placed with `bgSize` and `bgPosition`. |
|
|
125
|
+
| `bgSize` | `string` | How the background image fills its box (`cover`, `contain`, or a length). |
|
|
126
|
+
| `bgPosition` | `string` | Where the background image is anchored (`center`, `top`, `50% 20%`). |
|
|
127
|
+
| `bgRepeat` | `string` | Whether the background image tiles; `no-repeat` for a single cover. |
|
|
69
128
|
| `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
|
|
70
129
|
| `visible` | `boolean` | Whether the widget is rendered and visible. |
|
|
71
130
|
| `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
|
|
72
|
-
| `onPress` | `(
|
|
73
|
-
| `onClick` | `(
|
|
131
|
+
| `onPress` | `(event?: Event) => void` | Called with the new expanded state (`true` or `false`). |
|
|
132
|
+
| `onClick` | `(event?: Event) => void` | Callback fired when the widget is clicked. Alias: `onPress`. |
|
|
133
|
+
| `onclick` | `(event?: Event) => void` | Lowercase alias of `onClick`, kept because the shipped templates and the HTML habit write it. |
|
|
134
|
+
| `alignSelf` | `AlignSelf` | Overrides the parent's `alignItems` for this child alone (CSS `align-self`). Alias: `selfAlign`. |
|
|
135
|
+
| `selfAlign` | `AlignSelf` | Alias of `alignSelf`. |
|
|
136
|
+
| `overflow` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | How overflowing content is handled (`hidden`, `auto`, `scroll`). |
|
|
137
|
+
| `overflowX` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowX` value for the widget. |
|
|
138
|
+
| `overflowY` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowY` value for the widget. |
|
|
139
|
+
| `textOverflow` | `'clip' \| 'ellipsis' \| string` | The `textOverflow` value for the widget. |
|
|
140
|
+
| `whiteSpace` | `'normal' \| 'nowrap' \| 'pre' \| 'pre-wrap' \| 'pre-line' \| string` | The `whiteSpace` value for the widget. |
|
|
74
141
|
| `id` | `string` | DOM `id` for the rendered element. |
|
|
75
142
|
| `className` | `string` | CSS class names applied to the rendered element. |
|
|
76
143
|
| `ref` | `(widget: Widget) => void` | Callback that receives the underlying DOM node. |
|
|
@@ -86,7 +153,7 @@ import { Accordion, Text } from "flet-box";
|
|
|
86
153
|
const faq = Accordion({
|
|
87
154
|
title: "Shipping options",
|
|
88
155
|
expanded: false,
|
|
89
|
-
|
|
156
|
+
onPress: (expanded) => console.log(expanded),
|
|
90
157
|
children: Text({ text: "Free shipping over $50." }),
|
|
91
158
|
});
|
|
92
159
|
```
|
|
@@ -112,7 +179,7 @@ const faq = Accordion({
|
|
|
112
179
|
divider: true,
|
|
113
180
|
animate: true,
|
|
114
181
|
animationDuration: 250,
|
|
115
|
-
|
|
182
|
+
onPress: (expanded) => console.log(expanded),
|
|
116
183
|
children: Text({ text: "We accept cards, PayPal, and bank transfer." }),
|
|
117
184
|
});
|
|
118
185
|
```
|
|
@@ -128,10 +195,9 @@ const faq = Accordion({
|
|
|
128
195
|
|
|
129
196
|
## Behavior
|
|
130
197
|
|
|
131
|
-
-
|
|
198
|
+
- onPress receives the new expanded boolean whenever the header is activated.
|
|
132
199
|
- disabled blocks toggling, and animate: false skips the open/close transition.
|
|
133
|
-
- A shut panel still shows its edge: the header keeps the divider and the
|
|
134
|
-
- 'contained' variant paints the raised plate, so it never reads as plain text.
|
|
200
|
+
- A shut panel still shows its edge: the header keeps the divider and the 'contained' variant paints the raised plate, so it never reads as plain text.
|
|
135
201
|
|
|
136
202
|
## Related widgets
|
|
137
203
|
|
package/docs/widget/AdMob.md
CHANGED
|
@@ -26,7 +26,7 @@ const banner = AdMob({
|
|
|
26
26
|
| --- | --- | --- |
|
|
27
27
|
| `adId` | `string` | AdMob ad unit id. |
|
|
28
28
|
| `isTesting` | `boolean` | Requests test ads instead of live ones. |
|
|
29
|
-
| `position` | `'top' \| 'bottom'` |
|
|
29
|
+
| `position` | `'top' \| 'bottom'` | Pins the banner to the top or bottom of the viewport. |
|
|
30
30
|
| `size` | `string` | Overall size preset or pixel value, depending on the widget. |
|
|
31
31
|
| `margin` | `number` | Space outside the widget, between it and its neighbors. |
|
|
32
32
|
| `interstitialId` | `string` | AdMob interstitial ad unit id. |
|
|
@@ -51,11 +51,64 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
51
51
|
|
|
52
52
|
| Prop | Type | Description |
|
|
53
53
|
| --- | --- | --- |
|
|
54
|
+
| `full` | `boolean` | Stretches the widget to fill its parent on both axes in stack mode. |
|
|
55
|
+
| `fullHeight` | `boolean` | Stretches the widget to the full height of its parent in stack mode. |
|
|
56
|
+
| `fullWidth` | `boolean` | Stretches the widget to the full width of its parent. |
|
|
57
|
+
| `center` | `boolean` | Centres the widget on both axes in stack mode. |
|
|
58
|
+
| `centerY` | `boolean` | Centres the widget vertically in stack mode. |
|
|
59
|
+
| `centerX` | `boolean` | Centres the widget horizontally in stack mode. |
|
|
60
|
+
| `zIndex` | `number` | Stacking order: a widget with a higher value paints above lower ones. |
|
|
61
|
+
| `z` | `number` | Alias of `zIndex`. |
|
|
62
|
+
| `end` | `Size` | Logical alias of `right`, used by the stack placement shorthands. |
|
|
63
|
+
| `start` | `Size` | Logical alias of `left`, used by the stack placement shorthands. |
|
|
64
|
+
| `inset` | `Size` | Shorthand for the four edge offsets (`top`/`right`/`bottom`/`left`). |
|
|
65
|
+
| `left` | `Size` | Offset from the left edge. A number is pixels; a string uses any CSS unit. |
|
|
66
|
+
| `bottom` | `Size` | Offset from the bottom edge. A number is pixels; a string uses any CSS unit. |
|
|
67
|
+
| `right` | `Size` | Offset from the right edge. A number is pixels; a string uses any CSS unit. |
|
|
68
|
+
| `top` | `Size` | Offset from the top edge. A number is pixels; a string uses any CSS unit. |
|
|
69
|
+
| `pos` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | Alias of `position`. |
|
|
70
|
+
| `position` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | Pins the banner to the top or bottom of the viewport. |
|
|
54
71
|
| `width` | `Size` | Width of the widget. A number is pixels; a string uses any CSS unit. |
|
|
55
72
|
| `height` | `Size` | Height of the widget. A number is pixels; a string uses any CSS unit. |
|
|
56
73
|
| `size` | `Size` | Overall size preset or pixel value, depending on the widget. |
|
|
74
|
+
| `flex` | `number` | Flex grow/shrink/basis shorthand for a flex child. |
|
|
75
|
+
| `minWidth` | `Size` | Minimum width the widget may shrink to. |
|
|
76
|
+
| `maxWidth` | `Size` | Maximum width the widget may grow to. |
|
|
77
|
+
| `minHeight` | `Size` | Minimum height the widget may shrink to. |
|
|
78
|
+
| `maxHeight` | `Size` | Maximum height the widget may grow to. |
|
|
79
|
+
| `border` | `string` | CSS `border` shorthand for all four edges: width, style and color in one string. |
|
|
80
|
+
| `borderTop` | `string` | The top edge of the border alone, for a widget whose rim differs per side. |
|
|
81
|
+
| `borderBottom` | `string` | The bottom edge of the border alone, for a widget whose rim differs per side. |
|
|
82
|
+
| `borderLeft` | `string` | The left edge of the border alone, for a widget whose rim differs per side. |
|
|
83
|
+
| `borderRight` | `string` | The right edge of the border alone, for a widget whose rim differs per side. |
|
|
84
|
+
| `cursor` | `string` | CSS `cursor` value: what the pointer becomes over the widget (`pointer`, `grab`, `not-allowed`). |
|
|
85
|
+
| `display` | `string` | CSS `display` value for the container. |
|
|
86
|
+
| `boxSizing` | `'border-box' \| 'content-box'` | Which box `width` and `height` measure: `border-box` keeps the size you asked for and pushes padding inward. |
|
|
87
|
+
| `flexDirection` | `'row' \| 'column' \| 'row-reverse' \| 'column-reverse'` | Main axis of a flex container: `row` places children side by side, `column` stacks them. |
|
|
88
|
+
| `flexGrow` | `number` | Share of the leftover space this child takes, relative to its siblings. |
|
|
89
|
+
| `flexShrink` | `number` | How readily the child gives space back when the row overflows; `0` keeps its size. |
|
|
90
|
+
| `gap` | `number \| string` | Space between children along the layout axis. |
|
|
91
|
+
| `fontSize` | `number` | Size of the font. |
|
|
92
|
+
| `borderColor` | `Color` | Color used for the border. |
|
|
93
|
+
| `borderWidth` | `number` | Width of the border. |
|
|
57
94
|
| `padding` | `Padding` | Space inside the widget, between its content and its border. |
|
|
95
|
+
| `paddingTop` | `Size` | Space inside the widget, on the top edge only. |
|
|
96
|
+
| `paddingRight` | `Size` | Space inside the widget, on the right edge only. |
|
|
97
|
+
| `paddingBottom` | `Size` | Space inside the widget, on the bottom edge only. |
|
|
98
|
+
| `paddingLeft` | `Size` | Space inside the widget, on the left edge only. |
|
|
99
|
+
| `pt` | `Size` | Alias of `paddingTop`. |
|
|
100
|
+
| `pr` | `Size` | Alias of `paddingRight`. |
|
|
101
|
+
| `pb` | `Size` | Alias of `paddingBottom`. |
|
|
102
|
+
| `pl` | `Size` | Alias of `paddingLeft`. |
|
|
58
103
|
| `margin` | `Margin` | Space outside the widget, between it and its neighbors. |
|
|
104
|
+
| `marginTop` | `Size` | Space outside the widget, on the top edge only. |
|
|
105
|
+
| `marginRight` | `Size` | Space outside the widget, on the right edge only. |
|
|
106
|
+
| `marginBottom` | `Size` | Space outside the widget, on the bottom edge only. |
|
|
107
|
+
| `marginLeft` | `Size` | Space outside the widget, on the left edge only. |
|
|
108
|
+
| `mt` | `Size` | Alias of `marginTop`. |
|
|
109
|
+
| `mr` | `Size` | Alias of `marginRight`. |
|
|
110
|
+
| `mb` | `Size` | Alias of `marginBottom`. |
|
|
111
|
+
| `ml` | `Size` | Alias of `marginLeft`. |
|
|
59
112
|
| `bgColor` | `Color` | Background color. Alias: `backgroundColor`. |
|
|
60
113
|
| `backgroundColor` | `Color` | Background color. Alias of `bgColor`. |
|
|
61
114
|
| `color` | `Color` | Foreground color, usually the text or icon color. |
|
|
@@ -65,11 +118,23 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
65
118
|
| `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
|
|
66
119
|
| `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
120
|
| `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
|
|
121
|
+
| `bgImage` | `string` | Image painted behind the widget's content (CSS `background-image`), placed with `bgSize` and `bgPosition`. |
|
|
122
|
+
| `bgSize` | `string` | How the background image fills its box (`cover`, `contain`, or a length). |
|
|
123
|
+
| `bgPosition` | `string` | Where the background image is anchored (`center`, `top`, `50% 20%`). |
|
|
124
|
+
| `bgRepeat` | `string` | Whether the background image tiles; `no-repeat` for a single cover. |
|
|
68
125
|
| `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
|
|
69
126
|
| `visible` | `boolean` | Whether the widget is rendered and visible. |
|
|
70
127
|
| `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
|
|
71
|
-
| `onPress` | `(
|
|
72
|
-
| `onClick` | `(
|
|
128
|
+
| `onPress` | `(event?: Event) => void` | Callback fired when the widget is pressed. Alias: `onClick`. |
|
|
129
|
+
| `onClick` | `(event?: Event) => void` | Callback fired when the widget is clicked. Alias: `onPress`. |
|
|
130
|
+
| `onclick` | `(event?: Event) => void` | Lowercase alias of `onClick`, kept because the shipped templates and the HTML habit write it. |
|
|
131
|
+
| `alignSelf` | `AlignSelf` | Overrides the parent's `alignItems` for this child alone (CSS `align-self`). Alias: `selfAlign`. |
|
|
132
|
+
| `selfAlign` | `AlignSelf` | Alias of `alignSelf`. |
|
|
133
|
+
| `overflow` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | How overflowing content is handled (`hidden`, `auto`, `scroll`). |
|
|
134
|
+
| `overflowX` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowX` value for the widget. |
|
|
135
|
+
| `overflowY` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowY` value for the widget. |
|
|
136
|
+
| `textOverflow` | `'clip' \| 'ellipsis' \| string` | The `textOverflow` value for the widget. |
|
|
137
|
+
| `whiteSpace` | `'normal' \| 'nowrap' \| 'pre' \| 'pre-wrap' \| 'pre-line' \| string` | The `whiteSpace` value for the widget. |
|
|
73
138
|
| `id` | `string` | DOM `id` for the rendered element. |
|
|
74
139
|
| `className` | `string` | CSS class names applied to the rendered element. |
|
|
75
140
|
| `ref` | `(widget: Widget) => void` | Callback that receives the underlying DOM node. |
|
package/docs/widget/AdSense.md
CHANGED
|
@@ -45,11 +45,64 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
45
45
|
|
|
46
46
|
| Prop | Type | Description |
|
|
47
47
|
| --- | --- | --- |
|
|
48
|
+
| `full` | `boolean` | Stretches the widget to fill its parent on both axes in stack mode. |
|
|
49
|
+
| `fullHeight` | `boolean` | Stretches the widget to the full height of its parent in stack mode. |
|
|
50
|
+
| `fullWidth` | `boolean` | Stretches the widget to the full width of its parent. |
|
|
51
|
+
| `center` | `boolean` | Centres the widget on both axes in stack mode. |
|
|
52
|
+
| `centerY` | `boolean` | Centres the widget vertically in stack mode. |
|
|
53
|
+
| `centerX` | `boolean` | Centres the widget horizontally in stack mode. |
|
|
54
|
+
| `zIndex` | `number` | Stacking order: a widget with a higher value paints above lower ones. |
|
|
55
|
+
| `z` | `number` | Alias of `zIndex`. |
|
|
56
|
+
| `end` | `Size` | Logical alias of `right`, used by the stack placement shorthands. |
|
|
57
|
+
| `start` | `Size` | Logical alias of `left`, used by the stack placement shorthands. |
|
|
58
|
+
| `inset` | `Size` | Shorthand for the four edge offsets (`top`/`right`/`bottom`/`left`). |
|
|
59
|
+
| `left` | `Size` | Offset from the left edge. A number is pixels; a string uses any CSS unit. |
|
|
60
|
+
| `bottom` | `Size` | Offset from the bottom edge. A number is pixels; a string uses any CSS unit. |
|
|
61
|
+
| `right` | `Size` | Offset from the right edge. A number is pixels; a string uses any CSS unit. |
|
|
62
|
+
| `top` | `Size` | Offset from the top edge. A number is pixels; a string uses any CSS unit. |
|
|
63
|
+
| `pos` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | Alias of `position`. |
|
|
64
|
+
| `position` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | CSS `position` value, or `stack` for centered stacking. |
|
|
48
65
|
| `width` | `Size` | Width of the widget. A number is pixels; a string uses any CSS unit. |
|
|
49
66
|
| `height` | `Size` | Height of the widget. A number is pixels; a string uses any CSS unit. |
|
|
50
67
|
| `size` | `Size` | Overall size preset or pixel value, depending on the widget. |
|
|
68
|
+
| `flex` | `number` | Flex grow/shrink/basis shorthand for a flex child. |
|
|
69
|
+
| `minWidth` | `Size` | Minimum width the widget may shrink to. |
|
|
70
|
+
| `maxWidth` | `Size` | Maximum width the widget may grow to. |
|
|
71
|
+
| `minHeight` | `Size` | Minimum height the widget may shrink to. |
|
|
72
|
+
| `maxHeight` | `Size` | Maximum height the widget may grow to. |
|
|
73
|
+
| `border` | `string` | CSS `border` shorthand for all four edges: width, style and color in one string. |
|
|
74
|
+
| `borderTop` | `string` | The top edge of the border alone, for a widget whose rim differs per side. |
|
|
75
|
+
| `borderBottom` | `string` | The bottom edge of the border alone, for a widget whose rim differs per side. |
|
|
76
|
+
| `borderLeft` | `string` | The left edge of the border alone, for a widget whose rim differs per side. |
|
|
77
|
+
| `borderRight` | `string` | The right edge of the border alone, for a widget whose rim differs per side. |
|
|
78
|
+
| `cursor` | `string` | CSS `cursor` value: what the pointer becomes over the widget (`pointer`, `grab`, `not-allowed`). |
|
|
79
|
+
| `display` | `string` | CSS `display` value for the container. |
|
|
80
|
+
| `boxSizing` | `'border-box' \| 'content-box'` | Which box `width` and `height` measure: `border-box` keeps the size you asked for and pushes padding inward. |
|
|
81
|
+
| `flexDirection` | `'row' \| 'column' \| 'row-reverse' \| 'column-reverse'` | Main axis of a flex container: `row` places children side by side, `column` stacks them. |
|
|
82
|
+
| `flexGrow` | `number` | Share of the leftover space this child takes, relative to its siblings. |
|
|
83
|
+
| `flexShrink` | `number` | How readily the child gives space back when the row overflows; `0` keeps its size. |
|
|
84
|
+
| `gap` | `number \| string` | Space between children along the layout axis. |
|
|
85
|
+
| `fontSize` | `number` | Size of the font. |
|
|
86
|
+
| `borderColor` | `Color` | Color used for the border. |
|
|
87
|
+
| `borderWidth` | `number` | Width of the border. |
|
|
51
88
|
| `padding` | `Padding` | Space inside the widget, between its content and its border. |
|
|
89
|
+
| `paddingTop` | `Size` | Space inside the widget, on the top edge only. |
|
|
90
|
+
| `paddingRight` | `Size` | Space inside the widget, on the right edge only. |
|
|
91
|
+
| `paddingBottom` | `Size` | Space inside the widget, on the bottom edge only. |
|
|
92
|
+
| `paddingLeft` | `Size` | Space inside the widget, on the left edge only. |
|
|
93
|
+
| `pt` | `Size` | Alias of `paddingTop`. |
|
|
94
|
+
| `pr` | `Size` | Alias of `paddingRight`. |
|
|
95
|
+
| `pb` | `Size` | Alias of `paddingBottom`. |
|
|
96
|
+
| `pl` | `Size` | Alias of `paddingLeft`. |
|
|
52
97
|
| `margin` | `Margin` | Space outside the widget, between it and its neighbors. |
|
|
98
|
+
| `marginTop` | `Size` | Space outside the widget, on the top edge only. |
|
|
99
|
+
| `marginRight` | `Size` | Space outside the widget, on the right edge only. |
|
|
100
|
+
| `marginBottom` | `Size` | Space outside the widget, on the bottom edge only. |
|
|
101
|
+
| `marginLeft` | `Size` | Space outside the widget, on the left edge only. |
|
|
102
|
+
| `mt` | `Size` | Alias of `marginTop`. |
|
|
103
|
+
| `mr` | `Size` | Alias of `marginRight`. |
|
|
104
|
+
| `mb` | `Size` | Alias of `marginBottom`. |
|
|
105
|
+
| `ml` | `Size` | Alias of `marginLeft`. |
|
|
53
106
|
| `bgColor` | `Color` | Background color. Alias: `backgroundColor`. |
|
|
54
107
|
| `backgroundColor` | `Color` | Background color. Alias of `bgColor`. |
|
|
55
108
|
| `color` | `Color` | Foreground color, usually the text or icon color. |
|
|
@@ -59,11 +112,23 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
59
112
|
| `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
|
|
60
113
|
| `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
114
|
| `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
|
|
115
|
+
| `bgImage` | `string` | Image painted behind the widget's content (CSS `background-image`), placed with `bgSize` and `bgPosition`. |
|
|
116
|
+
| `bgSize` | `string` | How the background image fills its box (`cover`, `contain`, or a length). |
|
|
117
|
+
| `bgPosition` | `string` | Where the background image is anchored (`center`, `top`, `50% 20%`). |
|
|
118
|
+
| `bgRepeat` | `string` | Whether the background image tiles; `no-repeat` for a single cover. |
|
|
62
119
|
| `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
|
|
63
120
|
| `visible` | `boolean` | Whether the widget is rendered and visible. |
|
|
64
121
|
| `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
|
|
65
|
-
| `onPress` | `(
|
|
66
|
-
| `onClick` | `(
|
|
122
|
+
| `onPress` | `(event?: Event) => void` | Callback fired when the widget is pressed. Alias: `onClick`. |
|
|
123
|
+
| `onClick` | `(event?: Event) => void` | Callback fired when the widget is clicked. Alias: `onPress`. |
|
|
124
|
+
| `onclick` | `(event?: Event) => void` | Lowercase alias of `onClick`, kept because the shipped templates and the HTML habit write it. |
|
|
125
|
+
| `alignSelf` | `AlignSelf` | Overrides the parent's `alignItems` for this child alone (CSS `align-self`). Alias: `selfAlign`. |
|
|
126
|
+
| `selfAlign` | `AlignSelf` | Alias of `alignSelf`. |
|
|
127
|
+
| `overflow` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | How overflowing content is handled (`hidden`, `auto`, `scroll`). |
|
|
128
|
+
| `overflowX` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowX` value for the widget. |
|
|
129
|
+
| `overflowY` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowY` value for the widget. |
|
|
130
|
+
| `textOverflow` | `'clip' \| 'ellipsis' \| string` | The `textOverflow` value for the widget. |
|
|
131
|
+
| `whiteSpace` | `'normal' \| 'nowrap' \| 'pre' \| 'pre-wrap' \| 'pre-line' \| string` | The `whiteSpace` value for the widget. |
|
|
67
132
|
| `id` | `string` | DOM `id` for the rendered element. |
|
|
68
133
|
| `className` | `string` | CSS class names applied to the rendered element. |
|
|
69
134
|
| `ref` | `(widget: Widget) => void` | Callback that receives the underlying DOM node. |
|
|
@@ -100,4 +100,4 @@ const alert = AlertDialog({
|
|
|
100
100
|
- **Next:** [Modal](Modal.md)
|
|
101
101
|
- **Index:** [Widget index](README.md) · [Start here](START_HERE.md)
|
|
102
102
|
|
|
103
|
-
You are reading **Chapter 4 · Feedback and overlays** (1 of
|
|
103
|
+
You are reading **Chapter 4 · Feedback and overlays** (1 of 11).
|
|
@@ -28,10 +28,10 @@ const badge = AnimatedBox({
|
|
|
28
28
|
| `timing` | `string` | Timing function for the animation, passed straight to CSS. |
|
|
29
29
|
| `delay` | `number \| string` | Default delay for the steps that do not name one: milliseconds as a number, or a CSS time as a string (`"0.2s"`). |
|
|
30
30
|
| `fillMode` | `string` | How styles persist before and after the animation (CSS `fill-mode`). |
|
|
31
|
-
| `top` | `number \| string` |
|
|
32
|
-
| `right` | `number \| string` |
|
|
33
|
-
| `bottom` | `number \| string` |
|
|
34
|
-
| `left` | `number \| string` |
|
|
31
|
+
| `top` | `number \| string` | Offset from the top edge. A number is pixels; a string uses any CSS unit. |
|
|
32
|
+
| `right` | `number \| string` | Offset from the right edge. A number is pixels; a string uses any CSS unit. |
|
|
33
|
+
| `bottom` | `number \| string` | Offset from the bottom edge. A number is pixels; a string uses any CSS unit. |
|
|
34
|
+
| `left` | `number \| string` | Offset from the left edge. A number is pixels; a string uses any CSS unit. |
|
|
35
35
|
|
|
36
36
|
### Common props
|
|
37
37
|
|
|
@@ -39,11 +39,64 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
39
39
|
|
|
40
40
|
| Prop | Type | Description |
|
|
41
41
|
| --- | --- | --- |
|
|
42
|
+
| `full` | `boolean` | Stretches the widget to fill its parent on both axes in stack mode. |
|
|
43
|
+
| `fullHeight` | `boolean` | Stretches the widget to the full height of its parent in stack mode. |
|
|
44
|
+
| `fullWidth` | `boolean` | Stretches the widget to the full width of its parent. |
|
|
45
|
+
| `center` | `boolean` | Centres the widget on both axes in stack mode. |
|
|
46
|
+
| `centerY` | `boolean` | Centres the widget vertically in stack mode. |
|
|
47
|
+
| `centerX` | `boolean` | Centres the widget horizontally in stack mode. |
|
|
48
|
+
| `zIndex` | `number` | Stacking order: a widget with a higher value paints above lower ones. |
|
|
49
|
+
| `z` | `number` | Alias of `zIndex`. |
|
|
50
|
+
| `end` | `Size` | Logical alias of `right`, used by the stack placement shorthands. |
|
|
51
|
+
| `start` | `Size` | Logical alias of `left`, used by the stack placement shorthands. |
|
|
52
|
+
| `inset` | `Size` | Shorthand for the four edge offsets (`top`/`right`/`bottom`/`left`). |
|
|
53
|
+
| `left` | `Size` | Offset from the left edge. A number is pixels; a string uses any CSS unit. |
|
|
54
|
+
| `bottom` | `Size` | Offset from the bottom edge. A number is pixels; a string uses any CSS unit. |
|
|
55
|
+
| `right` | `Size` | Offset from the right edge. A number is pixels; a string uses any CSS unit. |
|
|
56
|
+
| `top` | `Size` | Offset from the top edge. A number is pixels; a string uses any CSS unit. |
|
|
57
|
+
| `pos` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | Alias of `position`. |
|
|
58
|
+
| `position` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | CSS `position` value, or `stack` for centered stacking. |
|
|
42
59
|
| `width` | `Size` | Width of the widget. A number is pixels; a string uses any CSS unit. |
|
|
43
60
|
| `height` | `Size` | Height of the widget. A number is pixels; a string uses any CSS unit. |
|
|
44
61
|
| `size` | `Size` | Overall size preset or pixel value, depending on the widget. |
|
|
62
|
+
| `flex` | `number` | Flex grow/shrink/basis shorthand for a flex child. |
|
|
63
|
+
| `minWidth` | `Size` | Minimum width the widget may shrink to. |
|
|
64
|
+
| `maxWidth` | `Size` | Maximum width the widget may grow to. |
|
|
65
|
+
| `minHeight` | `Size` | Minimum height the widget may shrink to. |
|
|
66
|
+
| `maxHeight` | `Size` | Maximum height the widget may grow to. |
|
|
67
|
+
| `border` | `string` | CSS `border` shorthand for all four edges: width, style and color in one string. |
|
|
68
|
+
| `borderTop` | `string` | The top edge of the border alone, for a widget whose rim differs per side. |
|
|
69
|
+
| `borderBottom` | `string` | The bottom edge of the border alone, for a widget whose rim differs per side. |
|
|
70
|
+
| `borderLeft` | `string` | The left edge of the border alone, for a widget whose rim differs per side. |
|
|
71
|
+
| `borderRight` | `string` | The right edge of the border alone, for a widget whose rim differs per side. |
|
|
72
|
+
| `cursor` | `string` | CSS `cursor` value: what the pointer becomes over the widget (`pointer`, `grab`, `not-allowed`). |
|
|
73
|
+
| `display` | `string` | CSS `display` value for the container. |
|
|
74
|
+
| `boxSizing` | `'border-box' \| 'content-box'` | Which box `width` and `height` measure: `border-box` keeps the size you asked for and pushes padding inward. |
|
|
75
|
+
| `flexDirection` | `'row' \| 'column' \| 'row-reverse' \| 'column-reverse'` | Main axis of a flex container: `row` places children side by side, `column` stacks them. |
|
|
76
|
+
| `flexGrow` | `number` | Share of the leftover space this child takes, relative to its siblings. |
|
|
77
|
+
| `flexShrink` | `number` | How readily the child gives space back when the row overflows; `0` keeps its size. |
|
|
78
|
+
| `gap` | `number \| string` | Space between children along the layout axis. |
|
|
79
|
+
| `fontSize` | `number` | Size of the font. |
|
|
80
|
+
| `borderColor` | `Color` | Color used for the border. |
|
|
81
|
+
| `borderWidth` | `number` | Width of the border. |
|
|
45
82
|
| `padding` | `Padding` | Space inside the widget, between its content and its border. |
|
|
83
|
+
| `paddingTop` | `Size` | Space inside the widget, on the top edge only. |
|
|
84
|
+
| `paddingRight` | `Size` | Space inside the widget, on the right edge only. |
|
|
85
|
+
| `paddingBottom` | `Size` | Space inside the widget, on the bottom edge only. |
|
|
86
|
+
| `paddingLeft` | `Size` | Space inside the widget, on the left edge only. |
|
|
87
|
+
| `pt` | `Size` | Alias of `paddingTop`. |
|
|
88
|
+
| `pr` | `Size` | Alias of `paddingRight`. |
|
|
89
|
+
| `pb` | `Size` | Alias of `paddingBottom`. |
|
|
90
|
+
| `pl` | `Size` | Alias of `paddingLeft`. |
|
|
46
91
|
| `margin` | `Margin` | Space outside the widget, between it and its neighbors. |
|
|
92
|
+
| `marginTop` | `Size` | Space outside the widget, on the top edge only. |
|
|
93
|
+
| `marginRight` | `Size` | Space outside the widget, on the right edge only. |
|
|
94
|
+
| `marginBottom` | `Size` | Space outside the widget, on the bottom edge only. |
|
|
95
|
+
| `marginLeft` | `Size` | Space outside the widget, on the left edge only. |
|
|
96
|
+
| `mt` | `Size` | Alias of `marginTop`. |
|
|
97
|
+
| `mr` | `Size` | Alias of `marginRight`. |
|
|
98
|
+
| `mb` | `Size` | Alias of `marginBottom`. |
|
|
99
|
+
| `ml` | `Size` | Alias of `marginLeft`. |
|
|
47
100
|
| `bgColor` | `Color` | Background color. Alias: `backgroundColor`. |
|
|
48
101
|
| `backgroundColor` | `Color` | Background color. Alias of `bgColor`. |
|
|
49
102
|
| `color` | `Color` | Foreground color, usually the text or icon color. |
|
|
@@ -53,11 +106,23 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
53
106
|
| `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
|
|
54
107
|
| `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
108
|
| `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
|
|
109
|
+
| `bgImage` | `string` | Image painted behind the widget's content (CSS `background-image`), placed with `bgSize` and `bgPosition`. |
|
|
110
|
+
| `bgSize` | `string` | How the background image fills its box (`cover`, `contain`, or a length). |
|
|
111
|
+
| `bgPosition` | `string` | Where the background image is anchored (`center`, `top`, `50% 20%`). |
|
|
112
|
+
| `bgRepeat` | `string` | Whether the background image tiles; `no-repeat` for a single cover. |
|
|
56
113
|
| `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
|
|
57
114
|
| `visible` | `boolean` | Whether the widget is rendered and visible. |
|
|
58
115
|
| `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
|
|
59
|
-
| `onPress` | `(
|
|
60
|
-
| `onClick` | `(
|
|
116
|
+
| `onPress` | `(event?: Event) => void` | Callback fired when the widget is pressed. Alias: `onClick`. |
|
|
117
|
+
| `onClick` | `(event?: Event) => void` | Callback fired when the widget is clicked. Alias: `onPress`. |
|
|
118
|
+
| `onclick` | `(event?: Event) => void` | Lowercase alias of `onClick`, kept because the shipped templates and the HTML habit write it. |
|
|
119
|
+
| `alignSelf` | `AlignSelf` | Overrides the parent's `alignItems` for this child alone (CSS `align-self`). Alias: `selfAlign`. |
|
|
120
|
+
| `selfAlign` | `AlignSelf` | Alias of `alignSelf`. |
|
|
121
|
+
| `overflow` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | How overflowing content is handled (`hidden`, `auto`, `scroll`). |
|
|
122
|
+
| `overflowX` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowX` value for the widget. |
|
|
123
|
+
| `overflowY` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowY` value for the widget. |
|
|
124
|
+
| `textOverflow` | `'clip' \| 'ellipsis' \| string` | The `textOverflow` value for the widget. |
|
|
125
|
+
| `whiteSpace` | `'normal' \| 'nowrap' \| 'pre' \| 'pre-wrap' \| 'pre-line' \| string` | The `whiteSpace` value for the widget. |
|
|
61
126
|
| `id` | `string` | DOM `id` for the rendered element. |
|
|
62
127
|
| `className` | `string` | CSS class names applied to the rendered element. |
|
|
63
128
|
| `ref` | `(widget: Widget) => void` | Callback that receives the underlying DOM node. |
|
|
@@ -103,45 +168,21 @@ const toast = AnimatedBox({
|
|
|
103
168
|
|
|
104
169
|
## Tips
|
|
105
170
|
|
|
106
|
-
- A step is `{ effect, from, to }`, where the effect is one of `scale`, `scaleX`,
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
- Each step's `duration`, `delay` and `loop` are read off **that step**:
|
|
113
|
-
a 600 ms `scale` and a 400 ms `opacity` in one entrance run together for 600 ms,
|
|
114
|
-
with the fade holding from 400 ms on. Times are milliseconds as a number
|
|
115
|
-
(`duration: 400`) or a CSS time as a string (`delay: "0.4s"`); a bare number as a
|
|
116
|
-
`delay` used to make the whole `animation` shorthand invalid, which read as the
|
|
117
|
-
widget not animating at all.
|
|
118
|
-
- `reverse: true` makes a step swing back to `from` instead of holding `to`; with
|
|
119
|
-
`loop: true` it breathes.
|
|
120
|
-
- A looping step and a one-shot step cannot share one `@keyframes` rule — repeating
|
|
121
|
-
the rule repeats the entrance — so they are generated as two rules. Two rules
|
|
122
|
-
cannot compose one `transform`, so keep every transform step in one group: mixing
|
|
123
|
-
a looping `rotate` with a one-shot `translateY` moves only one of them, and the
|
|
124
|
-
widget warns about it.
|
|
125
|
-
- A length is a framework unit, not a pixel: `translateY: 20` is `20 / base-font-size`
|
|
126
|
-
rem, so the movement grows with the reader's font like the rest of the UI.
|
|
127
|
-
- `top`, `right`, `bottom` and `left` are forwarded to the child's dataset as
|
|
128
|
-
positioning hints for layout systems.
|
|
171
|
+
- A step is `{ effect, from, to }`, where the effect is one of `scale`, `scaleX`, `scaleY`, `rotate`, `rotateX`, `rotateY`, `rotateZ`, `skewX`, `skewY`, `translateX`, `translateY`, `translateZ`, `opacity`, `color`, `backgroundColor`, `borderColor`, `borderWidth`, `borderRadius`, `width`, `height`, `boxShadow`, `background` or `textGradient` (the margin and padding steps work as well). A name outside that list does nothing, silently.
|
|
172
|
+
- Each step's `duration`, `delay` and `loop` are read off **that step**: a 600 ms `scale` and a 400 ms `opacity` in one entrance run together for 600 ms, with the fade holding from 400 ms on. Times are milliseconds as a number (`duration: 400`) or a CSS time as a string (`delay: "0.4s"`); a bare number as a `delay` used to make the whole `animation` shorthand invalid, which read as the widget not animating at all.
|
|
173
|
+
- `reverse: true` makes a step swing back to `from` instead of holding `to`; with `loop: true` it breathes.
|
|
174
|
+
- A looping step and a one-shot step cannot share one `@keyframes` rule — repeating the rule repeats the entrance — so they are generated as two rules. Two rules cannot compose one `transform`, so keep every transform step in one group: mixing a looping `rotate` with a one-shot `translateY` moves only one of them, and the widget warns about it.
|
|
175
|
+
- A length is a framework unit, not a pixel: `translateY: 20` is `20 / base-font-size` rem, so the movement grows with the reader's font like the rest of the UI.
|
|
176
|
+
- `top`, `right`, `bottom` and `left` are forwarded to the child's dataset as positioning hints for layout systems.
|
|
129
177
|
|
|
130
178
|
## Accessibility
|
|
131
179
|
|
|
132
|
-
- Nothing to do here: the engine reads `prefers-reduced-motion` and the
|
|
133
|
-
[motion mode](../tools/animation.md#reduced-motion), and a looping or entering
|
|
134
|
-
step collapses to one frame that lands on its `to` values, so content is never
|
|
135
|
-
held invisible behind an animation the reader refused.
|
|
180
|
+
- Nothing to do here: the engine reads `prefers-reduced-motion` and the [motion mode](../tools/animation.md#reduced-motion), and a looping or entering step collapses to one frame that lands on its `to` values, so content is never held invisible behind an animation the reader refused.
|
|
136
181
|
|
|
137
182
|
## Behavior
|
|
138
183
|
|
|
139
|
-
- Every step's `from` is written on the element before its rule starts, including
|
|
140
|
-
|
|
141
|
-
keyframes run, and no flash of the *first* step's end while a delayed step waits.
|
|
142
|
-
- Generated `@keyframes` are named by their content and injected once, so a sequence
|
|
143
|
-
repeated — or one word staggered across `AnimatedText` letters — reuses one rule
|
|
144
|
-
instead of adding a `<style>` per call.
|
|
184
|
+
- Every step's `from` is written on the element before its rule starts, including the ones that begin later — so there is no flash of the final state before the keyframes run, and no flash of the *first* step's end while a delayed step waits.
|
|
185
|
+
- Generated `@keyframes` are named by their content and injected once, so a sequence repeated — or one word staggered across `AnimatedText` letters — reuses one rule instead of adding a `<style>` per call.
|
|
145
186
|
|
|
146
187
|
## Related widgets
|
|
147
188
|
|