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/QRCode.md
CHANGED
|
@@ -35,11 +35,64 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
35
35
|
|
|
36
36
|
| Prop | Type | Description |
|
|
37
37
|
| --- | --- | --- |
|
|
38
|
+
| `full` | `boolean` | Stretches the widget to fill its parent on both axes in stack mode. |
|
|
39
|
+
| `fullHeight` | `boolean` | Stretches the widget to the full height of its parent in stack mode. |
|
|
40
|
+
| `fullWidth` | `boolean` | Stretches the widget to the full width of its parent. |
|
|
41
|
+
| `center` | `boolean` | Centres the widget on both axes in stack mode. |
|
|
42
|
+
| `centerY` | `boolean` | Centres the widget vertically in stack mode. |
|
|
43
|
+
| `centerX` | `boolean` | Centres the widget horizontally in stack mode. |
|
|
44
|
+
| `zIndex` | `number` | Stacking order: a widget with a higher value paints above lower ones. |
|
|
45
|
+
| `z` | `number` | Alias of `zIndex`. |
|
|
46
|
+
| `end` | `Size` | Logical alias of `right`, used by the stack placement shorthands. |
|
|
47
|
+
| `start` | `Size` | Logical alias of `left`, used by the stack placement shorthands. |
|
|
48
|
+
| `inset` | `Size` | Shorthand for the four edge offsets (`top`/`right`/`bottom`/`left`). |
|
|
49
|
+
| `left` | `Size` | Offset from the left edge. A number is pixels; a string uses any CSS unit. |
|
|
50
|
+
| `bottom` | `Size` | Offset from the bottom edge. A number is pixels; a string uses any CSS unit. |
|
|
51
|
+
| `right` | `Size` | Offset from the right edge. A number is pixels; a string uses any CSS unit. |
|
|
52
|
+
| `top` | `Size` | Offset from the top edge. A number is pixels; a string uses any CSS unit. |
|
|
53
|
+
| `pos` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | Alias of `position`. |
|
|
54
|
+
| `position` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | CSS `position` value, or `stack` for centered stacking. |
|
|
38
55
|
| `width` | `Size` | Width of the widget. A number is pixels; a string uses any CSS unit. |
|
|
39
56
|
| `height` | `Size` | Height of the widget. A number is pixels; a string uses any CSS unit. |
|
|
40
57
|
| `size` | `Size` | Overall size preset or pixel value, depending on the widget. |
|
|
58
|
+
| `flex` | `number` | Flex grow/shrink/basis shorthand for a flex child. |
|
|
59
|
+
| `minWidth` | `Size` | Minimum width the widget may shrink to. |
|
|
60
|
+
| `maxWidth` | `Size` | Maximum width the widget may grow to. |
|
|
61
|
+
| `minHeight` | `Size` | Minimum height the widget may shrink to. |
|
|
62
|
+
| `maxHeight` | `Size` | Maximum height the widget may grow to. |
|
|
63
|
+
| `border` | `string` | CSS `border` shorthand for all four edges: width, style and color in one string. |
|
|
64
|
+
| `borderTop` | `string` | The top edge of the border alone, for a widget whose rim differs per side. |
|
|
65
|
+
| `borderBottom` | `string` | The bottom edge of the border alone, for a widget whose rim differs per side. |
|
|
66
|
+
| `borderLeft` | `string` | The left edge of the border alone, for a widget whose rim differs per side. |
|
|
67
|
+
| `borderRight` | `string` | The right edge of the border alone, for a widget whose rim differs per side. |
|
|
68
|
+
| `cursor` | `string` | CSS `cursor` value: what the pointer becomes over the widget (`pointer`, `grab`, `not-allowed`). |
|
|
69
|
+
| `display` | `string` | CSS `display` value for the container. |
|
|
70
|
+
| `boxSizing` | `'border-box' \| 'content-box'` | Which box `width` and `height` measure: `border-box` keeps the size you asked for and pushes padding inward. |
|
|
71
|
+
| `flexDirection` | `'row' \| 'column' \| 'row-reverse' \| 'column-reverse'` | Main axis of a flex container: `row` places children side by side, `column` stacks them. |
|
|
72
|
+
| `flexGrow` | `number` | Share of the leftover space this child takes, relative to its siblings. |
|
|
73
|
+
| `flexShrink` | `number` | How readily the child gives space back when the row overflows; `0` keeps its size. |
|
|
74
|
+
| `gap` | `number \| string` | Space between children along the layout axis. |
|
|
75
|
+
| `fontSize` | `number` | Size of the font. |
|
|
76
|
+
| `borderColor` | `Color` | Color used for the border. |
|
|
77
|
+
| `borderWidth` | `number` | Width of the border. |
|
|
41
78
|
| `padding` | `Padding` | Space inside the widget, between its content and its border. |
|
|
79
|
+
| `paddingTop` | `Size` | Space inside the widget, on the top edge only. |
|
|
80
|
+
| `paddingRight` | `Size` | Space inside the widget, on the right edge only. |
|
|
81
|
+
| `paddingBottom` | `Size` | Space inside the widget, on the bottom edge only. |
|
|
82
|
+
| `paddingLeft` | `Size` | Space inside the widget, on the left edge only. |
|
|
83
|
+
| `pt` | `Size` | Alias of `paddingTop`. |
|
|
84
|
+
| `pr` | `Size` | Alias of `paddingRight`. |
|
|
85
|
+
| `pb` | `Size` | Alias of `paddingBottom`. |
|
|
86
|
+
| `pl` | `Size` | Alias of `paddingLeft`. |
|
|
42
87
|
| `margin` | `Margin` | Space outside the widget, between it and its neighbors. |
|
|
88
|
+
| `marginTop` | `Size` | Space outside the widget, on the top edge only. |
|
|
89
|
+
| `marginRight` | `Size` | Space outside the widget, on the right edge only. |
|
|
90
|
+
| `marginBottom` | `Size` | Space outside the widget, on the bottom edge only. |
|
|
91
|
+
| `marginLeft` | `Size` | Space outside the widget, on the left edge only. |
|
|
92
|
+
| `mt` | `Size` | Alias of `marginTop`. |
|
|
93
|
+
| `mr` | `Size` | Alias of `marginRight`. |
|
|
94
|
+
| `mb` | `Size` | Alias of `marginBottom`. |
|
|
95
|
+
| `ml` | `Size` | Alias of `marginLeft`. |
|
|
43
96
|
| `bgColor` | `Color` | Background color. Alias: `backgroundColor`. |
|
|
44
97
|
| `backgroundColor` | `Color` | Background color. Alias of `bgColor`. |
|
|
45
98
|
| `color` | `Color` | Foreground color, usually the text or icon color. |
|
|
@@ -49,11 +102,23 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
49
102
|
| `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
|
|
50
103
|
| `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
104
|
| `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
|
|
105
|
+
| `bgImage` | `string` | Image painted behind the widget's content (CSS `background-image`), placed with `bgSize` and `bgPosition`. |
|
|
106
|
+
| `bgSize` | `string` | How the background image fills its box (`cover`, `contain`, or a length). |
|
|
107
|
+
| `bgPosition` | `string` | Where the background image is anchored (`center`, `top`, `50% 20%`). |
|
|
108
|
+
| `bgRepeat` | `string` | Whether the background image tiles; `no-repeat` for a single cover. |
|
|
52
109
|
| `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
|
|
53
110
|
| `visible` | `boolean` | Whether the widget is rendered and visible. |
|
|
54
111
|
| `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
|
|
55
|
-
| `onPress` | `(
|
|
56
|
-
| `onClick` | `(
|
|
112
|
+
| `onPress` | `(event?: Event) => void` | Callback fired when the widget is pressed. Alias: `onClick`. |
|
|
113
|
+
| `onClick` | `(event?: Event) => void` | Callback fired when the widget is clicked. Alias: `onPress`. |
|
|
114
|
+
| `onclick` | `(event?: Event) => void` | Lowercase alias of `onClick`, kept because the shipped templates and the HTML habit write it. |
|
|
115
|
+
| `alignSelf` | `AlignSelf` | Overrides the parent's `alignItems` for this child alone (CSS `align-self`). Alias: `selfAlign`. |
|
|
116
|
+
| `selfAlign` | `AlignSelf` | Alias of `alignSelf`. |
|
|
117
|
+
| `overflow` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | How overflowing content is handled (`hidden`, `auto`, `scroll`). |
|
|
118
|
+
| `overflowX` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowX` value for the widget. |
|
|
119
|
+
| `overflowY` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowY` value for the widget. |
|
|
120
|
+
| `textOverflow` | `'clip' \| 'ellipsis' \| string` | The `textOverflow` value for the widget. |
|
|
121
|
+
| `whiteSpace` | `'normal' \| 'nowrap' \| 'pre' \| 'pre-wrap' \| 'pre-line' \| string` | The `whiteSpace` value for the widget. |
|
|
57
122
|
| `id` | `string` | DOM `id` for the rendered element. |
|
|
58
123
|
| `className` | `string` | CSS class names applied to the rendered element. |
|
|
59
124
|
| `ref` | `(widget: Widget) => void` | Callback that receives the underlying DOM node. |
|
package/docs/widget/README.md
CHANGED
|
@@ -25,7 +25,7 @@ _layout and the core mental model_
|
|
|
25
25
|
2. [Container](Container.md) — General-purpose surface box
|
|
26
26
|
3. [Row](Row.md) — Horizontal flex layout that places its children side by side
|
|
27
27
|
4. [Column](Column.md) — Vertical flex layout that stacks its children one below another
|
|
28
|
-
5. [Stack](Stack.md) — Overlay container
|
|
28
|
+
5. [Stack](Stack.md) — Overlay container: every child after the first paints in the same box, anchored by a nine-point `alignment` or by its own edges.
|
|
29
29
|
6. [Icon](Icon.md) — Material icon glyph rendered as a span
|
|
30
30
|
7. [Image](Image.md) — Renders an image element from a URL or path
|
|
31
31
|
|
|
@@ -41,85 +41,87 @@ _the widgets users click and type into_
|
|
|
41
41
|
13. [Slider](Slider.md) — A draggable range input that selects a numeric value along a track between min and max.
|
|
42
42
|
14. [Dropdown](Dropdown.md) — A select control that shows the current choice and opens a menu of options when clicked.
|
|
43
43
|
15. [Rating](Rating.md) — A row of star icons that captures or displays a score up to max
|
|
44
|
+
16. [ThemePicker](ThemePicker.md) — A row of two-tone squares, one per accent family, that picks the color the screen paints its buttons, icons and plates with.
|
|
44
45
|
|
|
45
46
|
### Chapter 3 · Layout, cards and lists
|
|
46
47
|
|
|
47
48
|
_cards, lists, grids and content rows_
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
17. [Card](Card.md) — A rounded, optionally elevated surface that groups related content into a single tappable unit.
|
|
51
|
+
18. [Divider](Divider.md) — A thin horizontal or vertical line that separates sections of content
|
|
52
|
+
19. [ListTile](ListTile.md) — A single row with leading, title, subtitle, and trailing slots
|
|
53
|
+
20. [ListView](ListView.md) — Virtualized scrollable list that keeps only the visible rows plus a buffer in the DOM, so large datasets stay responsive.
|
|
54
|
+
21. [GridView](GridView.md) — Grid layout built on ListView's virtualization
|
|
55
|
+
22. [Avatar](Avatar.md) — A compact identity chip that shows a profile image, the person's initials, or a fallback icon
|
|
56
|
+
23. [Badge](Badge.md) — Wraps a child widget and overlays a small count or status marker at one of its corners
|
|
57
|
+
24. [Chip](Chip.md) — A compact, pill-shaped label for tags, filters, and selections
|
|
57
58
|
|
|
58
59
|
### Chapter 4 · Feedback and overlays
|
|
59
60
|
|
|
60
61
|
_dialogs, sheets, notifications and progress_
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
63
|
+
25. [AlertDialog](AlertDialog.md) — A pre-styled confirmation dialog built on Modal, with a variant icon, message and confirm/cancel buttons.
|
|
64
|
+
26. [Modal](Modal.md) — A centered dialog over a dimmed overlay that holds a title, content and a row of actions.
|
|
65
|
+
27. [BottomSheet](BottomSheet.md) — A panel that slides up from the bottom of the screen over a dimmed overlay.
|
|
66
|
+
28. [SnackBar](SnackBar.md) — A transient toast that appears at the edge of the screen, reports a short message, and dismisses itself.
|
|
67
|
+
29. [Tooltip](Tooltip.md) — Wraps a child widget and shows a labeled overlay bubble on hover or focus
|
|
68
|
+
30. [Menu](Menu.md) — A trigger button that opens an anchored menu of actions
|
|
69
|
+
31. [ProgressBar](ProgressBar.md) — A horizontal bar that visualizes completion from zero to max
|
|
70
|
+
32. [CircularBar](CircularBar.md) — A circular or radial progress indicator drawn on canvas
|
|
71
|
+
33. [Skeleton](Skeleton.md) — Renders animated placeholder blocks that stand in for content while it loads
|
|
72
|
+
34. [FloatingActionButton](FloatingActionButton.md) — A circular, elevated button that floats over content and can expand into a labeled pill.
|
|
73
|
+
35. [Pagination](Pagination.md) — Renders page controls derived from totalItems and pageSize, with optional first/last and prev/next buttons
|
|
72
74
|
|
|
73
75
|
### Chapter 5 · Navigation and flows
|
|
74
76
|
|
|
75
77
|
_multi-step flows, trees and rotating content_
|
|
76
78
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
36. [Stepper](Stepper.md) — A multi-step progress indicator that shows each step as a circle, number or icon and reveals the active step's content.
|
|
80
|
+
37. [Accordion](Accordion.md) — A collapsible panel that hides a title bar with expandable content beneath it
|
|
81
|
+
38. [TreeView](TreeView.md) — Renders a collapsible hierarchy from nodes, each with an id, label, optional icon, badge and children
|
|
82
|
+
39. [Carousel](Carousel.md) — Cycles through items one at a time with optional arrows, dots and autoplay
|
|
83
|
+
40. [InstallButton](InstallButton.md) — A floating button that appears only when the browser is ready to install the app as a PWA
|
|
82
84
|
|
|
83
85
|
### Chapter 6 · Data, rich content & effects
|
|
84
86
|
|
|
85
87
|
_tables, charts, rich text, ads and motion_
|
|
86
88
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
89
|
+
41. [DataTable](DataTable.md) — Renders tabular rows using a columns definition, with optional striping, hover and borders
|
|
90
|
+
42. [Chart](Chart.md) — Draws bar, line, area or candlestick data onto a canvas, with optional labels, grid and value annotations
|
|
91
|
+
43. [CircularChart](CircularChart.md) — A pie or donut chart drawn on canvas with per-slice value, label, and color
|
|
92
|
+
44. [Markdown](Markdown.md) — Renders markdown source as styled HTML with scoped CSS, syntax-highlighted code blocks, copy buttons, tables, and blockquotes inside a scrollable surface.
|
|
93
|
+
45. [CodeViewer](CodeViewer.md) — Shows a read-only code block with an optional header, line numbers and scrolling for long files
|
|
94
|
+
46. [QRCode](QRCode.md) — Renders a scannable QR image for a string value
|
|
95
|
+
47. [Inspector](Inspector.md) — Renders a read-only tree that drills into a widget's props, children and element structure
|
|
96
|
+
48. [AdSense](AdSense.md) — Google AdSense display unit for the web
|
|
97
|
+
49. [AdMob](AdMob.md) — Google AdMob banner and full-screen ads for native Capacitor builds
|
|
98
|
+
50. [AnimatedBox](AnimatedBox.md) — Wraps a single child and plays a sequence of CSS animations described by effect/from/to steps
|
|
99
|
+
51. [AnimatedText](AnimatedText.md) — Splits a Text widget into individual characters and animates each one, optionally staggering the start of every letter for a cascade effect.
|
|
100
|
+
52. [MatrixRain](MatrixRain.md) — A canvas-based Matrix-style effect where random characters cascade down the screen
|
|
101
|
+
53. [ParallaxBox](ParallaxBox.md) — A container that shifts its child in response to scroll, mouse position, or hover entry
|
|
100
102
|
|
|
101
103
|
### Chapter 7 · Media and drag & drop
|
|
102
104
|
|
|
103
105
|
_audio, video and drag-and-drop_
|
|
104
106
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
54. [Audio](Audio.md) — A thin wrapper around the native <audio> element with reliable duration detection, progress callbacks, and an imperative playback API
|
|
108
|
+
55. [Video](Video.md) — Renders a native <video> element with proper media attributes and a convenient playback API
|
|
109
|
+
56. [Maps](Maps.md) — An interactive map — pan, zoom, markers and polylines — with no map library behind it
|
|
110
|
+
57. [DraggBox](DraggBox.md) — Wraps a child so it can be dragged with the native drag-and-drop API
|
|
111
|
+
58. [DroppBox](DroppBox.md) — A drop target for DraggBox items
|
|
110
112
|
|
|
111
113
|
### Chapter 8 · App navigation
|
|
112
114
|
|
|
113
115
|
_Build the shell of a real application and wire it to the router._
|
|
114
116
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
117
|
+
59. [Scaffold](Scaffold.md) — the app shell: app bar, body, drawer, side bars
|
|
118
|
+
60. [AdaptiveScaffold](AdaptiveScaffold.md) — the same shell, adapted to phone and desktop
|
|
119
|
+
61. [AppBar](AppBar.md) — a top bar for titles, actions, and back navigation
|
|
120
|
+
62. [Drawer](Drawer.md) — a panel that slides in from the side
|
|
121
|
+
63. [DrawerItem](DrawerItem.md) — a router-aware row for a drawer or side bar
|
|
122
|
+
64. [BottomNavigation](BottomNavigation.md) — a bottom tab bar synced with the router
|
|
123
|
+
65. [Tabs](Tabs.md) — switch panes inside a screen
|
|
124
|
+
66. [CollapsibleSideBar](CollapsibleSideBar.md) — a side panel that collapses to icons
|
|
123
125
|
|
|
124
126
|
Then continue with [State, Router & Services](../guides/state.md) — Chapter 9.
|
|
125
127
|
|
|
@@ -169,6 +171,7 @@ Then continue with [State, Router & Services](../guides/state.md) — Chapter 9.
|
|
|
169
171
|
- [Maps](Maps.md)
|
|
170
172
|
- [Markdown](Markdown.md)
|
|
171
173
|
- [MatrixRain](MatrixRain.md)
|
|
174
|
+
- [Menu](Menu.md)
|
|
172
175
|
- [Modal](Modal.md)
|
|
173
176
|
- [Pagination](Pagination.md)
|
|
174
177
|
- [ParallaxBox](ParallaxBox.md)
|
|
@@ -186,6 +189,7 @@ Then continue with [State, Router & Services](../guides/state.md) — Chapter 9.
|
|
|
186
189
|
- [Switch](Switch.md)
|
|
187
190
|
- [Tabs](Tabs.md)
|
|
188
191
|
- [Text](Text.md)
|
|
192
|
+
- [ThemePicker](ThemePicker.md)
|
|
189
193
|
- [Tooltip](Tooltip.md)
|
|
190
194
|
- [TreeView](TreeView.md)
|
|
191
195
|
- [Video](Video.md)
|
package/docs/widget/Radio.md
CHANGED
|
@@ -14,7 +14,7 @@ import { Radio } from "flet-box";
|
|
|
14
14
|
const plan = Radio({
|
|
15
15
|
label: "Monthly",
|
|
16
16
|
name: "billing",
|
|
17
|
-
|
|
17
|
+
onPress: (value) => console.log(value),
|
|
18
18
|
});
|
|
19
19
|
```
|
|
20
20
|
|
|
@@ -25,12 +25,13 @@ const plan = Radio({
|
|
|
25
25
|
| Prop | Type | Description |
|
|
26
26
|
| --- | --- | --- |
|
|
27
27
|
| `selected` | `boolean` | Current selected state. |
|
|
28
|
-
| `onSelect` | `(selected: boolean) => void` |
|
|
28
|
+
| `onSelect` | `(selected: boolean) => void` | Deprecated alias of `onPress`. |
|
|
29
|
+
| `onPress` | `(selected: boolean) => void` | Called with the new selected state (`true` or `false`). |
|
|
29
30
|
| `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
|
|
30
31
|
| `size` | `number` | Overall size preset or pixel value, depending on the widget. |
|
|
31
32
|
| `activeColor` | `Color` | Color used in the active state. |
|
|
32
33
|
| `label` | `string` | Label or caption shown near the control. |
|
|
33
|
-
| `name` | `string` |
|
|
34
|
+
| `name` | `string` | Value this option submits when it is the selected one. |
|
|
34
35
|
|
|
35
36
|
### Common props
|
|
36
37
|
|
|
@@ -38,11 +39,64 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
38
39
|
|
|
39
40
|
| Prop | Type | Description |
|
|
40
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. |
|
|
41
59
|
| `width` | `Size` | Width of the widget. A number is pixels; a string uses any CSS unit. |
|
|
42
60
|
| `height` | `Size` | Height of the widget. A number is pixels; a string uses any CSS unit. |
|
|
43
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. |
|
|
44
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`. |
|
|
45
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`. |
|
|
46
100
|
| `bgColor` | `Color` | Background color. Alias: `backgroundColor`. |
|
|
47
101
|
| `backgroundColor` | `Color` | Background color. Alias of `bgColor`. |
|
|
48
102
|
| `color` | `Color` | Foreground color, usually the text or icon color. |
|
|
@@ -52,11 +106,23 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
52
106
|
| `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
|
|
53
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. |
|
|
54
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. |
|
|
55
113
|
| `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
|
|
56
114
|
| `visible` | `boolean` | Whether the widget is rendered and visible. |
|
|
57
115
|
| `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
|
|
58
|
-
| `onPress` | `(
|
|
59
|
-
| `onClick` | `(
|
|
116
|
+
| `onPress` | `(event?: Event) => void` | Called with the new selected state (`true` or `false`). |
|
|
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. |
|
|
60
126
|
| `id` | `string` | DOM `id` for the rendered element. |
|
|
61
127
|
| `className` | `string` | CSS class names applied to the rendered element. |
|
|
62
128
|
| `ref` | `(widget: Widget) => void` | Callback that receives the underlying DOM node. |
|
|
@@ -74,7 +140,7 @@ const monthly = Radio({
|
|
|
74
140
|
name: "billing",
|
|
75
141
|
selected: true,
|
|
76
142
|
activeColor: "#2563eb",
|
|
77
|
-
|
|
143
|
+
onPress: (value) => console.log("billing:", value),
|
|
78
144
|
});
|
|
79
145
|
```
|
|
80
146
|
|
|
@@ -90,7 +156,7 @@ const option = Radio({
|
|
|
90
156
|
disabled: false,
|
|
91
157
|
activeColor: "#16a34a",
|
|
92
158
|
size: 24,
|
|
93
|
-
|
|
159
|
+
onPress: (value) => {
|
|
94
160
|
console.log("shipping changed:", value);
|
|
95
161
|
},
|
|
96
162
|
});
|
|
@@ -99,7 +165,7 @@ const option = Radio({
|
|
|
99
165
|
## Tips
|
|
100
166
|
|
|
101
167
|
- Give Radios that answer the same question the same name; selecting one clears the others in that group.
|
|
102
|
-
- Set selected for the initial choice and let
|
|
168
|
+
- Set selected for the initial choice and let onPress write the change back into your own state.
|
|
103
169
|
|
|
104
170
|
## Accessibility
|
|
105
171
|
|
|
@@ -107,7 +173,7 @@ const option = Radio({
|
|
|
107
173
|
|
|
108
174
|
## Behavior
|
|
109
175
|
|
|
110
|
-
- Clicking an already-selected Radio is a no-op, so
|
|
176
|
+
- Clicking an already-selected Radio is a no-op, so onPress only fires when the selection actually changes.
|
|
111
177
|
- The returned element exposes select(), unselect() and isSelected() for programmatic control.
|
|
112
178
|
|
|
113
179
|
## Related widgets
|
|
@@ -124,4 +190,4 @@ const option = Radio({
|
|
|
124
190
|
- **Next:** [Switch](Switch.md)
|
|
125
191
|
- **Index:** [Widget index](README.md) · [Start here](START_HERE.md)
|
|
126
192
|
|
|
127
|
-
You are reading **Chapter 2 · Interaction basics** (4 of
|
|
193
|
+
You are reading **Chapter 2 · Interaction basics** (4 of 9).
|
package/docs/widget/Rating.md
CHANGED
|
@@ -44,11 +44,64 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
44
44
|
|
|
45
45
|
| Prop | Type | Description |
|
|
46
46
|
| --- | --- | --- |
|
|
47
|
+
| `full` | `boolean` | Stretches the widget to fill its parent on both axes in stack mode. |
|
|
48
|
+
| `fullHeight` | `boolean` | Stretches the widget to the full height of its parent in stack mode. |
|
|
49
|
+
| `fullWidth` | `boolean` | Stretches the widget to the full width of its parent. |
|
|
50
|
+
| `center` | `boolean` | Centres the widget on both axes in stack mode. |
|
|
51
|
+
| `centerY` | `boolean` | Centres the widget vertically in stack mode. |
|
|
52
|
+
| `centerX` | `boolean` | Centres the widget horizontally in stack mode. |
|
|
53
|
+
| `zIndex` | `number` | Stacking order: a widget with a higher value paints above lower ones. |
|
|
54
|
+
| `z` | `number` | Alias of `zIndex`. |
|
|
55
|
+
| `end` | `Size` | Logical alias of `right`, used by the stack placement shorthands. |
|
|
56
|
+
| `start` | `Size` | Logical alias of `left`, used by the stack placement shorthands. |
|
|
57
|
+
| `inset` | `Size` | Shorthand for the four edge offsets (`top`/`right`/`bottom`/`left`). |
|
|
58
|
+
| `left` | `Size` | Offset from the left edge. A number is pixels; a string uses any CSS unit. |
|
|
59
|
+
| `bottom` | `Size` | Offset from the bottom edge. A number is pixels; a string uses any CSS unit. |
|
|
60
|
+
| `right` | `Size` | Offset from the right edge. A number is pixels; a string uses any CSS unit. |
|
|
61
|
+
| `top` | `Size` | Offset from the top edge. A number is pixels; a string uses any CSS unit. |
|
|
62
|
+
| `pos` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | Alias of `position`. |
|
|
63
|
+
| `position` | `'static' \| 'relative' \| 'absolute' \| 'fixed' \| 'sticky' \| 'stack'` | CSS `position` value, or `stack` for centered stacking. |
|
|
47
64
|
| `width` | `Size` | Width of the widget. A number is pixels; a string uses any CSS unit. |
|
|
48
65
|
| `height` | `Size` | Height of the widget. A number is pixels; a string uses any CSS unit. |
|
|
49
66
|
| `size` | `Size` | Overall size preset or pixel value, depending on the widget. |
|
|
67
|
+
| `flex` | `number` | Flex grow/shrink/basis shorthand for a flex child. |
|
|
68
|
+
| `minWidth` | `Size` | Minimum width the widget may shrink to. |
|
|
69
|
+
| `maxWidth` | `Size` | Maximum width the widget may grow to. |
|
|
70
|
+
| `minHeight` | `Size` | Minimum height the widget may shrink to. |
|
|
71
|
+
| `maxHeight` | `Size` | Maximum height the widget may grow to. |
|
|
72
|
+
| `border` | `string` | CSS `border` shorthand for all four edges: width, style and color in one string. |
|
|
73
|
+
| `borderTop` | `string` | The top edge of the border alone, for a widget whose rim differs per side. |
|
|
74
|
+
| `borderBottom` | `string` | The bottom edge of the border alone, for a widget whose rim differs per side. |
|
|
75
|
+
| `borderLeft` | `string` | The left edge of the border alone, for a widget whose rim differs per side. |
|
|
76
|
+
| `borderRight` | `string` | The right edge of the border alone, for a widget whose rim differs per side. |
|
|
77
|
+
| `cursor` | `string` | CSS `cursor` value: what the pointer becomes over the widget (`pointer`, `grab`, `not-allowed`). |
|
|
78
|
+
| `display` | `string` | CSS `display` value for the container. |
|
|
79
|
+
| `boxSizing` | `'border-box' \| 'content-box'` | Which box `width` and `height` measure: `border-box` keeps the size you asked for and pushes padding inward. |
|
|
80
|
+
| `flexDirection` | `'row' \| 'column' \| 'row-reverse' \| 'column-reverse'` | Main axis of a flex container: `row` places children side by side, `column` stacks them. |
|
|
81
|
+
| `flexGrow` | `number` | Share of the leftover space this child takes, relative to its siblings. |
|
|
82
|
+
| `flexShrink` | `number` | How readily the child gives space back when the row overflows; `0` keeps its size. |
|
|
83
|
+
| `gap` | `number \| string` | Space between children along the layout axis. |
|
|
84
|
+
| `fontSize` | `number` | Size of the font. |
|
|
85
|
+
| `borderColor` | `Color` | Color used for the border. |
|
|
86
|
+
| `borderWidth` | `number` | Width of the border. |
|
|
50
87
|
| `padding` | `Padding` | Space inside the widget, between its content and its border. |
|
|
88
|
+
| `paddingTop` | `Size` | Space inside the widget, on the top edge only. |
|
|
89
|
+
| `paddingRight` | `Size` | Space inside the widget, on the right edge only. |
|
|
90
|
+
| `paddingBottom` | `Size` | Space inside the widget, on the bottom edge only. |
|
|
91
|
+
| `paddingLeft` | `Size` | Space inside the widget, on the left edge only. |
|
|
92
|
+
| `pt` | `Size` | Alias of `paddingTop`. |
|
|
93
|
+
| `pr` | `Size` | Alias of `paddingRight`. |
|
|
94
|
+
| `pb` | `Size` | Alias of `paddingBottom`. |
|
|
95
|
+
| `pl` | `Size` | Alias of `paddingLeft`. |
|
|
51
96
|
| `margin` | `Margin` | Space outside the widget, between it and its neighbors. |
|
|
97
|
+
| `marginTop` | `Size` | Space outside the widget, on the top edge only. |
|
|
98
|
+
| `marginRight` | `Size` | Space outside the widget, on the right edge only. |
|
|
99
|
+
| `marginBottom` | `Size` | Space outside the widget, on the bottom edge only. |
|
|
100
|
+
| `marginLeft` | `Size` | Space outside the widget, on the left edge only. |
|
|
101
|
+
| `mt` | `Size` | Alias of `marginTop`. |
|
|
102
|
+
| `mr` | `Size` | Alias of `marginRight`. |
|
|
103
|
+
| `mb` | `Size` | Alias of `marginBottom`. |
|
|
104
|
+
| `ml` | `Size` | Alias of `marginLeft`. |
|
|
52
105
|
| `bgColor` | `Color` | Background color. Alias: `backgroundColor`. |
|
|
53
106
|
| `backgroundColor` | `Color` | Background color. Alias of `bgColor`. |
|
|
54
107
|
| `color` | `Color` | Foreground color, usually the text or icon color. |
|
|
@@ -58,11 +111,23 @@ Every widget also accepts these shared props — see [common props](COMMON_PROPS
|
|
|
58
111
|
| `filter` | `string` | Raw CSS `filter` value applied to the widget itself, e.g. `blur(4px)`. |
|
|
59
112
|
| `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
113
|
| `maskImage` | `string` | Raw CSS `mask-image` value, used to fade a widget out at its edges instead of cutting it. |
|
|
114
|
+
| `bgImage` | `string` | Image painted behind the widget's content (CSS `background-image`), placed with `bgSize` and `bgPosition`. |
|
|
115
|
+
| `bgSize` | `string` | How the background image fills its box (`cover`, `contain`, or a length). |
|
|
116
|
+
| `bgPosition` | `string` | Where the background image is anchored (`center`, `top`, `50% 20%`). |
|
|
117
|
+
| `bgRepeat` | `string` | Whether the background image tiles; `no-repeat` for a single cover. |
|
|
61
118
|
| `opacity` | `number` | Opacity from 0 (invisible) to 1 (fully opaque). |
|
|
62
119
|
| `visible` | `boolean` | Whether the widget is rendered and visible. |
|
|
63
120
|
| `disabled` | `boolean` | Disables interaction and shows the non-interactive state. |
|
|
64
|
-
| `onPress` | `(
|
|
65
|
-
| `onClick` | `(
|
|
121
|
+
| `onPress` | `(event?: Event) => void` | Callback fired when the widget is pressed. Alias: `onClick`. |
|
|
122
|
+
| `onClick` | `(event?: Event) => void` | Callback fired when the widget is clicked. Alias: `onPress`. |
|
|
123
|
+
| `onclick` | `(event?: Event) => void` | Lowercase alias of `onClick`, kept because the shipped templates and the HTML habit write it. |
|
|
124
|
+
| `alignSelf` | `AlignSelf` | Overrides the parent's `alignItems` for this child alone (CSS `align-self`). Alias: `selfAlign`. |
|
|
125
|
+
| `selfAlign` | `AlignSelf` | Alias of `alignSelf`. |
|
|
126
|
+
| `overflow` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | How overflowing content is handled (`hidden`, `auto`, `scroll`). |
|
|
127
|
+
| `overflowX` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowX` value for the widget. |
|
|
128
|
+
| `overflowY` | `'auto' \| 'hidden' \| 'visible' \| 'scroll' \| 'clip'` | The `overflowY` value for the widget. |
|
|
129
|
+
| `textOverflow` | `'clip' \| 'ellipsis' \| string` | The `textOverflow` value for the widget. |
|
|
130
|
+
| `whiteSpace` | `'normal' \| 'nowrap' \| 'pre' \| 'pre-wrap' \| 'pre-line' \| string` | The `whiteSpace` value for the widget. |
|
|
66
131
|
| `id` | `string` | DOM `id` for the rendered element. |
|
|
67
132
|
| `className` | `string` | CSS class names applied to the rendered element. |
|
|
68
133
|
| `ref` | `(widget: Widget) => void` | Callback that receives the underlying DOM node. |
|
|
@@ -117,8 +182,7 @@ const rating = Rating({
|
|
|
117
182
|
|
|
118
183
|
- onChange receives the numeric value each time the user picks a rating.
|
|
119
184
|
- readOnly disables onChange while keeping the current value visible.
|
|
120
|
-
- An unfilled star uses the palette's control grey and a filled one its readable
|
|
121
|
-
- amber, so both states clear 3:1 against the surface they sit on.
|
|
185
|
+
- An unfilled star uses the palette's control grey and a filled one its readable amber, so both states clear 3:1 against the surface they sit on.
|
|
122
186
|
|
|
123
187
|
## Related widgets
|
|
124
188
|
|
|
@@ -131,7 +195,7 @@ const rating = Rating({
|
|
|
131
195
|
## Continue reading
|
|
132
196
|
|
|
133
197
|
- **Previous:** [Dropdown](Dropdown.md)
|
|
134
|
-
- **Next:** [
|
|
198
|
+
- **Next:** [ThemePicker](ThemePicker.md)
|
|
135
199
|
- **Index:** [Widget index](README.md) · [Start here](START_HERE.md)
|
|
136
200
|
|
|
137
|
-
You are reading **Chapter 2 · Interaction basics** (8 of
|
|
201
|
+
You are reading **Chapter 2 · Interaction basics** (8 of 9).
|