flet-box 0.0.0-stage → 1.0.2
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/LICENSE +21 -0
- package/README.md +190 -2
- package/bin/cli.js +394 -0
- package/bin/commands/buildAndroid.js +200 -0
- package/bin/commands/buildIOS.js +237 -0
- package/bin/commands/create.js +406 -0
- package/bin/commands/createBundle.js +375 -0
- package/bin/commands/createComponent.js +115 -0
- package/bin/commands/createScreen.js +161 -0
- package/bin/commands/killServer.js +107 -0
- package/bin/commands/package.js +131 -0
- package/bin/commands/release.js +189 -0
- package/bin/commands/runBundle.js +62 -0
- package/bin/commands/runCloudflare.js +89 -0
- package/bin/commands/runNative.js +109 -0
- package/bin/commands/runServer.js +390 -0
- package/bin/ota/loader.js +361 -0
- package/bin/utils/bundleConfig.js +178 -0
- package/bin/utils/capacitor.js +137 -0
- package/bin/utils/colors.js +215 -0
- package/bin/utils/helpers.js +80 -0
- package/bin/utils/spinner.js +96 -0
- package/bin/utils/templates.js +1824 -0
- package/bin/utils/version.js +108 -0
- package/package.json +58 -4
- package/src/animations/AnimatedBox.js +607 -0
- package/src/animations/AnimatedText.js +105 -0
- package/src/animations/MatrixRain.js +220 -0
- package/src/animations/ParallaxBox.js +369 -0
- package/src/animations/animate.js +332 -0
- package/src/animations/index.js +25 -0
- package/src/app.js +41 -0
- package/src/assets/icon-1024-maskable.png +0 -0
- package/src/assets/icon-192-maskable.png +0 -0
- package/src/assets/icon-192.png +0 -0
- package/src/assets/icon-512-maskable.png +0 -0
- package/src/assets/icon-512.png +0 -0
- package/src/assets/logo.png +0 -0
- package/src/core/App.js +44 -0
- package/src/core/hmr-client.js +142 -0
- package/src/core/index.js +34 -0
- package/src/core/pwa.js +100 -0
- package/src/core/runApp.js +430 -0
- package/src/create-index.sh +237 -0
- package/src/fonts/MaterialIcons-Regular.woff2 +0 -0
- package/src/fonts/icons.css +23 -0
- package/src/index.d.ts +1930 -0
- package/src/index.js +288 -0
- package/src/navigations/AdaptiveScaffold.js +149 -0
- package/src/navigations/AppBar.js +331 -0
- package/src/navigations/BottomNavigation.js +298 -0
- package/src/navigations/CollapsibleSideBar.js +139 -0
- package/src/navigations/Drawer.js +333 -0
- package/src/navigations/DrawerItem.js +260 -0
- package/src/navigations/Router.js +475 -0
- package/src/navigations/Scaffold.js +537 -0
- package/src/navigations/Tabs.js +384 -0
- package/src/navigations/index.js +57 -0
- package/src/services/RamStore.js +213 -0
- package/src/services/Session.js +310 -0
- package/src/services/Storage.js +309 -0
- package/src/services/http.js +350 -0
- package/src/services/index.js +57 -0
- package/src/tools/animation.js +42 -0
- package/src/tools/array.js +95 -0
- package/src/tools/border.js +28 -0
- package/src/tools/clipboard.js +104 -0
- package/src/tools/color.js +329 -0
- package/src/tools/createList.js +215 -0
- package/src/tools/delay.js +55 -0
- package/src/tools/device.js +138 -0
- package/src/tools/dict.js +297 -0
- package/src/tools/dimensions.js +118 -0
- package/src/tools/filter.js +41 -0
- package/src/tools/flex.js +26 -0
- package/src/tools/gradient.js +34 -0
- package/src/tools/grid.js +57 -0
- package/src/tools/index.js +38 -0
- package/src/tools/mapList.js +107 -0
- package/src/tools/margin.js +93 -0
- package/src/tools/memo.js +60 -0
- package/src/tools/os.js +104 -0
- package/src/tools/padding.js +93 -0
- package/src/tools/print.js +69 -0
- package/src/tools/random.js +299 -0
- package/src/tools/ref.js +70 -0
- package/src/tools/rgba.js +4 -0
- package/src/tools/shadow.js +23 -0
- package/src/tools/string.js +85 -0
- package/src/tools/time.js +674 -0
- package/src/tools/transform.js +68 -0
- package/src/tools/transition.js +48 -0
- package/src/tools/useState.js +268 -0
- package/src/tools/uuid.js +42 -0
- package/src/utils/TextInputValidator.js +256 -0
- package/src/utils/composeUpdate.js +65 -0
- package/src/utils/getWidgetProps.js +35 -0
- package/src/utils/index.js +76 -0
- package/src/utils/markdownParser.js +368 -0
- package/src/utils/mediaTime.js +79 -0
- package/src/utils/navigation.js +263 -0
- package/src/utils/scriptInjector.js +73 -0
- package/src/utils/stackPosition.js +31 -0
- package/src/utils/stopWebRefresh.js +77 -0
- package/src/utils/styleInjector.js +38 -0
- package/src/utils/syntaxHighlight.js +339 -0
- package/src/utils/themes.js +347 -0
- package/src/utils/units.js +87 -0
- package/src/utils/visualEffects.js +169 -0
- package/src/widget-factory/addChildren.js +114 -0
- package/src/widget-factory/assignProps.js +256 -0
- package/src/widget-factory/createWidget.js +28 -0
- package/src/widget-factory/effects.js +132 -0
- package/src/widget-factory/index.js +7 -0
- package/src/widget-factory/lifecycle.js +210 -0
- package/src/widget-factory/makeParentable.js +89 -0
- package/src/widget-factory/pixTool.js +40 -0
- package/src/widget-factory/processProps.js +122 -0
- package/src/widget-factory/reactivity.js +98 -0
- package/src/widget-factory/remTool.js +34 -0
- package/src/widget-factory/stackPosition.js +87 -0
- package/src/widget-factory/stringTool.js +26 -0
- package/src/widget-factory/tools.js +249 -0
- package/src/widget-factory/translateProps.js +1049 -0
- package/src/widget-factory/warnings.js +284 -0
- package/src/widget-factory/widgetFactory.js +200 -0
- package/src/widgets/Accordion.js +562 -0
- package/src/widgets/AdMob.js +315 -0
- package/src/widgets/AdSense.js +268 -0
- package/src/widgets/AlertDialog.js +162 -0
- package/src/widgets/Audio.js +311 -0
- package/src/widgets/Avatar.js +210 -0
- package/src/widgets/Badge.js +189 -0
- package/src/widgets/BottomSheet.js +287 -0
- package/src/widgets/Button.js +247 -0
- package/src/widgets/Card.js +33 -0
- package/src/widgets/Carousel.js +301 -0
- package/src/widgets/Chart.js +632 -0
- package/src/widgets/Checkbox.js +106 -0
- package/src/widgets/Chip.js +153 -0
- package/src/widgets/CircularBar.js +352 -0
- package/src/widgets/CircularChart.js +549 -0
- package/src/widgets/CodeViewer.js +236 -0
- package/src/widgets/Column.js +29 -0
- package/src/widgets/Container.js +31 -0
- package/src/widgets/DataTable.js +257 -0
- package/src/widgets/Divider.js +93 -0
- package/src/widgets/DraggBox.js +115 -0
- package/src/widgets/Dropdown.js +505 -0
- package/src/widgets/DroppBox.js +180 -0
- package/src/widgets/FloatingActionButton.js +91 -0
- package/src/widgets/GridView.js +20 -0
- package/src/widgets/Icon.js +33 -0
- package/src/widgets/Image.js +15 -0
- package/src/widgets/Input.js +565 -0
- package/src/widgets/Inspector.js +254 -0
- package/src/widgets/InstallButton.js +110 -0
- package/src/widgets/ListTile.js +224 -0
- package/src/widgets/ListView.js +503 -0
- package/src/widgets/Markdown.js +1236 -0
- package/src/widgets/Modal.js +496 -0
- package/src/widgets/Pagination.js +195 -0
- package/src/widgets/ProgressBar.js +178 -0
- package/src/widgets/QRCode.js +467 -0
- package/src/widgets/Radio.js +132 -0
- package/src/widgets/Rating.js +261 -0
- package/src/widgets/Row.js +29 -0
- package/src/widgets/Skeleton.js +243 -0
- package/src/widgets/Slider.js +527 -0
- package/src/widgets/SnackBar.js +227 -0
- package/src/widgets/Stack.js +29 -0
- package/src/widgets/Stepper.js +296 -0
- package/src/widgets/Switch.js +102 -0
- package/src/widgets/Text.js +98 -0
- package/src/widgets/Tooltip.js +267 -0
- package/src/widgets/TreeView.js +370 -0
- package/src/widgets/Video.js +92 -0
- package/src/widgets/index.js +52 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file bin/utils/version.js
|
|
3
|
+
* @description FletBox "odometer" version scheme.
|
|
4
|
+
*
|
|
5
|
+
* A version is `MAJOR.MINOR.PATCH` where MAJOR grows without bound (1, 2, … ∞)
|
|
6
|
+
* while MINOR and PATCH are single digits that cycle 0–9. Incrementing past 9
|
|
7
|
+
* carries into the next position to the left and resets the current one to 0:
|
|
8
|
+
*
|
|
9
|
+
* 1.0.8 → 1.0.9 → 1.1.0 → … → 1.9.9 → 2.0.0 → … → 9.9.9 → 10.0.0 → …
|
|
10
|
+
*
|
|
11
|
+
* This is a deliberate, self-contained scheme (not stock semver carry, which
|
|
12
|
+
* would allow PATCH to exceed 9). It is used by `createBundle` to stamp the
|
|
13
|
+
* build and by `flet-box release` to auto-increment on each release.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
const DIGIT_MAX = 9;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Parses and validates a `MAJOR.MINOR.PATCH` string.
|
|
20
|
+
*
|
|
21
|
+
* @param {string} version - Version string, e.g. `"1.0.0"`.
|
|
22
|
+
* @returns {{ major: number, minor: number, patch: number }}
|
|
23
|
+
* @throws {Error} When the string is not a valid FletBox version.
|
|
24
|
+
*/
|
|
25
|
+
export const parseVersion = (version) => {
|
|
26
|
+
const match = /^(\d+)\.(\d)\.(\d)$/.exec(String(version).trim());
|
|
27
|
+
if (!match) {
|
|
28
|
+
throw new Error(
|
|
29
|
+
`Invalid version "${version}". Expected MAJOR.MINOR.PATCH where MINOR and PATCH are single digits (0-9), e.g. "1.0.0".`,
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
const [, major, minor, patch] = match.map(Number);
|
|
33
|
+
return { major, minor, patch };
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Formats version parts back into a `MAJOR.MINOR.PATCH` string.
|
|
38
|
+
*
|
|
39
|
+
* @param {{ major: number, minor: number, patch: number }} parts
|
|
40
|
+
* @returns {string}
|
|
41
|
+
*/
|
|
42
|
+
export const formatVersion = ({ major, minor, patch }) =>
|
|
43
|
+
`${major}.${minor}.${patch}`;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Returns true when `version` is a valid FletBox version string.
|
|
47
|
+
*
|
|
48
|
+
* @param {string} version
|
|
49
|
+
* @returns {boolean}
|
|
50
|
+
*/
|
|
51
|
+
export const isValidVersion = (version) => {
|
|
52
|
+
try {
|
|
53
|
+
parseVersion(version);
|
|
54
|
+
return true;
|
|
55
|
+
} catch {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Increments a version following the odometer carry rules.
|
|
62
|
+
*
|
|
63
|
+
* - `patch` (default): +1 on PATCH; carrying resets the lower position to 0.
|
|
64
|
+
* - `minor`: +1 on MINOR, PATCH resets to 0; MINOR may carry into MAJOR.
|
|
65
|
+
* - `major`: +1 on MAJOR, MINOR and PATCH reset to 0.
|
|
66
|
+
*
|
|
67
|
+
* MAJOR never caps; MINOR and PATCH wrap at 9.
|
|
68
|
+
*
|
|
69
|
+
* @param {string} version - Current version, e.g. `"1.0.9"`.
|
|
70
|
+
* @param {"patch"|"minor"|"major"} [type="patch"] - Which position to bump.
|
|
71
|
+
* @returns {string} The next version string.
|
|
72
|
+
*/
|
|
73
|
+
export const incrementVersion = (version, type = "patch") => {
|
|
74
|
+
const parts = parseVersion(version);
|
|
75
|
+
let { major, minor, patch } = parts;
|
|
76
|
+
|
|
77
|
+
if (type === "major") {
|
|
78
|
+
major += 1;
|
|
79
|
+
minor = 0;
|
|
80
|
+
patch = 0;
|
|
81
|
+
return formatVersion({ major, minor, patch });
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (type === "minor") {
|
|
85
|
+
minor += 1;
|
|
86
|
+
patch = 0;
|
|
87
|
+
if (minor > DIGIT_MAX) {
|
|
88
|
+
minor = 0;
|
|
89
|
+
major += 1;
|
|
90
|
+
}
|
|
91
|
+
return formatVersion({ major, minor, patch });
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Default: patch increment with carry.
|
|
95
|
+
patch += 1;
|
|
96
|
+
if (patch > DIGIT_MAX) {
|
|
97
|
+
patch = 0;
|
|
98
|
+
minor += 1;
|
|
99
|
+
if (minor > DIGIT_MAX) {
|
|
100
|
+
minor = 0;
|
|
101
|
+
major += 1;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return formatVersion({ major, minor, patch });
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
/** The first version a brand-new project starts at. */
|
|
108
|
+
export const INITIAL_VERSION = "1.0.0";
|
package/package.json
CHANGED
|
@@ -1,6 +1,60 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flet-box",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "Declarative, zero-dependency UI framework in vanilla JS — ship web, PWA, Android and iOS from one codebase",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "src/index.js",
|
|
7
|
+
"types": "src/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./src/index.d.ts",
|
|
11
|
+
"default": "./src/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./package.json": "./package.json"
|
|
14
|
+
},
|
|
15
|
+
"bin": {
|
|
16
|
+
"flet-box": "bin/cli.js"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"dev": "node bin/cli.js run --hot",
|
|
20
|
+
"build": "node bin/cli.js createBundle",
|
|
21
|
+
"release": "node bin/cli.js release",
|
|
22
|
+
"test": "node scripts/check-widgets.mjs"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"fletbox",
|
|
26
|
+
"flet-box",
|
|
27
|
+
"framework",
|
|
28
|
+
"ui",
|
|
29
|
+
"flutter-like",
|
|
30
|
+
"vanilla-js",
|
|
31
|
+
"lightweight",
|
|
32
|
+
"pwa",
|
|
33
|
+
"no-dependencies",
|
|
34
|
+
"zero-deps"
|
|
35
|
+
],
|
|
36
|
+
"author": "Maenys Javier Quesada Reyes <kuko53348@gmail.com>",
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "git+https://github.com/kuko53348/flet-box.git"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://kuko53348.github.io/flet-box-docs/",
|
|
43
|
+
"bugs": {
|
|
44
|
+
"url": "https://github.com/kuko53348/flet-box/issues"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"chokidar": "^4.0.3",
|
|
48
|
+
"esbuild": "^0.28.0",
|
|
49
|
+
"ws": "^8.21.0"
|
|
50
|
+
},
|
|
51
|
+
"files": [
|
|
52
|
+
"bin/",
|
|
53
|
+
"src/",
|
|
54
|
+
"README.md",
|
|
55
|
+
"LICENSE"
|
|
56
|
+
],
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=20.9.0"
|
|
59
|
+
}
|
|
60
|
+
}
|