├── src ├── config.json ├── modules │ ├── modules.menus.registry.js │ ├── modules.reducers.registry.js │ ├── modules.routes.registry.js │ ├── modules.components.registry.js │ ├── modules.functions.registry.js │ ├── modules.resources.registry.js │ └── modules.validations.registry.js ├── styles │ ├── modules │ │ ├── ModulesClasses.js │ │ ├── XLargeModulesStyles.js │ │ ├── LargeModulesStyles.js │ │ ├── MediumModulesStyles.js │ │ ├── SmallModulesStyles.js │ │ ├── XXLargeModulesStyles.js │ │ └── DefaultModulesStyles.js │ ├── LargeAppStyles.js │ ├── SmallAppStyles.js │ ├── MediumAppStyles.js │ ├── XLargeAppStyles.js │ ├── XXLargeAppStyles.js │ ├── DefaultAppStyles.js │ ├── AppClasses.js │ └── index.js ├── resources │ └── images │ │ ├── logo.png │ │ ├── logo_dark.png │ │ └── logo_light.png ├── registry │ ├── ApplicationRegistry.js │ ├── FunctionsRegistry.js │ ├── MenusRegistry.js │ ├── ReducersRegistry.js │ ├── ValidationsRegistry.js │ ├── ResourcesRegistry.js │ ├── ThemesRegistry.js │ ├── ComponentsRegistry.js │ └── RoutesRegistry.js ├── index.js ├── components │ ├── AppComponent.js │ ├── layouts │ │ └── WrappidAppLayout.js │ ├── AppComponentSection.js │ ├── About.js │ └── AppComponentContent.js ├── App.js ├── customFonts │ └── rxicon-config.json └── themes │ ├── theme3.json │ ├── theme1.json │ └── theme2.json ├── lint-staged.config.js ├── res ├── web │ └── public │ │ ├── favicon.ico │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── robots.txt │ │ ├── images │ │ └── logo.png │ │ ├── fonts │ │ └── rxi │ │ │ ├── fonts │ │ │ ├── rxicon.eot │ │ │ ├── rxicon.ttf │ │ │ └── rxicon.woff │ │ │ └── style.css │ │ ├── manifest.json │ │ └── index.html ├── android │ ├── fonts │ │ ├── rxicon.ttf │ │ └── rxicon-config.json │ ├── res │ │ ├── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ └── drawable │ │ │ └── rn_edit_text_material.xml │ └── app │ │ └── build.gradle └── ios │ └── Assets.xcassets │ └── AppIcon.appiconset │ ├── _ │ ├── 16.png │ ├── 20.png │ ├── 29.png │ ├── 32.png │ ├── 40.png │ ├── 48.png │ ├── 50.png │ ├── 55.png │ ├── 57.png │ ├── 58.png │ ├── 60.png │ ├── 64.png │ ├── 66.png │ ├── 72.png │ ├── 76.png │ ├── 80.png │ ├── 87.png │ ├── 88.png │ ├── 92.png │ ├── 100.png │ ├── 102.png │ ├── 1024.png │ ├── 114.png │ ├── 120.png │ ├── 128.png │ ├── 144.png │ ├── 152.png │ ├── 167.png │ ├── 172.png │ ├── 180.png │ ├── 196.png │ ├── 216.png │ ├── 256.png │ └── 512.png │ └── Contents.json ├── .husky ├── commit-msg └── pre-commit ├── CONTRIBUTING.md ├── .vscode ├── extensions.json └── settings.json ├── .wrappid └── wrappid.meta.json ├── .github ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── workflows │ ├── app-deploy.yml.NOT_IN_USE │ ├── create-release.yml.NOT_IN_USE │ ├── create-tag.yml │ ├── create-tag.yml.NOT_IN_USE │ └── pr-guardrails.yml └── pull_request_template.md ├── .versionrc.json ├── LICENSE ├── commitlint.config.js ├── package.json ├── .gitignore ├── scripts └── attributions.gen.js ├── .eslintrc.js ├── wrappid.conf.json ├── README.md └── CHANGELOG.md /src/config.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /src/modules/modules.menus.registry.js: -------------------------------------------------------------------------------- 1 | export default {}; -------------------------------------------------------------------------------- /src/modules/modules.reducers.registry.js: -------------------------------------------------------------------------------- 1 | export default {}; -------------------------------------------------------------------------------- /src/modules/modules.routes.registry.js: -------------------------------------------------------------------------------- 1 | export default {}; -------------------------------------------------------------------------------- /src/modules/modules.components.registry.js: -------------------------------------------------------------------------------- 1 | export default {}; -------------------------------------------------------------------------------- /src/modules/modules.functions.registry.js: -------------------------------------------------------------------------------- 1 | export default {}; -------------------------------------------------------------------------------- /src/modules/modules.resources.registry.js: -------------------------------------------------------------------------------- 1 | export default {}; -------------------------------------------------------------------------------- /src/modules/modules.validations.registry.js: -------------------------------------------------------------------------------- 1 | export default {}; -------------------------------------------------------------------------------- /src/styles/modules/ModulesClasses.js: -------------------------------------------------------------------------------- 1 | const ModulesClasses = {}; 2 | 3 | export default ModulesClasses; -------------------------------------------------------------------------------- /lint-staged.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { "**/*.{js,jsx,ts,tsx}": ["npx eslint --ignore-path .gitignore"] }; -------------------------------------------------------------------------------- /res/web/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/web/public/favicon.ico -------------------------------------------------------------------------------- /res/web/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/web/public/logo192.png -------------------------------------------------------------------------------- /res/web/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/web/public/logo512.png -------------------------------------------------------------------------------- /res/web/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /res/android/fonts/rxicon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/fonts/rxicon.ttf -------------------------------------------------------------------------------- /src/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/src/resources/images/logo.png -------------------------------------------------------------------------------- /res/web/public/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/web/public/images/logo.png -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx --no -- commitlint --edit ${1} 5 | -------------------------------------------------------------------------------- /res/android/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | wrappid-app 3 | 4 | -------------------------------------------------------------------------------- /src/resources/images/logo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/src/resources/images/logo_dark.png -------------------------------------------------------------------------------- /src/styles/modules/XLargeModulesStyles.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-undef 2 | export default XLargeModulesStyles = {}; -------------------------------------------------------------------------------- /src/resources/images/logo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/src/resources/images/logo_light.png -------------------------------------------------------------------------------- /src/styles/modules/LargeModulesStyles.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-undef 2 | export default LargeModulesStyles = {}; 3 | -------------------------------------------------------------------------------- /src/styles/modules/MediumModulesStyles.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-undef 2 | export default MediumModulesStyles = {}; 3 | -------------------------------------------------------------------------------- /src/styles/modules/SmallModulesStyles.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-undef 2 | export default SmallModulesStyles = {}; 3 | -------------------------------------------------------------------------------- /src/styles/modules/XXLargeModulesStyles.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-undef 2 | export default XXLargeModulesStyles = {}; -------------------------------------------------------------------------------- /src/styles/modules/DefaultModulesStyles.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-undef 2 | export default DefaultModulesStyles = {}; 3 | -------------------------------------------------------------------------------- /res/web/public/fonts/rxi/fonts/rxicon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/web/public/fonts/rxi/fonts/rxicon.eot -------------------------------------------------------------------------------- /res/web/public/fonts/rxi/fonts/rxicon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/web/public/fonts/rxi/fonts/rxicon.ttf -------------------------------------------------------------------------------- /res/android/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/android/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/android/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/web/public/fonts/rxi/fonts/rxicon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/web/public/fonts/rxi/fonts/rxicon.woff -------------------------------------------------------------------------------- /res/android/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/android/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/android/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /res/android/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /res/android/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /res/android/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/16.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/20.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/29.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/32.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/40.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/48.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/50.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/55.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/57.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/58.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/60.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/64.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/66.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/72.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/76.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/80.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/87.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/88.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/92.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/92.png -------------------------------------------------------------------------------- /src/registry/ApplicationRegistry.js: -------------------------------------------------------------------------------- 1 | import PackageJSON from "../../package.json"; 2 | 3 | export const ApplicationRegistry = { version: PackageJSON.version }; -------------------------------------------------------------------------------- /res/android/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/android/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/100.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/102.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/1024.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/114.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/120.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/128.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/144.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/152.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/167.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/172.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/180.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/196.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/216.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/256.png -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/_/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappid/wrappid-app/HEAD/res/ios/Assets.xcassets/AppIcon.appiconset/_/512.png -------------------------------------------------------------------------------- /src/registry/FunctionsRegistry.js: -------------------------------------------------------------------------------- 1 | import modulesFunctionsRegistry from "../modules/modules.functions.registry"; 2 | 3 | export const FunctionsRegistry = { ...modulesFunctionsRegistry }; -------------------------------------------------------------------------------- /src/registry/MenusRegistry.js: -------------------------------------------------------------------------------- 1 | import modulesMenusRegistry from "../modules/modules.menus.registry"; 2 | 3 | export const MenusRegistry = { quickAddMenu: [], ...modulesMenusRegistry }; 4 | -------------------------------------------------------------------------------- /src/registry/ReducersRegistry.js: -------------------------------------------------------------------------------- 1 | import modulesReducersRegistry from "../modules/modules.reducers.registry"; 2 | 3 | export const ReducersRegistry = { ...modulesReducersRegistry }; 4 | -------------------------------------------------------------------------------- /src/registry/ValidationsRegistry.js: -------------------------------------------------------------------------------- 1 | import modulesValidationsRegistry from "../modules/modules.validations.registry"; 2 | 3 | export const ValidationsRegistry = { ...modulesValidationsRegistry }; -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## CONTRIBUTING 2 | All Wrappid repositories follow the same contributing guidelines available in the following link: 3 | https://github.com/wrappid/.github/blob/main/profile/CONTRIBUTING.md -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | 2 | import ReactDOM from "react-dom/client"; 3 | 4 | import App from "./App"; 5 | 6 | const root = ReactDOM.createRoot(document.getElementById("root")); 7 | 8 | root.render( 9 | 10 | ); -------------------------------------------------------------------------------- /src/styles/LargeAppStyles.js: -------------------------------------------------------------------------------- 1 | import { LargeCoreStyles } from "@wrappid/core"; 2 | 3 | export default class LargeAppStyles extends LargeCoreStyles { 4 | constructor() { 5 | super(); 6 | this.style = {}; 7 | } 8 | } -------------------------------------------------------------------------------- /src/styles/SmallAppStyles.js: -------------------------------------------------------------------------------- 1 | import { SmallCoreStyles } from "@wrappid/core"; 2 | 3 | export default class SmallAppStyles extends SmallCoreStyles { 4 | constructor() { 5 | super(); 6 | this.style = {}; 7 | } 8 | } -------------------------------------------------------------------------------- /src/styles/MediumAppStyles.js: -------------------------------------------------------------------------------- 1 | import { MediumCoreStyles } from "@wrappid/core"; 2 | 3 | export default class MediumAppStyles extends MediumCoreStyles { 4 | constructor() { 5 | super(); 6 | this.style = {}; 7 | } 8 | } -------------------------------------------------------------------------------- /src/styles/XLargeAppStyles.js: -------------------------------------------------------------------------------- 1 | import { XLargeCoreStyles } from "@wrappid/core"; 2 | 3 | export default class XLargeAppStyles extends XLargeCoreStyles { 4 | constructor() { 5 | super(); 6 | this.style = {}; 7 | } 8 | } -------------------------------------------------------------------------------- /src/styles/XXLargeAppStyles.js: -------------------------------------------------------------------------------- 1 | import { XXLargeCoreStyles } from "@wrappid/core"; 2 | 3 | export default class XXLargeAppStyles extends XXLargeCoreStyles { 4 | constructor() { 5 | super(); 6 | this.style = {}; 7 | } 8 | } -------------------------------------------------------------------------------- /src/styles/DefaultAppStyles.js: -------------------------------------------------------------------------------- 1 | import { DefaultCoreStyles } from "@wrappid/core"; 2 | 3 | export default class DefaultAppStyles extends DefaultCoreStyles { 4 | constructor(){ 5 | super(); 6 | this.style = {}; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "vivaxy.vscode-conventional-commits", 4 | "dbaeumer.vscode-eslint", 5 | "esbenp.prettier-vscode", 6 | "dsznajder.es7-react-js-snippets" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /res/android/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/registry/ResourcesRegistry.js: -------------------------------------------------------------------------------- 1 | import modulesResourcesRegistry from "../modules/modules.resources.registry"; 2 | import logo from "../resources/images/logo.png"; 3 | 4 | export const ResourcesRegistry = { 5 | appLogo : logo, 6 | appLogoDark : require("../resources/images/logo_dark.png"), 7 | appLogoLight: require("../resources/images/logo_light.png"), 8 | ...modulesResourcesRegistry 9 | }; 10 | -------------------------------------------------------------------------------- /src/registry/ThemesRegistry.js: -------------------------------------------------------------------------------- 1 | import theme1 from "../themes/theme1.json"; 2 | import theme2 from "../themes/theme2.json"; 3 | import theme3 from "../themes/theme3.json"; 4 | 5 | export const ThemesRegistry = { 6 | theme1: { 7 | name : "Theme 1", 8 | theme: theme1 9 | }, 10 | theme2: { 11 | name : "Theme 2", 12 | theme: theme2 13 | }, 14 | theme3: { 15 | name : "Theme 3", 16 | theme: theme3 17 | } 18 | }; -------------------------------------------------------------------------------- /src/components/AppComponent.js: -------------------------------------------------------------------------------- 1 | import { CoreLayoutItem } from "@wrappid/core"; 2 | 3 | import AppComponentContent from "./AppComponentContent"; 4 | import WrappidAppLayout from "./layouts/WrappidAppLayout"; 5 | 6 | function AppComponent() { 7 | 8 | return ( 9 | <> 10 | 11 | 12 | 13 | 14 | ); 15 | } 16 | 17 | export default AppComponent; -------------------------------------------------------------------------------- /src/styles/AppClasses.js: -------------------------------------------------------------------------------- 1 | /************************************************** 2 | * styleClass names for App Related Styles 3 | *************************************************/ 4 | import { CoreClasses } from "@wrappid/core"; 5 | 6 | const AppClasses = { 7 | /************************************************** 8 | * Core Classes 9 | *************************************************/ 10 | CORE: { ...CoreClasses }, 11 | 12 | UC_IMG: "ucImg", // dataTable 13 | }; 14 | 15 | export default AppClasses; 16 | -------------------------------------------------------------------------------- /src/registry/ComponentsRegistry.js: -------------------------------------------------------------------------------- 1 | import About from "../components/About"; 2 | import AppComponent from "../components/AppComponent"; 3 | // -------------------------------------- 4 | import WrappidAppLayout from "../components/layouts/WrappidAppLayout"; 5 | import modulesComponentsRegistry from "../modules/modules.components.registry"; 6 | 7 | export const ComponentsRegistry = { 8 | ...modulesComponentsRegistry, 9 | About : { comp: About }, 10 | AppComponent : { comp: AppComponent }, 11 | WrappidAppLayout: { comp: WrappidAppLayout, layout: true } 12 | }; 13 | -------------------------------------------------------------------------------- /res/web/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "Wrappid App", 3 | "name": "Create Wrappid App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } -------------------------------------------------------------------------------- /.wrappid/wrappid.meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "projectType": "app", 3 | "projectID": "", 4 | "projectName": "wrappid-app", 5 | "wrTemplateVersion": "0.0.22", 6 | "remote": true, 7 | "repoProvider": "github.com", 8 | "repoOwner": "wrappid", 9 | "repoURL": "https://github.com/wrappid/wrappid-app.git", 10 | "modules": { 11 | "guide": { 12 | "projectID": "", 13 | "projectName": "guide", 14 | "remote": true, 15 | "repoProvider": "github.com", 16 | "repoOwner": "wrappid", 17 | "repoURL": "https://github.com/wrappid/guide-module.git", 18 | "app": { 19 | "renderType": [] 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | valid_branch_names_regex="^WRPD-(feature|bugfix|release|ci|enhancement|hotfix|refactor|deps|docs|experimental|security)?-[0-9]+$|^main$|^development$" 5 | branch="$(git rev-parse --abbrev-ref HEAD)" 6 | 7 | if [ "$branch" = "main" ] || [ "$branch" = "development" ]; then 8 | echo "Committing on the $branch branch is not allowed." 9 | exit 1 10 | fi 11 | 12 | if ! [[ $branch =~ $valid_branch_names_regex ]]; then 13 | echo "Invalid branch name: $branch; commit rejected" 14 | echo "Please rename your branch to conform to $valid_branch_names_regex pattern." 15 | exit 1 16 | fi 17 | 18 | npx lint-staged 19 | -------------------------------------------------------------------------------- /src/registry/RoutesRegistry.js: -------------------------------------------------------------------------------- 1 | import About from "../components/About"; 2 | import AppComponent from "../components/AppComponent"; 3 | import WrappidAppLayout from "../components/layouts/WrappidAppLayout"; 4 | import modulesRoutesRegistry from "../modules/modules.routes.registry"; 5 | 6 | export const RoutesRegistry = { 7 | About: { 8 | Page : { appComponent: About.name, layout: WrappidAppLayout.name }, 9 | authRequired: false, 10 | entityRef : "about", 11 | url : "about" 12 | }, 13 | defaultAppRoute: { 14 | Page : { appComponent: AppComponent.name, layout: WrappidAppLayout.name }, 15 | authRequired: false, 16 | entityRef : "defaultAppRoute", 17 | url : "defaultAppRoute" 18 | }, 19 | ...modulesRoutesRegistry 20 | }; -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "[javascript]": { 3 | "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" 4 | }, 5 | "files.eol": "\n", 6 | "editor.formatOnSave": true, 7 | "editor.formatOnSaveMode": "file", 8 | "editor.guides.indentation": true, 9 | "editor.renderWhitespace": "boundary", 10 | "editor.codeActionsOnSave": { 11 | "source.fixAll.eslint": "explicit" 12 | }, 13 | "eslint.validate": [ 14 | "javascript" 15 | ], 16 | "editor.defaultFormatter": "rvest.vs-code-prettier-eslint", 17 | "[dotenv]": { 18 | "editor.defaultFormatter": "foxundermoon.shell-format" 19 | }, 20 | "[shellscript]": { 21 | "editor.defaultFormatter": "foxundermoon.shell-format" 22 | }, 23 | "[json]": { 24 | "editor.defaultFormatter": "vscode.json-language-features" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /.versionrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": [ 3 | { 4 | "type": "feat", 5 | "section": "Features" 6 | }, 7 | { 8 | "type": "fix", 9 | "section": "Bug Fixes" 10 | }, 11 | { 12 | "type": "ci", 13 | "hidden": true 14 | }, 15 | { 16 | "type": "chore", 17 | "hidden": true 18 | }, 19 | { 20 | "type": "docs", 21 | "hidden": true 22 | }, 23 | { 24 | "type": "style", 25 | "hidden": true 26 | }, 27 | { 28 | "type": "refactor", 29 | "hidden": true 30 | }, 31 | { 32 | "type": "perf", 33 | "hidden": true 34 | }, 35 | { 36 | "type": "test", 37 | "section": "Test Cases" 38 | } 39 | ], 40 | "releaseCommitMessageFormat": "chore(tag-release): {{currentTag}}\n\ncreate new tag \n\nref: #CICD " 41 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Stack Trace** 24 | The stack trace of the bug if any. 25 | 26 | **Screenshots** 27 | If applicable, add screenshots to help explain your problem. 28 | 29 | **Desktop (please complete the following information):** 30 | - OS: [e.g. iOS] 31 | - Browser [e.g. chrome, safari] 32 | - Version [e.g. 22] 33 | 34 | **Smartphone (please complete the following information):** 35 | - Device: [e.g. iPhone6] 36 | - OS: [e.g. iOS8.1] 37 | - Browser [e.g. stock browser, safari] 38 | - Version [e.g. 22] 39 | 40 | **Additional context** 41 | Add any other context about the problem here. 42 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 wrappid 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * List of commit types allowed in commit messages. 3 | * 4 | * @author Ananta Kumar Ghosh 5 | */ 6 | const types = [ 7 | "build", 8 | "chore", 9 | "ci", 10 | "docs", 11 | "feat", 12 | "fix", 13 | "perf", 14 | "refactor", 15 | "revert", 16 | "style", 17 | "test" 18 | ]; 19 | 20 | /** 21 | * List of commit scopes allowed in commit messages. 22 | */ 23 | const scopes = ["config", "core", "global", "utils"]; 24 | 25 | // eslint-disable-next-line no-undef 26 | module.exports = { 27 | extends: ["@commitlint/config-conventional"], 28 | 29 | parserPreset: { parserOpts: { issuePrefixes: ["#"] } }, 30 | 31 | rules: { 32 | "body-leading-blank" : [2, "always"], 33 | "body-max-line-length": [2, "always", 250], 34 | "footer-empty" : [2, "never"], 35 | "footer-leading-blank": [2, "always"], 36 | "references-empty" : [2, "never"], 37 | "scope-case" : [2, "always", "camel-case"], 38 | "scope-empty" : [0, "always"], 39 | "scope-enum" : [2, "always", scopes], 40 | "type-enum" : [2, "always", types], 41 | }, 42 | }; 43 | -------------------------------------------------------------------------------- /.github/workflows/app-deploy.yml.NOT_IN_USE: -------------------------------------------------------------------------------- 1 | name: Deploy - CD 2 | 3 | on: 4 | workflow_dispatch: 5 | workflow_run: 6 | workflows: ["Release - CI"] 7 | types: 8 | - completed 9 | jobs: 10 | call-deploy-app: 11 | # runs-on: ubuntu-latest 12 | permissions: write-all 13 | if: github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' 14 | uses: wrappid/workflows/.github/workflows/util-app-deploy.yml@main 15 | with: 16 | EMAIL_NOTIFY: ${{ vars.EMAIL_NOTIFY }} 17 | EMAIL_SENDER_NAME: ${{ vars.EMAIL_SENDER_NAME }} 18 | PROJECT_HOSTED_URL: ${{ vars.PROJECT_HOSTED_URL }} 19 | secrets: 20 | PAT: ${{ secrets.PAT }} 21 | REMOTE_HOST: ${{ secrets.REMOTE_HOST }} 22 | REMOTE_SSH_KEY: ${{ secrets.REMOTE_SSH_KEY }} 23 | REMOTE_SSH_USER: ${{ secrets.REMOTE_SSH_USER }} 24 | REMOTE_PATH_OF_PROJECT_DEPLOYMENT_PATH: ${{ secrets.REMOTE_PATH_OF_PROJECT_DEPLOYMENT_PATH }} 25 | EMAIL_SERVER_ADDRESS: ${{ secrets.EMAIL_SERVER_ADDRESS }} 26 | EMAIL_SERVER_PORT: ${{ secrets.EMAIL_SERVER_PORT }} 27 | EMAIL_USER_ID: ${{ secrets.EMAIL_USER_ID }} 28 | EMAIL_USER_PASSWORD: ${{ secrets.EMAIL_USER_PASSWORD }} 29 | EMAIL_TO: ${{ secrets.EMAIL_TO }} 30 | EMAIL_CC: ${{ secrets.EMAIL_CC }} ## Optional 31 | EMAIL_BCC: ${{ secrets.EMAIL_BCC }} ## Optional -------------------------------------------------------------------------------- /src/styles/index.js: -------------------------------------------------------------------------------- 1 | import AppClasses from "./AppClasses"; 2 | import DefaultAppStyles from "./DefaultAppStyles"; 3 | import LargeAppStyles from "./LargeAppStyles"; 4 | import MediumAppStyles from "./MediumAppStyles"; 5 | import DefaultModulesStyles from "./modules/DefaultModulesStyles"; 6 | import LargeModulesStyles from "./modules/LargeModulesStyles"; 7 | import MediumModulesStyles from "./modules/MediumModulesStyles"; 8 | import ModulesClasses from "./modules/ModulesClasses"; 9 | import SmallModulesStyles from "./modules/SmallModulesStyles"; 10 | import XLargeModulesStyles from "./modules/XLargeModulesStyles"; 11 | import XXLargeModulesStyles from "./modules/XXLargeModulesStyles"; 12 | import SmallAppStyles from "./SmallAppStyles"; 13 | import XLargeAppStyles from "./XLargeAppStyles"; 14 | import XXLargeAppStyles from "./XXLargeAppStyles"; 15 | 16 | /** 17 | * @todo 18 | * module registry needs to be added here 19 | */ 20 | const appStyles = { 21 | classes: { ...AppClasses, ...ModulesClasses }, 22 | styles : { 23 | default: { ...new DefaultAppStyles().style, ...DefaultModulesStyles }, 24 | large : { ...new LargeAppStyles().style, ...LargeModulesStyles }, 25 | medium : { ...new MediumAppStyles().style, ...MediumModulesStyles }, 26 | small : { ...new SmallAppStyles().style, ...SmallModulesStyles }, 27 | xLarge : { ...new XLargeAppStyles().style, ...XLargeModulesStyles }, 28 | xxLarge: { ...new XXLargeAppStyles().style, ...XXLargeModulesStyles }, 29 | }, 30 | }; 31 | 32 | export default appStyles; -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | Clearly describe the changes you've made in this pull request. Explain the purpose and reasoning behind the changes. Reference any relevant issues or discussions using keywords like "Fixes #" or "Resolves #". 4 | 5 | ## Related Issues 6 | 7 | 8 | 9 | ## Testing 10 | 11 | 12 | ## Checklist 13 | 14 | - [ ] I have performed a thorough self-review of my code. 15 | - [ ] I have added or updated relevant tests for my changes. 16 | - [ ] My code follows the project's style guidelines and best practices. 17 | - [ ] I have updated the documentation if necessary. 18 | - [ ] I have added or updated relevant comments in my code. 19 | - [ ] I have resolved any merge conflicts of my branch. 20 | 21 | 22 | ## Screenshots (if applicable) 23 | 24 | 25 | ## Additional Notes 26 | 27 | 28 | 29 | ## Reviewers 30 | 31 | 34 | 35 | --- 36 | 37 | ## Maintainer Notes 38 | 39 | - [ ] Has this change been tested in a staging environment? 40 | - [ ] Does this change introduce any breaking changes or deprecations? 41 | -------------------------------------------------------------------------------- /.github/workflows/create-release.yml.NOT_IN_USE: -------------------------------------------------------------------------------- 1 | name: Release - CI 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | tag-name: 7 | type: string 8 | description: Enter tag 9 | schedule: 10 | - cron: "30 16 * * *" 11 | branches: 12 | - 'development' 13 | repository_dispatch: 14 | 15 | jobs: 16 | call-create-app-release: 17 | # runs-on: ubuntu-latest 18 | permissions: write-all 19 | # if: github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'development') 20 | uses: wrappid/workflows/.github/workflows/util-create-app-release.yml@main 21 | with: 22 | GIT_USER_NAME: ${{ vars.GIT_USER_NAME }} 23 | EMAIL_NOTIFY: ${{ vars.EMAIL_NOTIFY }} 24 | EMAIL_SENDER_NAME: ${{ vars.EMAIL_SENDER_NAME }} 25 | TOOLKIT_VERSION: ${{ vars.TOOLKIT_VERSION }} 26 | secrets: 27 | PAT: ${{ secrets.PAT }} 28 | GIT_USER_EMAIL: ${{ secrets.GIT_USER_EMAIL }} 29 | WRAPPID_REGISTRY_TOKEN: ${{ secrets.WRAPPID_REGISTRY_TOKEN }} 30 | EMAIL_SERVER_ADDRESS: ${{ secrets.EMAIL_SERVER_ADDRESS }} 31 | EMAIL_SERVER_PORT: ${{ secrets.EMAIL_SERVER_PORT }} 32 | EMAIL_USER_ID: ${{ secrets.EMAIL_USER_ID }} 33 | EMAIL_USER_PASSWORD: ${{ secrets.EMAIL_USER_PASSWORD }} 34 | EMAIL_TO: ${{ secrets.EMAIL_TO }} 35 | EMAIL_CC: ${{ secrets.EMAIL_CC }} ## Optional 36 | EMAIL_BCC: ${{ secrets.EMAIL_BCC }} ## Optional 37 | -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import { CoreApp } from "@wrappid/core"; 2 | 3 | // eslint-disable-next-line import/order 4 | import packageJson from "../package.json"; 5 | import applicationConfig from "./config.json"; 6 | import rxIconJson from "./customFonts/rxicon-config.json"; 7 | import { ApplicationRegistry } from "./registry/ApplicationRegistry"; 8 | import { ComponentsRegistry } from "./registry/ComponentsRegistry"; 9 | import { FunctionsRegistry } from "./registry/FunctionsRegistry"; 10 | import { MenusRegistry } from "./registry/MenusRegistry"; 11 | import { ReducersRegistry } from "./registry/ReducersRegistry"; 12 | import { ResourcesRegistry } from "./registry/ResourcesRegistry"; 13 | import { RoutesRegistry } from "./registry/RoutesRegistry"; 14 | import { ThemesRegistry } from "./registry/ThemesRegistry"; 15 | import { ValidationsRegistry } from "./registry/ValidationsRegistry"; 16 | import appStyles from "./styles"; 17 | 18 | function App() { 19 | return ( 20 | 34 | ); 35 | } 36 | 37 | export default App; 38 | -------------------------------------------------------------------------------- /.github/workflows/create-tag.yml: -------------------------------------------------------------------------------- 1 | name: Create Tag - CI 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | version_type: 7 | type: choice 8 | description: Choose version bump type 9 | options: 10 | - -r major 11 | - -r minor 12 | - -r patch 13 | - -p alpha 14 | - -p beta 15 | - -p build 16 | - -p hotfix 17 | - -p dev 18 | required: true 19 | default: "-r patch" 20 | pull_request: 21 | types: 22 | - closed 23 | branches: 24 | - 'development' 25 | 26 | jobs: 27 | call-create-tag: 28 | # runs-on: ubuntu-latest 29 | permissions: write-all 30 | if: github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'development') 31 | uses: wrappid/workflows/.github/workflows/util-create-tag.yml@main 32 | with: 33 | GIT_USER_NAME: ${{ vars.GIT_USER_NAME }} 34 | VERSION_TYPE_REPOSITORY_DEFAULT: ${{ vars.VERSION_TYPE_REPOSITORY_DEFAULT }} 35 | EMAIL_NOTIFY: ${{ vars.EMAIL_NOTIFY }} 36 | EMAIL_SENDER_NAME: ${{ vars.EMAIL_SENDER_NAME }} 37 | secrets: 38 | PAT: ${{ secrets.PAT }} 39 | GIT_USER_EMAIL: ${{ secrets.GIT_USER_EMAIL }} 40 | WRAPPID_REGISTRY_TOKEN: ${{ secrets.WRAPPID_REGISTRY_TOKEN }} 41 | EMAIL_SERVER_ADDRESS: ${{ secrets.EMAIL_SERVER_ADDRESS }} 42 | EMAIL_SERVER_PORT: ${{ secrets.EMAIL_SERVER_PORT }} 43 | EMAIL_USER_ID: ${{ secrets.EMAIL_USER_ID }} 44 | EMAIL_USER_PASSWORD: ${{ secrets.EMAIL_USER_PASSWORD }} 45 | EMAIL_TO: ${{ secrets.EMAIL_TO }} 46 | EMAIL_CC: ${{ secrets.EMAIL_CC }} ## Optional 47 | EMAIL_BCC: ${{ secrets.EMAIL_BCC }} ## Optional 48 | -------------------------------------------------------------------------------- /.github/workflows/create-tag.yml.NOT_IN_USE: -------------------------------------------------------------------------------- 1 | name: Create Tag - CI 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | version_type: 7 | type: choice 8 | description: Choose version bump type 9 | options: 10 | - -r major 11 | - -r minor 12 | - -r patch 13 | - -p alpha 14 | - -p beta 15 | - -p build 16 | - -p hotfix 17 | - -p dev 18 | required: true 19 | default: "-r patch" 20 | pull_request: 21 | types: 22 | - closed 23 | branches: 24 | - 'development' 25 | 26 | jobs: 27 | call-create-tag: 28 | # runs-on: ubuntu-latest 29 | permissions: write-all 30 | if: github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'development') 31 | uses: wrappid/workflows/.github/workflows/util-create-tag.yml@main 32 | with: 33 | GIT_USER_NAME: ${{ vars.GIT_USER_NAME }} 34 | VERSION_TYPE_REPOSITORY_DEFAULT: ${{ vars.VERSION_TYPE_REPOSITORY_DEFAULT }} 35 | EMAIL_NOTIFY: ${{ vars.EMAIL_NOTIFY }} 36 | EMAIL_SENDER_NAME: ${{ vars.EMAIL_SENDER_NAME }} 37 | secrets: 38 | PAT: ${{ secrets.PAT }} 39 | GIT_USER_EMAIL: ${{ secrets.GIT_USER_EMAIL }} 40 | WRAPPID_REGISTRY_TOKEN: ${{ secrets.WRAPPID_REGISTRY_TOKEN }} 41 | EMAIL_SERVER_ADDRESS: ${{ secrets.EMAIL_SERVER_ADDRESS }} 42 | EMAIL_SERVER_PORT: ${{ secrets.EMAIL_SERVER_PORT }} 43 | EMAIL_USER_ID: ${{ secrets.EMAIL_USER_ID }} 44 | EMAIL_USER_PASSWORD: ${{ secrets.EMAIL_USER_PASSWORD }} 45 | EMAIL_TO: ${{ secrets.EMAIL_TO }} 46 | EMAIL_CC: ${{ secrets.EMAIL_CC }} ## Optional 47 | EMAIL_BCC: ${{ secrets.EMAIL_BCC }} ## Optional 48 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wrappid-app", 3 | "version": "0.0.22", 4 | "description": "This is a boilerplate application using wrappid for both web and mobile application.", 5 | "scripts": { 6 | "attributions:gen": "node ./scripts/attributions.gen.js", 7 | "test": "echo \"Error: no test specified\" && exit 0", 8 | "code:lint": "eslint --ignore-path .gitignore .", 9 | "code:format": "npm run code:lint -- --fix .", 10 | "prepare": "husky install", 11 | "release": "standard-version --bumpFiles ./package.json ./package-lock.json " 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/wrappid/wrappid-app.git" 16 | }, 17 | "keywords": [ 18 | "wrappid", 19 | "react", 20 | "react-native", 21 | "hybrid", 22 | "javascript" 23 | ], 24 | "bugs": { 25 | "url": "https://github.com/wrappid/wrappid-app/issues" 26 | }, 27 | "author": { 28 | "name": "Wrappid", 29 | "email": "wrappid.framework@gmail.com", 30 | "url": "https://www.github.com/wrappid" 31 | }, 32 | "license": "MIT", 33 | "devDependencies": { 34 | "@commitlint/cli": "17.5.0", 35 | "@commitlint/config-conventional": "17.4.4", 36 | "@commitlint/prompt-cli": "17.5.0", 37 | "@wrappid/core": "latest", 38 | "@wrappid/native-web": "latest", 39 | "@wrappid/native-mobile": "latest", 40 | "@wrappid/styles": "latest", 41 | "eslint": "8.56.0", 42 | "eslint-plugin-etc": "2.0.3", 43 | "eslint-plugin-import": "2.27.5", 44 | "eslint-plugin-react": "7.32.2", 45 | "eslint-plugin-sort-keys-fix": "1.1.2", 46 | "eslint-plugin-unused-imports": "2.0.0", 47 | "husky": "8.0.3", 48 | "license-checker": "25.0.1", 49 | "react": "18.2.0", 50 | "react-dom": "18.2.0", 51 | "redux": "4.2.0", 52 | "standard-version": "9.5.0" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /res/android/res/drawable/rn_edit_text_material.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 21 | 22 | 23 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/components/layouts/WrappidAppLayout.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line unused-imports/no-unused-imports, no-unused-vars 2 | import React from "react"; 3 | 4 | import { 5 | CoreAppBar, 6 | CoreBox, 7 | CoreClasses, 8 | CoreCssBaseline, 9 | CoreLayoutPlaceholder, 10 | CoreLink, 11 | CoreResourceContext, 12 | CoreStack, 13 | CoreTypographyBody1 14 | } from "@wrappid/core"; 15 | 16 | import packageData from "../../../package.json"; 17 | 18 | export default function WrappidAppLayout() { 19 | // eslint-disable-next-line no-unused-vars 20 | const resources = React.useContext(CoreResourceContext); 21 | 22 | return ( 23 | <> 24 | 25 | 26 | 27 | 28 | 29 | 30 | 34 | 35 | 36 | 37 | 46 | {packageData.name} 47 | 48 | 49 | Wrappid ©{new Date().getFullYear()} 50 | 51 | 52 | 53 | 54 | 55 | Version: {packageData.version} 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | ); 67 | } 68 | 69 | WrappidAppLayout.PLACEHOLDER = { CONTENT: "content" }; 70 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Wrappid 2 | .wrappid/runtime 3 | .wrappid/wrappid.env 4 | build/ 5 | 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | lerna-debug.log* 13 | .pnpm-debug.log* 14 | 15 | # Diagnostic reports (https://nodejs.org/api/report.html) 16 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 17 | 18 | # Runtime data 19 | pids 20 | *.pid 21 | *.seed 22 | *.pid.lock 23 | 24 | # Directory for instrumented libs generated by jscoverage/JSCover 25 | lib-cov 26 | 27 | # Coverage directory used by tools like istanbul 28 | coverage 29 | *.lcov 30 | 31 | # nyc test coverage 32 | .nyc_output 33 | 34 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 35 | .grunt 36 | 37 | # Bower dependency directory (https://bower.io/) 38 | bower_components 39 | 40 | # node-waf configuration 41 | .lock-wscript 42 | 43 | # Compiled binary addons (https://nodejs.org/api/addons.html) 44 | build/Release 45 | 46 | # Dependency directories 47 | node_modules/ 48 | jspm_packages/ 49 | 50 | # Snowpack dependency directory (https://snowpack.dev/) 51 | web_modules/ 52 | 53 | # TypeScript cache 54 | *.tsbuildinfo 55 | 56 | # Optional npm cache directory 57 | .npm 58 | 59 | # Optional eslint cache 60 | .eslintcache 61 | 62 | # Optional stylelint cache 63 | .stylelintcache 64 | 65 | # Microbundle cache 66 | .rpt2_cache/ 67 | .rts2_cache_cjs/ 68 | .rts2_cache_es/ 69 | .rts2_cache_umd/ 70 | 71 | # Optional REPL history 72 | .node_repl_history 73 | 74 | # Output of 'npm pack' 75 | *.tgz 76 | 77 | # Yarn Integrity file 78 | .yarn-integrity 79 | 80 | # dotenv environment variable files 81 | .env 82 | .env.development.local 83 | .env.test.local 84 | .env.production.local 85 | .env.local 86 | 87 | # parcel-bundler cache (https://parceljs.org/) 88 | .cache 89 | .parcel-cache 90 | 91 | # Next.js build output 92 | .next 93 | out 94 | 95 | # Nuxt.js build / generate output 96 | .nuxt 97 | dist 98 | 99 | # Gatsby files 100 | .cache/ 101 | # Comment in the public line in if your project uses Gatsby and not Next.js 102 | # https://nextjs.org/blog/next-9-1#public-directory-support 103 | # public 104 | 105 | # vuepress build output 106 | .vuepress/dist 107 | 108 | # vuepress v2.x temp and cache directory 109 | .temp 110 | .cache 111 | 112 | # Docusaurus cache and generated files 113 | .docusaurus 114 | 115 | # Serverless directories 116 | .serverless/ 117 | 118 | # FuseBox cache 119 | .fusebox/ 120 | 121 | # DynamoDB Local files 122 | .dynamodb/ 123 | 124 | # TernJS port file 125 | .tern-port 126 | example/* 127 | 128 | # Stores VSCode versions used for testing VSCode extensions 129 | .vscode-test 130 | 131 | # yarn v2 132 | .yarn/cache 133 | .yarn/unplugged 134 | .yarn/build-state.yml 135 | .yarn/install-state.gz 136 | .pnp.* 137 | temp/* 138 | 139 | # mac 140 | .DS_Store 141 | 142 | # Dependency Files 143 | package.json 144 | package-lock.json 145 | ./package/package.json 146 | ./package/package-lock.json -------------------------------------------------------------------------------- /src/components/AppComponentSection.js: -------------------------------------------------------------------------------- 1 | import { 2 | CoreBox, 3 | CoreCard, 4 | CoreClasses, 5 | CoreContainedButton, 6 | CoreGrid, 7 | CoreH5, 8 | CoreLink, 9 | CoreSpan, 10 | CoreTypographyBody1, 11 | CoreTypographyBody2 12 | } from "@wrappid/core"; 13 | 14 | export default function AppComponentSection(props) { 15 | 16 | return ( 17 | 18 | 19 | 22 | 23 | {props.title} 24 | 25 | {props.about} 26 | 27 | 28 | 29 | {props.name} 30 | 31 | 32 | 33 | {props.version ? `Version: ${props.version}` : null} 34 | 35 | 36 | 37 | 38 | 39 | Release Notes 40 | 41 | 42 | {" | "} 43 | 44 | 45 | Attributions 46 | 47 | 48 | {" | "} 49 | 50 | 51 | Contributors 52 | 53 | 54 | {" | "} 55 | 56 | 57 | Issue Board 58 | 59 | 60 | 61 | 67 | 72 | How to Customize 73 | 74 | 75 | 80 | Source 81 | 82 | 83 | 84 | 85 | Courtesy: MUI & React Native Paper 86 | 87 | 88 | 89 | 90 | ); 91 | } 92 | -------------------------------------------------------------------------------- /scripts/attributions.gen.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | /* eslint-disable import/order */ 3 | /* eslint-disable no-console */ 4 | // eslint-disable-next-line no-undef 5 | const path = require("path"); 6 | // eslint-disable-next-line no-undef 7 | const licenseChecker = require("license-checker"); 8 | // eslint-disable-next-line no-undef, id-length 9 | const fs = require("fs"); 10 | 11 | // eslint-disable-next-line no-undef 12 | const packageJson = require("../package.json"); 13 | 14 | /** 15 | * Generate ATTRIBUTIONS.md file listing third-party dependencies and their licenses. 16 | */ 17 | 18 | try { 19 | // eslint-disable-next-line no-undef 20 | const packagePath = path.join(__dirname, "./../"); 21 | // eslint-disable-next-line no-undef 22 | const attributionMdPath = path.join(__dirname, "./../ATTRIBUTIONS.md"); 23 | 24 | // Attribution header 25 | const attributionHeader = ` 26 | ## ATTRIBUTIONS 27 | 28 | This file lists the third-party libraries, frameworks, and other components used in the ${packageJson?.name} repository, 29 | along with their respective licenses. 30 | It is important to comply with the licensing terms of these components when using the code 31 | \n`; 32 | 33 | licenseChecker.init({ start: packagePath }, function(err, packages) { 34 | if (err) { 35 | throw err; 36 | } else { 37 | let markdownContent = attributionHeader + generateMarkdown(packages); 38 | 39 | fs.writeFileSync(attributionMdPath, markdownContent); 40 | console.log("ATTRIBUTIONS.md file generated successfully."); 41 | } 42 | }); 43 | } catch (error) { 44 | console.error("An error occurred while generating ATTRIBUTIONS.md file."); 45 | console.error(error); 46 | } 47 | 48 | /** 49 | * Convert JSON data to markdown format. 50 | * @param {object} packages - JSON object containing package information. 51 | * @returns {string} Markdown content. 52 | */ 53 | function generateMarkdown(packages) { 54 | let markdownContent = ""; 55 | 56 | Object.keys(packages).forEach(packageName => { 57 | markdownContent += convertJsonToMDFormat(packageName, packages[packageName]); 58 | }); 59 | 60 | return markdownContent; 61 | } 62 | 63 | /** 64 | * Convert package information to markdown format. 65 | * @param {string} packageName - Name of the package. 66 | * @param {object} packageInfo - Information about the package. 67 | * @returns {string} Markdown content. 68 | */ 69 | function convertJsonToMDFormat(packageName, packageInfo) { 70 | const { 71 | licenses, repository, publisher, url, licenseFile, email 72 | } = packageInfo; 73 | 74 | const packageVersion = packageName.match(/[0-9.]+/g)?.join("") || "NA"; 75 | 76 | const extractPackageName = packageName => packageName.substring(0, packageName.lastIndexOf("@")).replace("@", ""); 77 | 78 | return ` 79 |
80 | ${packageName} 81 | 82 | #### Basic details about the package 83 | >| Key | Value | 84 | >| --- | --- | 85 | >| **Name** | ${extractPackageName(packageName) || "NA"} | 86 | >| **Version** | ${packageVersion} | 87 | >| **Repository** | ${repository || "NA"} | 88 | >| **Licenses** | [${licenses || "NA"}](${licenseFile}) | 89 | >| **Publisher** | ${publisher || "NA"} | 90 | >| **Contact** | ${email || "NA"} | 91 | >| **Homepage** | ${url || "NA"} | 92 | 93 | #### Use this package in your project 94 | \`\`\`bash 95 | npm i ${packageName} 96 | \`\`\` 97 |
98 | `; 99 | } -------------------------------------------------------------------------------- /res/web/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 15 | 19 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 33 | 34 | 35 | 39 | 40 | 49 | Wrappid App 50 | 51 | 52 | 80 | 81 | 82 | 83 | 84 |
85 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /res/web/public/fonts/rxi/style.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'rxicon'; 3 | src: url('fonts/rxicon.eot?41bl82'); 4 | src: url('fonts/rxicon.eot?41bl82#iefix') format('embedded-opentype'), 5 | url('fonts/rxicon.ttf?41bl82') format('truetype'), 6 | url('fonts/rxicon.woff?41bl82') format('woff'), 7 | url('fonts/rxicon.svg?41bl82#rxicon') format('svg'); 8 | font-weight: normal; 9 | font-style: normal; 10 | font-display: block; 11 | } 12 | 13 | [class^="rxi-"], [class*=" rxi-"] { 14 | /* use !important to prevent issues with browser extensions that change fonts */ 15 | font-family: 'rxicon' !important; 16 | speak: never; 17 | font-style: normal; 18 | font-weight: normal; 19 | font-variant: normal; 20 | text-transform: none; 21 | line-height: 1; 22 | 23 | /* Better Font Rendering =========== */ 24 | -webkit-font-smoothing: antialiased; 25 | -moz-osx-font-smoothing: grayscale; 26 | } 27 | 28 | .rxi-alcohol:before { 29 | content: "\e900"; 30 | } 31 | .rxi-alcohol-consult-doctor:before { 32 | content: "\e929"; 33 | } 34 | .rxi-alcohol-not-relevant:before { 35 | content: "\e928"; 36 | } 37 | .rxi-alcohol-safe-if-prescribed:before { 38 | content: "\e903"; 39 | } 40 | .rxi-alcohol-safe:before { 41 | content: "\e902"; 42 | } 43 | .rxi-alcohol-unsafe:before { 44 | content: "\e904"; 45 | } 46 | .rxi-breastfeeding:before { 47 | content: "\e905"; 48 | } 49 | .rxi-breastfeeding-caution:before { 50 | content: "\e906"; 51 | } 52 | .rxi-breastfeeding-consult-doctor:before { 53 | content: "\e907"; 54 | } 55 | .rxi-breastfeeding-not-relevant:before { 56 | content: "\e908"; 57 | } 58 | .rxi-breastfeeding-safe-if-prescribed:before { 59 | content: "\e90a"; 60 | } 61 | .rxi-breastfeeding-safe:before { 62 | content: "\e909"; 63 | } 64 | .rxi-breastfeeding-unsafe:before { 65 | content: "\e90b"; 66 | } 67 | .rxi-driving:before { 68 | content: "\e90c"; 69 | } 70 | .rxi-driving-caution:before { 71 | content: "\e90d"; 72 | } 73 | .rxi-driving-consult-doctor:before { 74 | content: "\e90e"; 75 | } 76 | .rxi-driving-not-relevant:before { 77 | content: "\e90f"; 78 | } 79 | .rxi-driving-safe-if-prescribed:before { 80 | content: "\e911"; 81 | } 82 | .rxi-driving-safe:before { 83 | content: "\e910"; 84 | } 85 | .rxi-driving-unsafe:before { 86 | content: "\e912"; 87 | } 88 | .rxi-kidney:before { 89 | content: "\e913"; 90 | } 91 | .rxi-kidney-caution:before { 92 | content: "\e914"; 93 | } 94 | .rxi-kidney-consult-doctor:before { 95 | content: "\e915"; 96 | } 97 | .rxi-kidney-not-relevant:before { 98 | content: "\e916"; 99 | } 100 | .rxi-kidney-safe-if-prescribed:before { 101 | content: "\e918"; 102 | } 103 | .rxi-kidney-safe:before { 104 | content: "\e917"; 105 | } 106 | .rxi-kidney-unsafe:before { 107 | content: "\e919"; 108 | } 109 | .rxi-liver:before { 110 | content: "\e91a"; 111 | } 112 | .rxi-liver-caution:before { 113 | content: "\e91b"; 114 | } 115 | .rxi-liver-consult-doctor:before { 116 | content: "\e91c"; 117 | } 118 | .rxi-liver-not-relevant:before { 119 | content: "\e91d"; 120 | } 121 | .rxi-liver-safe-if-prescribed:before { 122 | content: "\e91f"; 123 | } 124 | .rxi-liver-safe:before { 125 | content: "\e91e"; 126 | } 127 | .rxi-liver-unsafe:before { 128 | content: "\e920"; 129 | } 130 | .rxi-pregnancy:before { 131 | content: "\e921"; 132 | } 133 | .rxi-pregnancy-caution:before { 134 | content: "\e922"; 135 | } 136 | .rxi-pregnancy-consult-doctor:before { 137 | content: "\e923"; 138 | } 139 | .rxi-pregnancy-not-relevant:before { 140 | content: "\e924"; 141 | } 142 | .rxi-pregnancy-safe-if-prescribed:before { 143 | content: "\e926"; 144 | } 145 | .rxi-pregnancy-safe:before { 146 | content: "\e925"; 147 | } 148 | .rxi-pregnancy-unsafe:before { 149 | content: "\e927"; 150 | } 151 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-undef 2 | module.exports = { 3 | "env": { 4 | "browser": true, 5 | "es2021" : true, 6 | "node" : true, 7 | }, 8 | "extends" : ["eslint:recommended", "plugin:react/recommended", "plugin:import/recommended", "plugin:react/jsx-runtime"], 9 | "ignorePatterns": ["**/node_modules/*"], 10 | "overrides" : [], 11 | "parserOptions" : { 12 | "ecmaVersion": "latest", 13 | "sourceType" : "module", 14 | }, 15 | "plugins": [ 16 | "etc", 17 | "import", 18 | "react", 19 | "sort-keys-fix", 20 | "unused-imports", 21 | ], 22 | "rules": { 23 | "array-bracket-newline": [ 24 | "error", 25 | { 26 | "minItems" : 5, 27 | "multiline": true, 28 | }, 29 | ], 30 | "array-bracket-spacing" : ["error", "never"], 31 | "array-element-newline" : ["error", { "minItems": 5, "multiline": true }], 32 | "comma-dangle" : ["error", { "arrays": "only-multiline", "objects": "only-multiline" }], 33 | "comma-spacing" : ["error", { "after": true, "before": false }], 34 | "etc/no-commented-out-code": "error", 35 | "id-length" : ["error", { "exceptions": ["i", "j", "id"], "min": 3, "properties": "never" }], 36 | "import/order" : [ 37 | "error", 38 | { 39 | "alphabetize": { 40 | "caseInsensitive": true, 41 | "order" : "asc", 42 | }, 43 | "groups" : ["builtin", "external", "internal"], 44 | "newlines-between": "always", 45 | "pathGroups" : [ 46 | { 47 | "group" : "builtin", 48 | "pattern" : "react", 49 | "position": "before", 50 | }, 51 | ], 52 | "pathGroupsExcludedImportTypes": ["react"], 53 | }, 54 | ], 55 | "indent" : ["error", 2, { "MemberExpression": 1, "SwitchCase": 1 }], 56 | "key-spacing" : ["error", { "align": "colon" }], 57 | "linebreak-style" : ["error", "unix"], 58 | "newline-after-var" : ["error", "always"], 59 | "newline-per-chained-call": ["error", { "ignoreChainWithDepth": 3 }], 60 | "no-console" : "error", 61 | "no-multi-spaces" : ["error", { exceptions: { "VariableDeclarator": true } }], 62 | "no-multiple-empty-lines" : ["error", { "max": 1 }], 63 | "no-unused-vars" : ["error", { "args": "after-used", "vars": "all" }], 64 | "no-var" : "error", 65 | "object-curly-newline" : [ 66 | "error", 67 | { 68 | "ExportDeclaration": { "minProperties": 6, "multiline": true }, 69 | "ImportDeclaration": { "minProperties": 6, "multiline": true }, 70 | "ObjectExpression" : { "minProperties": 6, "multiline": true }, 71 | "ObjectPattern" : { "minProperties": 6, "multiline": true }, 72 | }, 73 | ], 74 | "object-curly-spacing" : ["error", "always"], 75 | "object-property-newline" : ["error", { "allowAllPropertiesOnSameLine": true }], 76 | "padding-line-between-statements": [ 77 | "error", 78 | { 79 | blankLine: "always", 80 | next : "*", 81 | prev : ["const", "let", "var"], 82 | }, 83 | { 84 | blankLine: "any", 85 | next : ["const", "let", "var"], 86 | prev : ["const", "let", "var"], 87 | }, 88 | { 89 | blankLine: "always", 90 | next : "*", 91 | prev : ["case", "default"], 92 | } 93 | ], 94 | "quotes" : ["error", "double"], 95 | "react/jsx-first-prop-new-line" : "error", 96 | "react/jsx-max-props-per-line" : ["error", { "maximum": { "multi": 1, "single": 3 } }], 97 | "react/jsx-newline" : "error", 98 | "react/jsx-props-no-multi-spaces" : "error", 99 | "react/prop-types" : "off", 100 | "semi" : ["error", "always"], 101 | "sort-keys-fix/sort-keys-fix" : "error", 102 | "space-infix-ops" : ["error", { "int32Hint": false }], 103 | "unused-imports/no-unused-imports": "error", 104 | }, 105 | "settings": { "react": { "version": "detect" } }, 106 | }; 107 | -------------------------------------------------------------------------------- /wrappid.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "dev": { 3 | "environment": "development", 4 | "platform": "web", 5 | "defaultRoute": "defaultAppRoute", 6 | "defaultAuthenticatedRoute": "defaultAuthRoute", 7 | "defaultLayout": "WrappidAppLayout", 8 | "defaultAuthenticatedLayout": "AppContainerLayout", 9 | "dynamic": false, 10 | "backendUrl": "", 11 | "webUrl": "http://localhost:3000", 12 | "drawerWidth": 240, 13 | "miniDrawerWidth": 56, 14 | "snackMessage": false, 15 | "otpLength": 6, 16 | "socialLogin": { 17 | "enable": true, 18 | "github": { 19 | "enable": true, 20 | "apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx", 21 | "apiKeySecret": "xxxxxxxxxxxxxxxxxxxxxxxx", 22 | "callbackURL": "xxxxxxxxxxxxxxxxxxxxxxxx" 23 | }, 24 | "facebook": { 25 | "enable": true, 26 | "apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx", 27 | "apiKeySecret": "xxxxxxxxxxxxxxxxxxxxxxxx", 28 | "callbackURL": "xxxxxxxxxxxxxxxxxxxxxxxx" 29 | }, 30 | "linkedin": { 31 | "enable": true, 32 | "apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx", 33 | "apiKeySecret": "xxxxxxxxxxxxxxxxxxxxxxxx", 34 | "callbackURL": "xxxxxxxxxxxxxxxxxxxxxxxx" 35 | } 36 | } 37 | }, 38 | "stage": { 39 | "environment": "stage", 40 | "platform": "web", 41 | "defaultRoute": "defaultAppRoute", 42 | "defaultAuthenticatedRoute": "defaultAuthRoute", 43 | "defaultLayout": "WrappidAppLayout", 44 | "defaultAuthenticatedLayout": "AppContainerLayout", 45 | "dynamic": false, 46 | "backendUrl": "", 47 | "webUrl": "http://localhost:3000", 48 | "drawerWidth": 240, 49 | "miniDrawerWidth": 56, 50 | "snackMessage": false, 51 | "otpLength": 6, 52 | "socialLogin": { 53 | "enable": true, 54 | "github": { 55 | "enable": true, 56 | "apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx", 57 | "apiKeySecret": "xxxxxxxxxxxxxxxxxxxxxxxx", 58 | "callbackURL": "xxxxxxxxxxxxxxxxxxxxxxxx" 59 | }, 60 | "facebook": { 61 | "enable": true, 62 | "apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx", 63 | "apiKeySecret": "xxxxxxxxxxxxxxxxxxxxxxxx", 64 | "callbackURL": "xxxxxxxxxxxxxxxxxxxxxxxx" 65 | }, 66 | "linkedin": { 67 | "enable": true, 68 | "apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx", 69 | "apiKeySecret": "xxxxxxxxxxxxxxxxxxxxxxxx", 70 | "callbackURL": "xxxxxxxxxxxxxxxxxxxxxxxx" 71 | } 72 | } 73 | }, 74 | "prod": { 75 | "environment": "production", 76 | "platform": "web", 77 | "defaultRoute": "defaultAppRoute", 78 | "defaultAuthenticatedRoute": "defaultAuthRoute", 79 | "defaultLayout": "WrappidAppLayout", 80 | "defaultAuthenticatedLayout": "AppContainerLayout", 81 | "dynamic": false, 82 | "backendUrl": "", 83 | "webUrl": "http://localhost:3000", 84 | "drawerWidth": 240, 85 | "miniDrawerWidth": 56, 86 | "snackMessage": false, 87 | "otpLength": 6, 88 | "socialLogin": { 89 | "enable": true, 90 | "github": { 91 | "enable": true, 92 | "apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx", 93 | "apiKeySecret": "xxxxxxxxxxxxxxxxxxxxxxxx", 94 | "callbackURL": "xxxxxxxxxxxxxxxxxxxxxxxx" 95 | }, 96 | "facebook": { 97 | "enable": true, 98 | "apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx", 99 | "apiKeySecret": "xxxxxxxxxxxxxxxxxxxxxxxx", 100 | "callbackURL": "xxxxxxxxxxxxxxxxxxxxxxxx" 101 | }, 102 | "linkedin": { 103 | "enable": true, 104 | "apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx", 105 | "apiKeySecret": "xxxxxxxxxxxxxxxxxxxxxxxx", 106 | "callbackURL": "xxxxxxxxxxxxxxxxxxxxxxxx" 107 | } 108 | } 109 | } 110 | } -------------------------------------------------------------------------------- /.github/workflows/pr-guardrails.yml: -------------------------------------------------------------------------------- 1 | name : PR Guardrails 2 | run-name: > 3 | Validating PR #${{ github.event.pull_request.number }}, opened by ${{ github.actor }} 4 | 5 | on: pull_request 6 | 7 | jobs: 8 | branchname: 9 | name: Validate branch name 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: Validate source branch name 14 | uses: actions-ecosystem/action-regex-match@v2 15 | id: branch_name_validation 16 | with: 17 | text: ${{ github.event.pull_request.head.ref }} 18 | regex: '^WRPD-(feature|bugfix|release|ci|enhancement|hotfix|refactor|deps|docs|experimental|security)?-[0-9]+$|^main$|^development$' 19 | 20 | - name: Print invalid branch name message 21 | if: ${{ steps.branch_name_validation.outputs.match == '' }} 22 | run: | 23 | echo ❌ ${{ github.event.pull_request.head.ref }} is not a valid branch name. 24 | exit 1 25 | 26 | - name: Print valid branch name message 27 | run: | 28 | echo ✅ ${{ github.event.pull_request.head.ref }} is a valid branch name. 29 | 30 | commitlint: 31 | name: Validate commit messages 32 | runs-on: ubuntu-latest 33 | 34 | steps: 35 | - name: Check out branch 36 | uses: actions/checkout@v3 37 | with: 38 | fetch-depth: 0 39 | 40 | - name: Use Node.js 41 | uses: actions/setup-node@v3 42 | with: 43 | cache: 'npm' 44 | 45 | - name: Setup Wrappid npm registry 46 | run: | 47 | npm config set @wrappid:registry https://npm.pkg.github.com/wrappid 48 | npm config set //npm.pkg.github.com/:_authToken ${{ secrets.WRAPPID_REGISTRY_TOKEN }} 49 | 50 | - name: Install commitlint 51 | run: | 52 | npm ci --force 53 | npm i conventional-changelog-conventionalcommits@7.0.2 --force 54 | 55 | - name: Print versions 56 | run: | 57 | git --version 58 | node --version 59 | npm --version 60 | npx commitlint --version 61 | 62 | - name: Run commitlint 63 | run: > 64 | npx commitlint 65 | --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} 66 | --to ${{ github.event.pull_request.head.sha }} 67 | --verbose 68 | 69 | codelint: 70 | name: Validate code style 71 | runs-on: ubuntu-latest 72 | 73 | steps: 74 | - name: Check out branch 75 | uses: actions/checkout@v3 76 | with: 77 | fetch-depth: 0 78 | 79 | - name: Use Node.js 80 | uses: actions/setup-node@v3 81 | with: 82 | cache: 'npm' 83 | registry-url: https://npm.pkg.github.com/wrappid 84 | token: ${{secrets.WRAPPID_REGISTRY_TOKEN}} 85 | 86 | - name: Setup Wrappid npm registry 87 | run: | 88 | npm config set @wrappid:registry https://npm.pkg.github.com/wrappid 89 | npm config set //npm.pkg.github.com/:_authToken ${{ secrets.WRAPPID_REGISTRY_TOKEN }} 90 | 91 | - name: Install ESLint 92 | run: | 93 | npm ci --force 94 | env: 95 | NODE_AUTH_TOKEN: ${{secrets.WRAPPID_REGISTRY_TOKEN}} 96 | 97 | - name: Print versions 98 | run: | 99 | node --version 100 | npm --version 101 | npx eslint --version 102 | 103 | - name: Find added/changed files 104 | id: git_diff 105 | run: | 106 | echo Searching for files added/changed in ${{ github.event.pull_request.head.ref }}, since the last commit in ${{ github.event.pull_request.base.ref }} 107 | echo "FILES_TO_LINT=$(git diff --name-only --diff-filter=AM --recursive ${{ github.event.pull_request.head.sha }}..${{ github.event.pull_request.base.sha }} \*.{js,jsx,ts,tsx} | xargs)" >> $GITHUB_OUTPUT 108 | 109 | - name: Run ESLint 110 | run: | 111 | npm run code:lint ${{ steps.git_diff.outputs.FILES_TO_LINT }} 112 | 113 | unit_tests: 114 | name: Run unit test cases 115 | runs-on: ubuntu-latest 116 | needs: [branchname, commitlint, codelint] 117 | 118 | steps: 119 | - name: Check out branch 120 | uses: actions/checkout@v3 121 | with: 122 | fetch-depth: 0 123 | 124 | - name: Run unit test cases 125 | run: echo "Ran unit test cases" 126 | 127 | e2e_tests: 128 | name: Run E2E test cases 129 | runs-on: ubuntu-latest 130 | needs: unit_tests 131 | 132 | steps: 133 | - name: Check out branch 134 | uses: actions/checkout@v3 135 | with: 136 | fetch-depth: 0 137 | 138 | - name: Use Node.js 139 | uses: actions/setup-node@v3 140 | with: 141 | cache: 'npm' 142 | 143 | - name: Setup Wrappid npm registry 144 | run: | 145 | npm config set @wrappid:registry https://npm.pkg.github.com/wrappid 146 | npm config set //npm.pkg.github.com/:_authToken ${{ secrets.WRAPPID_REGISTRY_TOKEN }} 147 | 148 | - name: Install node_modules 149 | run: npm ci --force 150 | 151 | - name: Run test cases 152 | run: | 153 | npm test 154 | echo "Ran test cases" -------------------------------------------------------------------------------- /src/components/About.js: -------------------------------------------------------------------------------- 1 | import { 2 | CoreAccordion, 3 | CoreAccordionDetail, 4 | CoreAccordionSummary, 5 | CoreBox, 6 | CoreClasses, 7 | CoreDivider, 8 | CoreGrid, 9 | CoreH3, 10 | CoreImage, 11 | CoreLayoutItem, 12 | CoreLink, 13 | CoreTypographyBody1, 14 | CoreTypographyBody2 15 | } from "@wrappid/core"; 16 | import corePackage from "@wrappid/core/package.json"; 17 | // eslint-disable-next-line import/no-unresolved 18 | import nativePackage from "@wrappid/native/package.json"; 19 | import stylesPackage from "@wrappid/styles/package.json"; 20 | 21 | import packageJson from "../../package.json"; 22 | import applicationLogo from "../resources/images/logo_dark.png"; 23 | // eslint-disable-next-line import/order 24 | import WrappidAppLayout from "./layouts/WrappidAppLayout"; 25 | 26 | export default function About() { 27 | const { 28 | name, version, description, repository, homepage, author, license, bugs, readme 29 | } = packageJson; 30 | 31 | const renderPackageDetails = (packageName, packageDetails) => { 32 | const { 33 | author, bugs, homepage, repository, version, description, license, name 34 | } = packageDetails; 35 | 36 | return ( 37 | 38 | 39 | {`${name ? name : "Name not found"} ${version ? version : "version not available"}`} 40 | 41 | 42 | 43 | {`Name: ${name ? name.replace("@", "") : "Name not found"}`} 44 | 45 | {`Version: ${version ? version : "Version not found"}`} 46 | 47 | {`Author: ${author?.name ? author?.name : "Author not found"}`} 48 | 49 | {`Description: ${description ? description : "Description not found"}`} 50 | 51 | Homepage: 52 | {`${homepage ? homepage : "Homepage not found"}`} 53 | 54 | 55 | Repository:{` ${repository?.url ? repository?.url.replace("git+", "") : "Repository not found"}`} 56 | 57 | Bug report:{` ${bugs?.url ? bugs?.url : "Bug report not found"}`} 58 | 59 | {`License: ${license ? license : "License not found"}`} 60 | 61 | 62 | ); 63 | }; 64 | 65 | return ( 66 | <> 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | {`${name ? name : "Name not found"}`} 79 | 80 | {`${description ? description : "Description not found"}`} 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | {`Versions: ${version ? version : "Version not found"}`}   |   89 | 90 | Author   |   91 | 92 | Homepage   |   93 | 94 | Repository   |   95 | 96 | Bug report url   |   97 | 98 | Readme 99 | 100 | 101 | 102 | 103 | 104 | {`License: ${license ? license : "License not found"}`}, 105 | 106 | Copyright 2024 ©{new Date().getFullYear()}. All rights reserved. 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | {`${name ? name : "Name not found"}`} is built using the 115 | 116 | wrappid open source project. 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | {renderPackageDetails("core", corePackage)} 126 | 127 | {renderPackageDetails("native", nativePackage)} 128 | 129 | {renderPackageDetails("styles", stylesPackage)} 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | Other open source software 139 | 140 | 141 | 142 | 143 | 144 | Kindly refer Attributions for other open source softwares. All trademarks belong to their respective owners. 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | ); 153 | } 154 | -------------------------------------------------------------------------------- /res/ios/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | {"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"idiom":"watch","filename":"172.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"86x86","expected-size":"172","role":"quickLook"},{"idiom":"watch","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"40x40","expected-size":"80","role":"appLauncher"},{"idiom":"watch","filename":"88.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"40mm","scale":"2x","size":"44x44","expected-size":"88","role":"appLauncher"},{"idiom":"watch","filename":"102.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"45x45","expected-size":"102","role":"appLauncher"},{"idiom":"watch","filename":"92.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"46x46","expected-size":"92","role":"appLauncher"},{"idiom":"watch","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"50x50","expected-size":"100","role":"appLauncher"},{"idiom":"watch","filename":"196.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"98x98","expected-size":"196","role":"quickLook"},{"idiom":"watch","filename":"216.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"108x108","expected-size":"216","role":"quickLook"},{"idiom":"watch","filename":"48.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"24x24","expected-size":"48","role":"notificationCenter"},{"idiom":"watch","filename":"55.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"27.5x27.5","expected-size":"55","role":"notificationCenter"},{"idiom":"watch","filename":"66.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"45mm","scale":"2x","size":"33x33","expected-size":"66","role":"notificationCenter"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"3x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"2x"},{"size":"1024x1024","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch-marketing","scale":"1x"},{"size":"128x128","expected-size":"128","filename":"128.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"256x256","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"128x128","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"256x256","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"512x512","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"16","filename":"16.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"64","filename":"64.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"512x512","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"}]} -------------------------------------------------------------------------------- /src/customFonts/rxicon-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "metadata": { 3 | "name": "rxicon", 4 | "lastOpened": 0, 5 | "created": 1674890718938 6 | }, 7 | "icons": [ 8 | { 9 | "paths": [ 10 | "M311.836 66.301c-3.5 0.714-9.032 3.971-12.296 7.235l-5.934 5.934-7.795 85.765c-4.288 47.171-11.095 121.316-15.127 164.764-10.13 109.189-9.71 129.669 3.535 172.001 25.976 83.023 96.148 147.692 183.281 168.901l14.5 3.53v203.569h-47.636c-77.496 0-102.692 15.578-104.835 64.822-0.812 18.665-17.608 17.178 193.825 17.178 214.505 0 198.559 2.053 194.312-25.019-6.92-44.134-27.428-55.724-100.165-56.604l-51.5-0.622v-203.679l5.499-1.188c80.842-17.467 145.72-67.932 179.487-139.617 25.83-54.84 27.656-77.967 16.12-204.27-3.919-42.9-10.639-116.677-14.935-163.948l-7.811-85.947-7.153-6.554c-3.932-3.604-9.188-6.556-11.679-6.564-2.491-0.005-92.91-0.23-200.932-0.499-108.019-0.269-199.263 0.095-202.762 0.812zM658.903 158.5c17.715 156.104 25.487 278.362 19.333 304.102-41.219 172.375-283.159 175.496-327.424 4.227-7.337-28.385-0.607-141.852 18.284-308.329l1.193-10.499h287.424l1.19 10.499z" 11 | ], 12 | "attrs": [ 13 | {} 14 | ], 15 | "isMulticolor": false, 16 | "isMulticolor2": false, 17 | "grid": 16, 18 | "tags": [ 19 | "alcohol" 20 | ], 21 | "id": 1, 22 | "properties": { 23 | "ligatures": "alcohol", 24 | "name": "alcohol", 25 | "order": 4, 26 | "id": 3, 27 | "prevSize": 32, 28 | "code": 59650 29 | } 30 | }, 31 | { 32 | "paths": [ 33 | "M147.837 64.302c-3.5 0.714-9.034 3.971-12.298 7.235l-5.934 5.934-7.795 85.765c-4.288 47.171-11.092 121.313-15.124 164.764-10.132 109.189-9.71 129.669 3.535 172.001 25.976 83.023 96.146 147.689 183.278 168.901l14.502 3.528v203.571h-47.639c-77.496 0-102.689 15.578-104.832 64.822-0.801 18.371-10.363 17.203 139.192 17.006 71.652-0.095 127.974-0.87 125.161-1.725-56.873-17.257-76.424-88.179-40.671-147.535l11.786-19.569 1.172-116.966 5.414-1.167c19.579-4.219 43.922-12.188 59.062-19.338l17.649-8.333 11.208-19.098c22.618-38.533 30.738-52.529 72.205-124.431 49.923-86.566 45.281-63.721 35.282-173.624-3.855-42.373-10.524-115.717-14.82-162.988l-7.811-85.947-7.15-6.554c-3.935-3.604-9.19-6.559-11.681-6.564s-92.91-0.23-200.929-0.499c-108.022-0.269-199.265 0.095-202.762 0.812zM494.904 156.5c17.715 156.104 25.487 278.362 19.331 304.102-41.219 172.375-283.156 175.496-327.424 4.224-7.334-28.383-0.607-141.85 18.286-308.326l1.19-10.501h287.424l1.193 10.501zM664.387 430.702c-12.219 4.426-19.187 14.579-67.692 98.611-26.568 46.026-78.231 135.437-114.806 198.687-36.577 63.25-68.145 118.6-70.152 123-9.359 20.513 0.159 46.336 21.263 57.695l8 4.306h481.999l8-4.306c21.11-11.361 30.61-37.151 21.263-57.725-3.128-6.886-60.874-107.272-200.745-348.969-43.136-74.542-53.891-83.343-87.132-71.299zM793.277 664c123.095 212.769 115.251 198.671 112.215 201.708-3.779 3.779-446.702 3.238-448.154-0.548-0.607-1.577 25.83-49.421 59.395-107.5 168.768-292.017 161.582-279.903 165.652-279.265 2.798 0.438 33.326 51.533 110.892 185.605zM647.316 614.5c-3.761 6.098 2.061 114.944 6.428 120.197 4.846 5.832 53.215 4.815 56.991-1.198 4.426-7.045 9.7-112.85 5.932-118.999-2.675-4.362-3.727-4.5-34.668-4.5-30.932 0-31.992 0.138-34.683 4.5zM669.274 754.929c-28.111 10.022-35.648 45.192-14.026 65.464 20.454 19.18 50.877 12.708 62.961-13.394 13.883-29.985-17.426-63.301-48.934-52.070z" 34 | ], 35 | "attrs": [ 36 | {} 37 | ], 38 | "isMulticolor": false, 39 | "isMulticolor2": false, 40 | "grid": 16, 41 | "tags": [ 42 | "alcohol-caution" 43 | ], 44 | "id": 2, 45 | "properties": { 46 | "ligatures": "alcohol-caution", 47 | "name": "alcohol-caution", 48 | "order": 4, 49 | "id": 3, 50 | "prevSize": 32, 51 | "code": 59650 52 | } 53 | }, 54 | { 55 | "id": 4, 56 | "paths": [ 57 | "M147.837 64.302c-3.5 0.714-9.034 3.971-12.298 7.235l-5.934 5.934-7.795 85.765c-4.288 47.171-11.092 121.313-15.124 164.764-10.132 109.189-9.71 129.669 3.535 172.001 25.976 83.023 96.146 147.689 183.278 168.901l14.502 3.528v203.571h-47.639c-77.496 0-102.689 15.578-104.832 64.822-0.814 18.665-17.623 17.178 193.925 17.178h185.011l-1.206-4.5c-0.663-2.476-1.219-14.625-1.234-27l-0.026-22.5h-33.682c-44.979 0-67.226-5.635-90.207-22.843-3.789-2.836-8.965-5.158-11.502-5.158-3.126 0-4.611-1.172-4.611-3.638 0-2.002-3.671-8.527-8.161-14.5-22.339-29.732-22.418-30.259-23.311-158.362l-0.75-107.5h-14.39c-73.388-0.003-139.389-52.933-158.577-127.173-7.334-28.383-0.607-141.85 18.286-308.326l1.19-10.501h287.424l1.188 10.501c1.513 13.399 19.1 200.735 19.1 203.459 0 1.321 14.533 2.040 41.231 2.040h41.231l-1.236-10.499c-0.681-5.775-3.955-41.551-7.278-79.501s-8.622-97.311-11.776-131.912l-5.734-62.912-7.188-6.589c-3.955-3.622-9.229-6.592-11.72-6.597s-92.91-0.23-200.929-0.499c-108.022-0.269-199.265 0.095-202.762 0.812zM458.24 414.282c-19.684 5.724-38.776 25.677-45.376 47.421-5.292 17.436-4.106 332.823 1.303 347.287 7.583 20.262 24.668 37.256 43.479 43.241 4.477 1.426 30.044 2.816 65.354 3.556l57.999 1.213 1.001 48.576c1.459 70.971-10.071 73.311 118.694-24.090l33.695-25.487 76.303-0.015c108.593-0.020 123.31-4.173 140.764-39.698l5.542-11.287v-344l-5.473-10.381c-6.863-13.018-21.373-27.471-33.347-33.216l-9.18-4.403-222.001-0.34c-140.575-0.218-224.479 0.379-228.759 1.623zM903.091 466.908l4.91 4.91v323.597l-9.81 10.586h-179.279l-41.37 30.999c-22.751 17.050-42.284 31.002-43.402 31.002-1.267 0-2.245-11.505-2.588-30.502l-0.553-30.5-161.349-1.999-9.649-11.223v-321.958l9.818-9.818h428.362l4.91 4.908zM664.23 535.501c-3.942 3.274-4.247 5.693-4.723 37.499l-0.507 33.999-34.68 1.001c-42.399 1.224-42.319 1.175-42.319 26.076 0 23.178 1.306 23.923 41.869 23.923 39.112 0 36.132-3.072 36.132 37.256v32.456l5.268 4.145c8.074 6.349 30.405 5.952 38.118-0.678l5.612-4.826 1.001-33.677 0.998-33.674 33.196-0.548c40.924-0.673 41.966-1.27 42.040-24.054 0.077-25.050-2.24-26.399-45.366-26.399-23.363 0-30.868-0.607-30.866-2.501 0.054-52.475-1.047-65.889-5.724-69.676-6.556-5.307-33.784-5.527-40.049-0.323z" 58 | ], 59 | "attrs": [ 60 | {} 61 | ], 62 | "isMulticolor": false, 63 | "isMulticolor2": false, 64 | "grid": 0, 65 | "tags": [ 66 | "alcohol-consult-doctor" 67 | ], 68 | "properties": { 69 | "ligatures": "alcohol-consult-doctor", 70 | "name": "alcohol-consult-doctor", 71 | "order": 4, 72 | "id": 3, 73 | "prevSize": 32, 74 | "code": 59650 75 | } 76 | } 77 | ], 78 | "preferences": { 79 | "showGlyphs": true, 80 | "showCodes": true, 81 | "showQuickUse": false, 82 | "showQuickUse2": true, 83 | "showSVGs": true, 84 | "fontPref": { 85 | "prefix": "rxi-", 86 | "metadata": { 87 | "fontFamily": "rxicon", 88 | "majorVersion": 1, 89 | "minorVersion": 0 90 | }, 91 | "metrics": { 92 | "emSize": 1024, 93 | "baseline": 6.25, 94 | "whitespace": 50 95 | }, 96 | "embed": false, 97 | "showSelector": true, 98 | "showMetrics": false, 99 | "showMetadata": false, 100 | "showVersion": false, 101 | "resetPoint": 59648, 102 | "ligaReset": "names" 103 | }, 104 | "imagePref": { 105 | "prefix": "icon-", 106 | "png": true, 107 | "useClassSelector": true, 108 | "color": 0, 109 | "bgColor": 16777215, 110 | "name": "icomoon", 111 | "classSelector": ".icon" 112 | }, 113 | "historySize": 50, 114 | "showLiga": true, 115 | "gridSize": 16, 116 | "showGrid": true 117 | } 118 | } -------------------------------------------------------------------------------- /res/android/fonts/rxicon-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "metadata": { 3 | "name": "rxicon", 4 | "lastOpened": 0, 5 | "created": 1674890718938 6 | }, 7 | "icons": [ 8 | { 9 | "paths": [ 10 | "M311.836 66.301c-3.5 0.714-9.032 3.971-12.296 7.235l-5.934 5.934-7.795 85.765c-4.288 47.171-11.095 121.316-15.127 164.764-10.13 109.189-9.71 129.669 3.535 172.001 25.976 83.023 96.148 147.692 183.281 168.901l14.5 3.53v203.569h-47.636c-77.496 0-102.692 15.578-104.835 64.822-0.812 18.665-17.608 17.178 193.825 17.178 214.505 0 198.559 2.053 194.312-25.019-6.92-44.134-27.428-55.724-100.165-56.604l-51.5-0.622v-203.679l5.499-1.188c80.842-17.467 145.72-67.932 179.487-139.617 25.83-54.84 27.656-77.967 16.12-204.27-3.919-42.9-10.639-116.677-14.935-163.948l-7.811-85.947-7.153-6.554c-3.932-3.604-9.188-6.556-11.679-6.564-2.491-0.005-92.91-0.23-200.932-0.499-108.019-0.269-199.263 0.095-202.762 0.812zM658.903 158.5c17.715 156.104 25.487 278.362 19.333 304.102-41.219 172.375-283.159 175.496-327.424 4.227-7.337-28.385-0.607-141.852 18.284-308.329l1.193-10.499h287.424l1.19 10.499z" 11 | ], 12 | "attrs": [ 13 | {} 14 | ], 15 | "isMulticolor": false, 16 | "isMulticolor2": false, 17 | "grid": 16, 18 | "tags": [ 19 | "alcohol" 20 | ], 21 | "id": 1, 22 | "properties": { 23 | "ligatures": "alcohol", 24 | "name": "alcohol", 25 | "order": 4, 26 | "id": 3, 27 | "prevSize": 32, 28 | "code": 59650 29 | } 30 | }, 31 | { 32 | "paths": [ 33 | "M147.837 64.302c-3.5 0.714-9.034 3.971-12.298 7.235l-5.934 5.934-7.795 85.765c-4.288 47.171-11.092 121.313-15.124 164.764-10.132 109.189-9.71 129.669 3.535 172.001 25.976 83.023 96.146 147.689 183.278 168.901l14.502 3.528v203.571h-47.639c-77.496 0-102.689 15.578-104.832 64.822-0.801 18.371-10.363 17.203 139.192 17.006 71.652-0.095 127.974-0.87 125.161-1.725-56.873-17.257-76.424-88.179-40.671-147.535l11.786-19.569 1.172-116.966 5.414-1.167c19.579-4.219 43.922-12.188 59.062-19.338l17.649-8.333 11.208-19.098c22.618-38.533 30.738-52.529 72.205-124.431 49.923-86.566 45.281-63.721 35.282-173.624-3.855-42.373-10.524-115.717-14.82-162.988l-7.811-85.947-7.15-6.554c-3.935-3.604-9.19-6.559-11.681-6.564s-92.91-0.23-200.929-0.499c-108.022-0.269-199.265 0.095-202.762 0.812zM494.904 156.5c17.715 156.104 25.487 278.362 19.331 304.102-41.219 172.375-283.156 175.496-327.424 4.224-7.334-28.383-0.607-141.85 18.286-308.326l1.19-10.501h287.424l1.193 10.501zM664.387 430.702c-12.219 4.426-19.187 14.579-67.692 98.611-26.568 46.026-78.231 135.437-114.806 198.687-36.577 63.25-68.145 118.6-70.152 123-9.359 20.513 0.159 46.336 21.263 57.695l8 4.306h481.999l8-4.306c21.11-11.361 30.61-37.151 21.263-57.725-3.128-6.886-60.874-107.272-200.745-348.969-43.136-74.542-53.891-83.343-87.132-71.299zM793.277 664c123.095 212.769 115.251 198.671 112.215 201.708-3.779 3.779-446.702 3.238-448.154-0.548-0.607-1.577 25.83-49.421 59.395-107.5 168.768-292.017 161.582-279.903 165.652-279.265 2.798 0.438 33.326 51.533 110.892 185.605zM647.316 614.5c-3.761 6.098 2.061 114.944 6.428 120.197 4.846 5.832 53.215 4.815 56.991-1.198 4.426-7.045 9.7-112.85 5.932-118.999-2.675-4.362-3.727-4.5-34.668-4.5-30.932 0-31.992 0.138-34.683 4.5zM669.274 754.929c-28.111 10.022-35.648 45.192-14.026 65.464 20.454 19.18 50.877 12.708 62.961-13.394 13.883-29.985-17.426-63.301-48.934-52.070z" 34 | ], 35 | "attrs": [ 36 | {} 37 | ], 38 | "isMulticolor": false, 39 | "isMulticolor2": false, 40 | "grid": 16, 41 | "tags": [ 42 | "alcohol-caution" 43 | ], 44 | "id": 2, 45 | "properties": { 46 | "ligatures": "alcohol-caution", 47 | "name": "alcohol-caution", 48 | "order": 4, 49 | "id": 3, 50 | "prevSize": 32, 51 | "code": 59650 52 | } 53 | }, 54 | { 55 | "id": 4, 56 | "paths": [ 57 | "M147.837 64.302c-3.5 0.714-9.034 3.971-12.298 7.235l-5.934 5.934-7.795 85.765c-4.288 47.171-11.092 121.313-15.124 164.764-10.132 109.189-9.71 129.669 3.535 172.001 25.976 83.023 96.146 147.689 183.278 168.901l14.502 3.528v203.571h-47.639c-77.496 0-102.689 15.578-104.832 64.822-0.814 18.665-17.623 17.178 193.925 17.178h185.011l-1.206-4.5c-0.663-2.476-1.219-14.625-1.234-27l-0.026-22.5h-33.682c-44.979 0-67.226-5.635-90.207-22.843-3.789-2.836-8.965-5.158-11.502-5.158-3.126 0-4.611-1.172-4.611-3.638 0-2.002-3.671-8.527-8.161-14.5-22.339-29.732-22.418-30.259-23.311-158.362l-0.75-107.5h-14.39c-73.388-0.003-139.389-52.933-158.577-127.173-7.334-28.383-0.607-141.85 18.286-308.326l1.19-10.501h287.424l1.188 10.501c1.513 13.399 19.1 200.735 19.1 203.459 0 1.321 14.533 2.040 41.231 2.040h41.231l-1.236-10.499c-0.681-5.775-3.955-41.551-7.278-79.501s-8.622-97.311-11.776-131.912l-5.734-62.912-7.188-6.589c-3.955-3.622-9.229-6.592-11.72-6.597s-92.91-0.23-200.929-0.499c-108.022-0.269-199.265 0.095-202.762 0.812zM458.24 414.282c-19.684 5.724-38.776 25.677-45.376 47.421-5.292 17.436-4.106 332.823 1.303 347.287 7.583 20.262 24.668 37.256 43.479 43.241 4.477 1.426 30.044 2.816 65.354 3.556l57.999 1.213 1.001 48.576c1.459 70.971-10.071 73.311 118.694-24.090l33.695-25.487 76.303-0.015c108.593-0.020 123.31-4.173 140.764-39.698l5.542-11.287v-344l-5.473-10.381c-6.863-13.018-21.373-27.471-33.347-33.216l-9.18-4.403-222.001-0.34c-140.575-0.218-224.479 0.379-228.759 1.623zM903.091 466.908l4.91 4.91v323.597l-9.81 10.586h-179.279l-41.37 30.999c-22.751 17.050-42.284 31.002-43.402 31.002-1.267 0-2.245-11.505-2.588-30.502l-0.553-30.5-161.349-1.999-9.649-11.223v-321.958l9.818-9.818h428.362l4.91 4.908zM664.23 535.501c-3.942 3.274-4.247 5.693-4.723 37.499l-0.507 33.999-34.68 1.001c-42.399 1.224-42.319 1.175-42.319 26.076 0 23.178 1.306 23.923 41.869 23.923 39.112 0 36.132-3.072 36.132 37.256v32.456l5.268 4.145c8.074 6.349 30.405 5.952 38.118-0.678l5.612-4.826 1.001-33.677 0.998-33.674 33.196-0.548c40.924-0.673 41.966-1.27 42.040-24.054 0.077-25.050-2.24-26.399-45.366-26.399-23.363 0-30.868-0.607-30.866-2.501 0.054-52.475-1.047-65.889-5.724-69.676-6.556-5.307-33.784-5.527-40.049-0.323z" 58 | ], 59 | "attrs": [ 60 | {} 61 | ], 62 | "isMulticolor": false, 63 | "isMulticolor2": false, 64 | "grid": 0, 65 | "tags": [ 66 | "alcohol-consult-doctor" 67 | ], 68 | "properties": { 69 | "ligatures": "alcohol-consult-doctor", 70 | "name": "alcohol-consult-doctor", 71 | "order": 4, 72 | "id": 3, 73 | "prevSize": 32, 74 | "code": 59650 75 | } 76 | } 77 | ], 78 | "preferences": { 79 | "showGlyphs": true, 80 | "showCodes": true, 81 | "showQuickUse": false, 82 | "showQuickUse2": true, 83 | "showSVGs": true, 84 | "fontPref": { 85 | "prefix": "rxi-", 86 | "metadata": { 87 | "fontFamily": "rxicon", 88 | "majorVersion": 1, 89 | "minorVersion": 0 90 | }, 91 | "metrics": { 92 | "emSize": 1024, 93 | "baseline": 6.25, 94 | "whitespace": 50 95 | }, 96 | "embed": false, 97 | "showSelector": true, 98 | "showMetrics": false, 99 | "showMetadata": false, 100 | "showVersion": false, 101 | "resetPoint": 59648, 102 | "ligaReset": "names" 103 | }, 104 | "imagePref": { 105 | "prefix": "icon-", 106 | "png": true, 107 | "useClassSelector": true, 108 | "color": 0, 109 | "bgColor": 16777215, 110 | "name": "icomoon", 111 | "classSelector": ".icon" 112 | }, 113 | "historySize": 50, 114 | "showLiga": true, 115 | "gridSize": 16, 116 | "showGrid": true 117 | } 118 | } -------------------------------------------------------------------------------- /src/components/AppComponentContent.js: -------------------------------------------------------------------------------- 1 | import { 2 | CoreBox, 3 | CoreClasses, 4 | CoreContainedButton, 5 | CoreContainer, 6 | CoreCssBaseline, 7 | CoreDivider, 8 | CoreGrid, 9 | CoreH3, 10 | CoreH5, 11 | CoreImage, 12 | CoreLink, 13 | CoreSpan 14 | } from "@wrappid/core"; 15 | import corePackage from "@wrappid/core/package.json"; 16 | // eslint-disable-next-line import/no-unresolved 17 | import nativePackage from "@wrappid/native/package.json"; 18 | import stylesPackage from "@wrappid/styles/package.json"; 19 | 20 | import AppComponentSection from "./AppComponentSection"; 21 | import packageJson from "../../package.json"; 22 | import logo from "../resources/images/logo_dark.png"; 23 | 24 | nativePackage.author; 25 | stylesPackage.author; 26 | 27 | function AppComponentContent() { 28 | // Capitalize all first letters of words 29 | const words = packageJson.name.replaceAll("-", " ").split(" "); 30 | // Join the capitalized words back with spaces 31 | const capitalizedWords = words.map( 32 | (word) => word.charAt(0).toUpperCase() + word.slice(1) 33 | ); 34 | 35 | return ( 36 | 37 | 38 | 39 | {/* Wrappid logo and other details */} 40 | 41 | {/* Extra space for the navbar_overlapping_logo isssue */} 42 | 43 | {/* application Logo */} 44 | 45 | 51 | 52 | 59 | {/* application title */} 60 | {capitalizedWords.join(" ")} 61 | 62 | {/* application About */} 63 | 64 | {packageJson.description 65 | ? packageJson.description 66 | : "Description not provided"} 67 | 68 | 69 | 70 | 71 | 72 | {/* wrappid tagline, version and links */} 73 | 74 | {/* wrappid tagline */} 75 | 76 | 77 | Built with Wrappid. One code, Endless possibilities. 78 | 79 | 80 | 81 | {/* wrappid Related links (Release Notes|Attributions|Contributors|Issue Board) */} 82 | 83 | {`Version: ${packageJson.version}`} 84 | 85 | 88 | Release Notes 89 | 90 | {" | "} 91 | 92 | Attributions 93 | 94 | {" | "} 95 | 96 | Contributors 97 | 98 | {" | "} 99 | 100 | Issue Board 101 | 102 | 103 | 104 | 105 | {/* buttons for related links */} 106 | 110 | 115 | Get Started 116 | 117 | 118 | 123 | Learn more 124 | 125 | 126 | 131 | Source 132 | 133 | 134 | 135 | 136 | 137 | 138 | {/* Wrappid features and other details segmented into sections */} 139 | 140 | {/* Wrappid styles section */} 141 | 142 | 150 | 151 | {/* Wrappid Custom Component Flexibility Section section */} 152 | 153 | 161 | 162 | {/* Wrappid native section */} 163 | 164 | 172 | 173 | {/* wrappid layout section */} 174 | 175 | 181 | 182 | {/* wrappid themes section */} 183 | 184 | {/* eslint-disable-next-line etc/no-commented-out-code */} 185 | {/* */} 190 | 191 | ); 192 | } 193 | 194 | export default AppComponentContent; 195 | -------------------------------------------------------------------------------- /res/android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "com.android.application" 2 | apply plugin: "com.facebook.react" 3 | apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" 4 | 5 | import com.android.build.OutputFile 6 | 7 | /** 8 | * This is the configuration block to customize your React Native Android app. 9 | * By default you don't need to apply any configuration, just uncomment the lines you need. 10 | */ 11 | react { 12 | /* Folders */ 13 | // The root of your project, i.e. where "package.json" lives. Default is '..' 14 | // root = file("../") 15 | // The folder where the react-native NPM package is. Default is ../node_modules/react-native 16 | // reactNativeDir = file("../node_modules/react-native") 17 | // The folder where the react-native Codegen package is. Default is ../node_modules/react-native-codegen 18 | // codegenDir = file("../node_modules/react-native-codegen") 19 | // The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js 20 | // cliFile = file("../node_modules/react-native/cli.js") 21 | 22 | /* Variants */ 23 | // The list of variants to that are debuggable. For those we're going to 24 | // skip the bundling of the JS bundle and the assets. By default is just 'debug'. 25 | // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. 26 | // debuggableVariants = ["liteDebug", "prodDebug"] 27 | 28 | /* Bundling */ 29 | // A list containing the node command and its flags. Default is just 'node'. 30 | // nodeExecutableAndArgs = ["node"] 31 | // 32 | // The command to run when bundling. By default is 'bundle' 33 | // bundleCommand = "ram-bundle" 34 | // 35 | // The path to the CLI configuration file. Default is empty. 36 | // bundleConfig = file(../rn-cli.config.js) 37 | // 38 | // The name of the generated asset file containing your JS bundle 39 | // bundleAssetName = "MyApplication.android.bundle" 40 | // 41 | // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' 42 | // entryFile = file("../js/MyApplication.android.js") 43 | // 44 | // A list of extra flags to pass to the 'bundle' commands. 45 | // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle 46 | // extraPackagerArgs = [] 47 | 48 | /* Hermes Commands */ 49 | // The hermes compiler command to run. By default it is 'hermesc' 50 | // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" 51 | // 52 | // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" 53 | // hermesFlags = ["-O", "-output-source-map"] 54 | } 55 | 56 | /** 57 | * Set this to true to create four separate APKs instead of one, 58 | * one for each native architecture. This is useful if you don't 59 | * use App Bundles (https://developer.android.com/guide/app-bundle/) 60 | * and want to have separate APKs to upload to the Play Store. 61 | */ 62 | def enableSeparateBuildPerCPUArchitecture = false 63 | 64 | /** 65 | * Set this to true to Run Proguard on Release builds to minify the Java bytecode. 66 | */ 67 | def enableProguardInReleaseBuilds = false 68 | 69 | /** 70 | * The preferred build flavor of JavaScriptCore (JSC) 71 | * 72 | * For example, to use the international variant, you can use: 73 | * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` 74 | * 75 | * The international variant includes ICU i18n library and necessary data 76 | * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that 77 | * give correct results when using with locales other than en-US. Note that 78 | * this variant is about 6MiB larger per architecture than default. 79 | */ 80 | def jscFlavor = 'org.webkit:android-jsc:+' 81 | 82 | /** 83 | * Private function to get the list of Native Architectures you want to build. 84 | * This reads the value from reactNativeArchitectures in your gradle.properties 85 | * file and works together with the --active-arch-only flag of react-native run-android. 86 | */ 87 | def reactNativeArchitectures() { 88 | def value = project.getProperties().get("reactNativeArchitectures") 89 | return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"] 90 | } 91 | 92 | android { 93 | ndkVersion rootProject.ext.ndkVersion 94 | 95 | compileSdkVersion rootProject.ext.compileSdkVersion 96 | 97 | namespace "com.mobile" 98 | defaultConfig { 99 | applicationId "com.mobile" 100 | minSdkVersion rootProject.ext.minSdkVersion 101 | targetSdkVersion rootProject.ext.targetSdkVersion 102 | versionCode 1 103 | versionName "0.0.17" 104 | } 105 | 106 | splits { 107 | abi { 108 | reset() 109 | enable enableSeparateBuildPerCPUArchitecture 110 | universalApk false // If true, also generate a universal APK 111 | include (*reactNativeArchitectures()) 112 | } 113 | } 114 | signingConfigs { 115 | debug { 116 | storeFile file('debug.keystore') 117 | storePassword 'android' 118 | keyAlias 'androiddebugkey' 119 | keyPassword 'android' 120 | } 121 | } 122 | buildTypes { 123 | debug { 124 | signingConfig signingConfigs.debug 125 | } 126 | release { 127 | // Caution! In production, you need to generate your own keystore file. 128 | // see https://reactnative.dev/docs/signed-apk-android. 129 | signingConfig signingConfigs.debug 130 | minifyEnabled enableProguardInReleaseBuilds 131 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 132 | } 133 | } 134 | 135 | // applicationVariants are e.g. debug, release 136 | applicationVariants.all { variant -> 137 | variant.outputs.each { output -> 138 | // For each separate APK per architecture, set a unique version code as described here: 139 | // https://developer.android.com/studio/build/configure-apk-splits.html 140 | // Example: versionCode 1 will generate 1001 for armeabi-v7a, 1002 for x86, etc. 141 | def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] 142 | def abi = output.getFilter(OutputFile.ABI) 143 | if (abi != null) { // null for the universal-debug, universal-release variants 144 | output.versionCodeOverride = 145 | defaultConfig.versionCode * 1000 + versionCodes.get(abi) 146 | } 147 | 148 | } 149 | } 150 | } 151 | 152 | dependencies { 153 | // The version of react-native is set by the React Native Gradle Plugin 154 | implementation("com.facebook.react:react-android") 155 | 156 | implementation("com.facebook.fresco:animated-gif:2.6.0") 157 | 158 | implementation("com.facebook.fresco:animated-webp:2.0.0") 159 | 160 | implementation("com.facebook.fresco:webpsupport:2.0.0") 161 | 162 | implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0") 163 | 164 | debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") 165 | debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { 166 | exclude group:'com.squareup.okhttp3', module:'okhttp' 167 | } 168 | 169 | debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") 170 | if (hermesEnabled.toBoolean()) { 171 | implementation("com.facebook.react:hermes-android") 172 | } else { 173 | implementation jscFlavor 174 | } 175 | } 176 | 177 | apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # `Wrappid` App Boilerplate 2 | 3 | ```text 4 | _ _ 5 | __ ___ __ __ _ _ __ _ __ (_) __| | 6 | \ \ /\ / / '__/ _` | '_ \| '_ \| |/ _` | 7 | \ V V /| | | (_| | |_) | |_) | | (_| | 8 | \_/\_/ |_| \__,_| .__/| .__/|_|\__,_| 9 | |_| |_| 10 | ``` 11 | 12 | **This is a template documentation, @wrappid/toolkit uses this template to create frontend boilerplate.** 13 | 14 | 15 | **Table of Contents** 16 | - [`Wrappid` App Boilerplate](#wrappid-app-boilerplate) 17 | - [1. Introduction](#1-introduction) 18 | - [2. Getting Started](#2-getting-started) 19 | - [2.1. What are my Pre-requisites?](#21-what-are-my-pre-requisites) 20 | - [2.2. How to Create?](#22-how-to-create) 21 | - [2.3. How to Setup?](#23-how-to-setup) 22 | - [2.4. How to Start?](#24-how-to-start) 23 | - [3. What are Wrappid App Environments](#3-what-are-wrappid-app-environments) 24 | - [3.1 What are Wrappid App Runtime Environments?](#31-what-are-wrappid-app-runtime-environments) 25 | - [4. Where to Code?](#4-where-to-code) 26 | - [How to Build?](#how-to-build) 27 | - [5. What are Registries?](#5-what-are-registries) 28 | - [5.1. Application Registry](#51-application-registry) 29 | - [5.2. Components Registry](#52-components-registry) 30 | - [5.3. Functions Registry](#53-functions-registry) 31 | - [5.4. Menus Registry](#54-menus-registry) 32 | - [5.5. Reducers Registry](#55-reducers-registry) 33 | - [5.6. Resources Registry](#56-resources-registry) 34 | - [5.7 Routes Registry](#57-routes-registry) 35 | - [5.8 Validation Registry](#58-validation-registry) 36 | - [6. What are wrappid packages](#6-what-are-wrappid-packages) 37 | - [6.1. Wrappid Core Package](#61-wrappid-core-package) 38 | - [6.2. Wrappid Styles Package](#62-wrappid-styles-package) 39 | - [6.3. Wrappid Native-Web Package](#63-wrappid-native-web-package) 40 | - [6.4. Wrappid Native-Mobile Package](#64-wrappid-native-mobile-package) 41 | 42 | ## 1. Introduction 43 | 44 | This is a **frontend boilerplate template application** built using the `Wrappid` framework, which enables simultaneous development of web and mobile application. 45 | This guide will help us setup and run application using `Wrappid` framework. 46 | 47 | 48 | ## 2. Getting Started 49 | 50 | This getting started section will help you setup a basic application built using the `Wrappid` framework. Follow the below steps to get going. 51 | 52 | [2.1. What are my Pre-requisites?](#21-what-are-my-pre-requisites) 53 | [2.2. How to Create?](#22-how-to-create) 54 | [2.3. How to Setup?](#23-how-to-setup) 55 | [2.4. How to Start?](#24-how-to-start) 56 | 57 | 79 | 80 | ### 2.1. What are my Pre-requisites? 81 | 82 | - [Refer here](https://github.com/wrappid/#1-check-pre-requisites) 83 | - install [@wrappid/toolkit](https://github.com/wrappid/#2-install-wrappid-toolkit) globally 84 | 85 | 86 | ### 2.2. How to Create? 87 | 88 | It is expected that you have successfully installed @wrappid/toolkit(wrappid framework's CLI tool) and initialised it. 89 | Run the below command to create Frontend Wrappid Project 90 | 91 | ```terminal 92 | wrappid init app 93 | ``` 94 | 95 | **Output:** 96 | ![wrappid-app](https://github.com/wrappid/.github/assets/61864488/c7b6f0ae-bc7c-4008-87d0-96994839002a) 97 | 98 | 99 | ### 2.3. How to Setup? 100 | 101 | Frontend `Wrappid-App` has two runtime-environments: 102 | - Web 103 | - Mobile 104 | 105 | We will talk about these environments in upcomming sections. 106 | 107 | > **_Note:_** _If you want to setup a wrappid-app project that is already in your github, you need to clone it. After clonning, run `npm i` at the root of the project_ 108 | 109 | Run the below command to setup a Frontend Wrappid Project in web and mobile runtime-environments. 110 | 111 | ```bash 112 | cd - 113 | wrappid setup 114 | ``` 115 | 116 | Run the below command to setup a `wrappid-app` in web runtime-environment. 117 | 118 | ```bash 119 | cd - 120 | wrappid setup web 121 | ``` 122 | 123 | Run the below command to setup a `wrappid-app` in mobile runtime-environment. 124 | 125 | ```bash 126 | cd - 127 | wrappid setup mobile 128 | ``` 129 | 130 | ### 2.4. How to Start? 131 | You can start a frontend app in two modes: 132 | - [Static (Without Backend Service)]() 133 | - [Dynamic (With Backend Service)]() 134 | 135 | - **Static (Without Backend Service)** 136 | Run the below command to start the development frontend server for web: 137 | ```bash 138 | cd wrappid-app 139 | wrappid start web 140 | ``` 141 | 142 | This should launch your default browser with a URL `http://localhost:3000` 143 | 144 | Run the below command to start the development server for mobile: 145 | 146 | ```bash 147 | cd wrappid-app 148 | wrappid start mobile 149 | ``` 150 | 151 | This should launch your emulated device (provided a proper setup is done on the Android Device Manager) 152 | 153 | 154 | - **Dynamic (With Backend Service)** 155 | 156 | To start Dynamic Fontend Wrappid project, you'll first need your Wrappid Backend up and running. [steps for backend](). 157 | - Enter you Backend URL in `wrappid.conf.json` file located at the root of `wrappid-app` project. 158 | - Follow the same steps for starting a [static frontend wrappid-app]() 159 | 160 | ## 3. What are Wrappid App Environments 161 | Wrappid App can be runned in 3 environments: 162 | - Dev: Suitable for Development 163 | - Stage: Suitable for Testing 164 | - Prod: Suitable for Production 165 | 166 | By default, Wrappid App project setups and starts in `dev` environment. 167 | These environments are to be configured in wrappid.conf.json located at the root of `wrappid-app` project 168 | 169 | To run a Wrappid App project in a different environment, run the below command: 170 | ```terminal 171 | cd wrappid-app 172 | wrappid start [web|mobile] --env=[dev|stage|prod] 173 | ``` 174 | ### 3.1 What are Wrappid App Runtime Environments? 175 | 176 | Frontend `Wrappid-App` has two runtime-environments: 177 | - Web 178 | - Mobile 179 | 180 | ## 4. Where to Code? 181 | 182 | ./src/components 183 | 184 | You'll write your code in components. 185 | 186 | Write your code in a function, then export default your function 187 | 188 | For example, if name of your file is helloWrappider.js 189 | It should have a function that is exported, 190 | ```js 191 | export default function helloWrappider(){ 192 | 193 | } 194 | ``` 195 | 196 | Then put an import of your code's function in ComponentRegistry.js 197 | ```js 198 | import helloWrappider from "./components/helloWrappider" 199 | export default function ComponentRegistry 200 | { 201 | HelloWrappiders: {comp: helloWrappider} 202 | } 203 | ``` 204 | 205 | Now we need to see what we wrote in the browser. 206 | 207 | Go to the RoutesRegistry, 208 | 209 | create an route object in RoutesRegistrys 210 | ```js 211 | { 212 | defaultAppRoute : { 213 | Page : {AppComponent: "HelloWrappiders" }, 214 | entityRef : 'defaultAppRoute', 215 | URL : 'defaultAppRoute' 216 | }  217 | } 218 | ``` 219 | Now run the below commad 220 | 221 | ```terminal 222 | wrappid copy --src 223 | ``` 224 | 225 | Then run 226 | 227 | ```terminal 228 | wrappid start [web|mobile] --env=[dev|stage|prod] 229 | ``` 230 | 231 | Voila! Now after sometime(depending system specs) your browser will open and you'll be able to see your page rendered at localhost:3000 232 | 233 | Now let's make another page, 234 | 235 | 236 | Write your code in src/components directory 237 | 238 | For example: secondPage.js 239 | 240 | 241 | Then put an import of your code's function in ComponentRegistry.js 242 | ```js 243 | import secondPage from "./components/secondPage" 244 | ``` 245 | 246 | Add another object for your new page, 247 | 248 | export default function ComponentRegistry 249 | ```js 250 | { 251 | HelloWrappiders: {comp: helloWrappider}, 252 | SecondPage: {comp: secondPage} 253 | } 254 | ``` 255 | 256 | And again to see what we wrote in the browser, we will put another entry for our new component 257 | 258 | Go to the RoutesRegistry, 259 | 260 | ```js 261 | { 262 | defaultAppRoute:{ 263 | Page: {AppComponent: "HelloWrappiders" }, 264 | entityRef: 'defaultAppRoute', 265 | URL:'defaultAppRoute' 266 | }, 267 | 268 | secondPageRoute:{ 269 | Page: {AppComponent: "SecondPage" }, 270 | entityRef: 'uniqueSecondPage', 271 | URL:'secondPage' 272 | } 273 | 274 | } 275 | ``` 276 | 277 | Run below command in terminal 278 | 279 | ```terminal 280 | wrappid copy [web|mobile] --src 281 | ``` 282 | 283 | You need to start again if you stopped your web sever. 284 | 285 | 286 | You should be able to see your page at localhost:3000/secondPage 287 | 288 | 289 | ## How to Build? 290 | 291 | Before building it is recommended to do a fresh setup of your project 292 | 293 | ```terminal 294 | ```bash 295 | wrappid setup [web|mobile] --env=[dev|stage|prod] 296 | ``` 297 | 298 | Run the below commands to build your wrappid app for web or mobile 299 | 300 | ```terminal 301 | wrappid build [web|android|ios] 302 | ``` 303 | 304 | > **_Note:_** _For android builds, you need to create build.gradle file with a keystore file in res/android/app_ 305 | > IOS builds are not supported yet. 306 | 307 | 308 | ## 5. What are Registries? 309 | 310 | ### 5.1. Application Registry 311 | Used for appilcations 312 | 313 | ### 5.2. Components Registry 314 | Used to link components 315 | 316 | ### 5.3. Functions Registry 317 | Used for functions 318 | 319 | 320 | ### 5.4. Menus Registry 321 | Used for generation of menu 322 | 323 | ### 5.5. Reducers Registry 324 | Used for Reducers 325 | 326 | ### 5.6. Resources Registry 327 | Used for Resources 328 | 329 | ### 5.7 Routes Registry 330 | Used to route components 331 | 332 | 333 | ### 5.8 Validation Registry 334 | Used for validation 335 | 336 | 337 | 338 | ## 6. What are wrappid packages 339 | 340 | There are 4 wrappid packages that are used by `wrappid-app`. 341 | 3.1. @wrappid/core 342 | 3.2. @wrappid/styles 343 | 3.3. @wrappid/native-web 344 | 3.4. @wrappid/native-mobile 345 | 346 | ### 6.1. Wrappid Core Package 347 | 348 | ### 6.2. Wrappid Styles Package 349 | 350 | ### 6.3. Wrappid Native-Web Package 351 | 352 | ### 6.4. Wrappid Native-Mobile Package 353 | 354 | 355 | 356 | 357 | 358 | 359 | -------------------------------------------------------------------------------- /src/themes/theme3.json: -------------------------------------------------------------------------------- 1 | { 2 | "breakpoints": { 3 | "keys": [ 4 | "xs", 5 | "sm", 6 | "md", 7 | "lg", 8 | "xl" 9 | ], 10 | "values": { 11 | "xs": 0, 12 | "sm": 600, 13 | "md": 960, 14 | "lg": 1280, 15 | "xl": 1920 16 | } 17 | }, 18 | "direction": "ltr", 19 | "mixins": { 20 | "toolbar": { 21 | "minHeight": 56, 22 | "@media (min-width:0px) and (orientation: landscape)": { 23 | "minHeight": 48 24 | }, 25 | "@media (min-width:600px)": { 26 | "minHeight": 64 27 | } 28 | } 29 | }, 30 | "overrides": {}, 31 | "palette": { 32 | "common": { 33 | "black": "#000", 34 | "white": "#fff" 35 | }, 36 | "type": "light", 37 | "primary": { 38 | "light": "#ffccee", 39 | "main": "#ffccee", 40 | "dark": "#ffccee", 41 | "contrastText": "#fff" 42 | }, 43 | "secondary": { 44 | "light": "#001122", 45 | "main": "#001122", 46 | "dark": "#001122", 47 | "contrastText": "#fff" 48 | }, 49 | "error": { 50 | "light": "#e57373", 51 | "main": "purple", 52 | "dark": "#d32f2f", 53 | "contrastText": "#fff" 54 | }, 55 | "warning": { 56 | "main": "#ff9800", 57 | "light": "#ffb74d", 58 | "dark": "#f57c00", 59 | "contrastText": "rgba(0, 0, 0, 0.87)" 60 | }, 61 | "info": { 62 | "main": "#2196f3", 63 | "light": "#64b5f6", 64 | "dark": "#1976d2", 65 | "contrastText": "#fff" 66 | }, 67 | "success": { 68 | "main": "red", 69 | "light": "#81c784", 70 | "dark": "#388e3c", 71 | "contrastText": "rgba(0, 0, 0, 0.87)" 72 | }, 73 | "grey": { 74 | "50": "#fafafa", 75 | "100": "#f5f5f5", 76 | "200": "#eeeeee", 77 | "300": "#e0e0e0", 78 | "400": "#bdbdbd", 79 | "500": "#9e9e9e", 80 | "600": "#757575", 81 | "700": "#616161", 82 | "800": "#424242", 83 | "900": "#212121", 84 | "A100": "#d5d5d5", 85 | "A200": "#aaaaaa", 86 | "A400": "#303030", 87 | "A700": "#616161" 88 | }, 89 | "contrastThreshold": 3, 90 | "tonalOffset": 0.2, 91 | "text": { 92 | "primary": "rgba(0, 0, 0, 0.87)", 93 | "secondary": "rgba(0, 0, 0, 0.54)", 94 | "disabled": "rgba(0, 0, 0, 0.38)", 95 | "hint": "rgba(0, 0, 0, 0.38)" 96 | }, 97 | "divider": "rgba(0, 0, 0, 0.12)", 98 | "background": { 99 | "paper": "#fff", 100 | "default": "#fafafa" 101 | }, 102 | "action": { 103 | "active": "rgba(0, 0, 0, 0.54)", 104 | "hover": "rgba(0, 0, 0, 0.08)", 105 | "hoverOpacity": 0.08, 106 | "selected": "rgba(0, 0, 0, 0.14)", 107 | "disabled": "rgba(0, 0, 0, 0.26)", 108 | "disabledBackground": "rgba(0, 0, 0, 0.12)" 109 | } 110 | }, 111 | "props": {}, 112 | "shadows": [ 113 | "none", 114 | "0px 1px 3px 0px rgba(0, 0, 0, 0.2),0px 1px 1px 0px rgba(0, 0, 0, 0.14),0px 2px 1px -1px rgba(0, 0, 0, 0.12)", 115 | "0px 1px 5px 0px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 3px 1px -2px rgba(0, 0, 0, 0.12)", 116 | "0px 1px 8px 0px rgba(0, 0, 0, 0.2),0px 3px 4px 0px rgba(0, 0, 0, 0.14),0px 3px 3px -2px rgba(0, 0, 0, 0.12)", 117 | "0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0, 0, 0, 0.12)", 118 | "0px 3px 5px -1px rgba(0, 0, 0, 0.2),0px 5px 8px 0px rgba(0, 0, 0, 0.14),0px 1px 14px 0px rgba(0, 0, 0, 0.12)", 119 | "0px 3px 5px -1px rgba(0, 0, 0, 0.2),0px 6px 10px 0px rgba(0, 0, 0, 0.14),0px 1px 18px 0px rgba(0, 0, 0, 0.12)", 120 | "0px 4px 5px -2px rgba(0, 0, 0, 0.2),0px 7px 10px 1px rgba(0, 0, 0, 0.14),0px 2px 16px 1px rgba(0, 0, 0, 0.12)", 121 | "0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0, 0, 0, 0.12)", 122 | "0px 5px 6px -3px rgba(0, 0, 0, 0.2),0px 9px 12px 1px rgba(0, 0, 0, 0.14),0px 3px 16px 2px rgba(0, 0, 0, 0.12)", 123 | "0px 6px 6px -3px rgba(0, 0, 0, 0.2),0px 10px 14px 1px rgba(0, 0, 0, 0.14),0px 4px 18px 3px rgba(0, 0, 0, 0.12)", 124 | "0px 6px 7px -4px rgba(0, 0, 0, 0.2),0px 11px 15px 1px rgba(0, 0, 0, 0.14),0px 4px 20px 3px rgba(0, 0, 0, 0.12)", 125 | "0px 7px 8px -4px rgba(0, 0, 0, 0.2),0px 12px 17px 2px rgba(0, 0, 0, 0.14),0px 5px 22px 4px rgba(0, 0, 0, 0.12)", 126 | "0px 7px 8px -4px rgba(0, 0, 0, 0.2),0px 13px 19px 2px rgba(0, 0, 0, 0.14),0px 5px 24px 4px rgba(0, 0, 0, 0.12)", 127 | "0px 7px 9px -4px rgba(0, 0, 0, 0.2),0px 14px 21px 2px rgba(0, 0, 0, 0.14),0px 5px 26px 4px rgba(0, 0, 0, 0.12)", 128 | "0px 8px 9px -5px rgba(0, 0, 0, 0.2),0px 15px 22px 2px rgba(0, 0, 0, 0.14),0px 6px 28px 5px rgba(0, 0, 0, 0.12)", 129 | "0px 8px 10px -5px rgba(0, 0, 0, 0.2),0px 16px 24px 2px rgba(0, 0, 0, 0.14),0px 6px 30px 5px rgba(0, 0, 0, 0.12)", 130 | "0px 8px 11px -5px rgba(0, 0, 0, 0.2),0px 17px 26px 2px rgba(0, 0, 0, 0.14),0px 6px 32px 5px rgba(0, 0, 0, 0.12)", 131 | "0px 9px 11px -5px rgba(0, 0, 0, 0.2),0px 18px 28px 2px rgba(0, 0, 0, 0.14),0px 7px 34px 6px rgba(0, 0, 0, 0.12)", 132 | "0px 9px 12px -6px rgba(0, 0, 0, 0.2),0px 19px 29px 2px rgba(0, 0, 0, 0.14),0px 7px 36px 6px rgba(0, 0, 0, 0.12)", 133 | "0px 10px 13px -6px rgba(0, 0, 0, 0.2),0px 20px 31px 3px rgba(0, 0, 0, 0.14),0px 8px 38px 7px rgba(0, 0, 0, 0.12)", 134 | "0px 10px 13px -6px rgba(0, 0, 0, 0.2),0px 21px 33px 3px rgba(0, 0, 0, 0.14),0px 8px 40px 7px rgba(0, 0, 0, 0.12)", 135 | "0px 10px 14px -6px rgba(0, 0, 0, 0.2),0px 22px 35px 3px rgba(0, 0, 0, 0.14),0px 8px 42px 7px rgba(0, 0, 0, 0.12)", 136 | "0px 11px 14px -7px rgba(0, 0, 0, 0.2),0px 23px 36px 3px rgba(0, 0, 0, 0.14),0px 9px 44px 8px rgba(0, 0, 0, 0.12)", 137 | "0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0, 0, 0, 0.12)" 138 | ], 139 | "typography": { 140 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 141 | "fontSize": 14, 142 | "fontWeightLight": 300, 143 | "fontWeightRegular": 400, 144 | "fontWeightMedium": 500, 145 | "display4": { 146 | "fontSize": "7rem", 147 | "fontWeight": 300, 148 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 149 | "letterSpacing": "-.04em", 150 | "lineHeight": "1.14286em", 151 | "marginLeft": "-.04em", 152 | "color": "rgba(0, 0, 0, 0.54)" 153 | }, 154 | "display3": { 155 | "fontSize": "3.5rem", 156 | "fontWeight": 400, 157 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 158 | "letterSpacing": "-.02em", 159 | "lineHeight": "1.30357em", 160 | "marginLeft": "-.02em", 161 | "color": "rgba(0, 0, 0, 0.54)" 162 | }, 163 | "display2": { 164 | "fontSize": "2.8125rem", 165 | "fontWeight": 400, 166 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 167 | "lineHeight": "1.06667em", 168 | "marginLeft": "-.02em", 169 | "color": "rgba(0, 0, 0, 0.54)" 170 | }, 171 | "display1": { 172 | "fontSize": "2.125rem", 173 | "fontWeight": 400, 174 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 175 | "lineHeight": "1.20588em", 176 | "color": "rgba(0, 0, 0, 0.54)" 177 | }, 178 | "headline": { 179 | "fontSize": "1.5rem", 180 | "fontWeight": 400, 181 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 182 | "lineHeight": "1.35417em", 183 | "color": "rgba(0, 0, 0, 0.87)" 184 | }, 185 | "title": { 186 | "fontSize": "1.3125rem", 187 | "fontWeight": 500, 188 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 189 | "lineHeight": "1.16667em", 190 | "color": "rgba(0, 0, 0, 0.87)" 191 | }, 192 | "subheading": { 193 | "fontSize": "1rem", 194 | "fontWeight": 400, 195 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 196 | "lineHeight": "1.5em", 197 | "color": "rgba(0, 0, 0, 0.87)" 198 | }, 199 | "body2": { 200 | "fontSize": "0.875rem", 201 | "fontWeight": 500, 202 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 203 | "lineHeight": "1.71429em", 204 | "color": "rgba(0, 0, 0, 0.87)" 205 | }, 206 | "body1": { 207 | "fontSize": "0.875rem", 208 | "fontWeight": 400, 209 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 210 | "lineHeight": "1.46429em", 211 | "color": "rgba(0, 0, 0, 0.87)" 212 | }, 213 | "caption": { 214 | "fontSize": "0.75rem", 215 | "fontWeight": 400, 216 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 217 | "lineHeight": "1.375em", 218 | "color": "rgba(0, 0, 0, 0.54)" 219 | }, 220 | "button": { 221 | "fontSize": "0.875rem", 222 | "textTransform": "uppercase", 223 | "fontWeight": 500, 224 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 225 | "color": "rgba(0, 0, 0, 0.87)" 226 | } 227 | }, 228 | "transitions": { 229 | "easing": { 230 | "easeInOut": "cubic-bezier(0.4, 0, 0.2, 1)", 231 | "easeOut": "cubic-bezier(0.0, 0, 0.2, 1)", 232 | "easeIn": "cubic-bezier(0.4, 0, 1, 1)", 233 | "sharp": "cubic-bezier(0.4, 0, 0.6, 1)" 234 | }, 235 | "duration": { 236 | "shortest": 150, 237 | "shorter": 200, 238 | "short": 250, 239 | "standard": 300, 240 | "complex": 375, 241 | "enteringScreen": 225, 242 | "leavingScreen": 195 243 | } 244 | }, 245 | "spacing": { 246 | "unit": 8 247 | }, 248 | "zIndex": { 249 | "mobileStepper": 1000, 250 | "appBar": 1100, 251 | "drawer": 1200, 252 | "modal": 1300, 253 | "snackbar": 1400, 254 | "tooltip": 1500 255 | } 256 | } -------------------------------------------------------------------------------- /src/themes/theme1.json: -------------------------------------------------------------------------------- 1 | { 2 | "breakpoints": { 3 | "keys": [ 4 | "xs", 5 | "sm", 6 | "md", 7 | "lg", 8 | "xl" 9 | ], 10 | "values": { 11 | "xs": 0, 12 | "sm": 600, 13 | "md": 960, 14 | "lg": 1280, 15 | "xl": 1920 16 | } 17 | }, 18 | "direction": "ltr", 19 | "mixins": { 20 | "toolbar": { 21 | "minHeight": 56, 22 | "@media (min-width:0px) and (orientation: landscape)": { 23 | "minHeight": 48 24 | }, 25 | "@media (min-width:600px)": { 26 | "minHeight": 64 27 | } 28 | } 29 | }, 30 | "overrides": {}, 31 | "palette": { 32 | "common": { 33 | "black": "#000", 34 | "white": "#fff" 35 | }, 36 | "type": "light", 37 | "primary": { 38 | "light": "#92f0a0", 39 | "main": "#27d640", 40 | "dark": "#038516", 41 | "contrastText": "#fff" 42 | }, 43 | "secondary": { 44 | "light": "#FAFAFA", 45 | "main": "#f50057", 46 | "dark": "#FAFAFA", 47 | "contrastText": "#fff" 48 | }, 49 | "error": { 50 | "light": "#e57373", 51 | "main": "purple", 52 | "dark": "#d32f2f", 53 | "contrastText": "#fff" 54 | }, 55 | "warning": { 56 | "main": "#ff9800", 57 | "light": "#ffb74d", 58 | "dark": "#f57c00", 59 | "contrastText": "rgba(0, 0, 0, 0.87)" 60 | }, 61 | "info": { 62 | "main": "#2196f3", 63 | "light": "#64b5f6", 64 | "dark": "#1976d2", 65 | "contrastText": "#fff" 66 | }, 67 | "success": { 68 | "main": "red", 69 | "light": "#81c784", 70 | "dark": "#388e3c", 71 | "contrastText": "rgba(0, 0, 0, 0.87)" 72 | }, 73 | "grey": { 74 | "50": "#fafafa", 75 | "100": "#f5f5f5", 76 | "200": "#eeeeee", 77 | "300": "#e0e0e0", 78 | "400": "#bdbdbd", 79 | "500": "#9e9e9e", 80 | "600": "#757575", 81 | "700": "#616161", 82 | "800": "#424242", 83 | "900": "#212121", 84 | "A100": "#d5d5d5", 85 | "A200": "#aaaaaa", 86 | "A400": "#303030", 87 | "A700": "#616161" 88 | }, 89 | "contrastThreshold": 3, 90 | "tonalOffset": 0.2, 91 | "text": { 92 | "primary": "rgba(0, 0, 0, 0.87)", 93 | "secondary": "rgba(0, 0, 0, 0.54)", 94 | "disabled": "rgba(0, 0, 0, 0.38)", 95 | "hint": "rgba(0, 0, 0, 0.38)" 96 | }, 97 | "divider": "rgba(0, 0, 0, 0.12)", 98 | "background": { 99 | "paper": "#fff", 100 | "default": "#fafafa" 101 | }, 102 | "action": { 103 | "active": "rgba(0, 0, 0, 0.54)", 104 | "hover": "rgba(0, 0, 0, 0.08)", 105 | "hoverOpacity": 0.08, 106 | "selected": "rgba(0, 0, 0, 0.14)", 107 | "disabled": "rgba(0, 0, 0, 0.26)", 108 | "disabledBackground": "rgba(0, 0, 0, 0.12)" 109 | } 110 | }, 111 | "props": {}, 112 | "shadows": [ 113 | "none", 114 | "0px 1px 3px 0px rgba(0, 0, 0, 0.2),0px 1px 1px 0px rgba(0, 0, 0, 0.14),0px 2px 1px -1px rgba(0, 0, 0, 0.12)", 115 | "0px 1px 5px 0px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 3px 1px -2px rgba(0, 0, 0, 0.12)", 116 | "0px 1px 8px 0px rgba(0, 0, 0, 0.2),0px 3px 4px 0px rgba(0, 0, 0, 0.14),0px 3px 3px -2px rgba(0, 0, 0, 0.12)", 117 | "0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0, 0, 0, 0.12)", 118 | "0px 3px 5px -1px rgba(0, 0, 0, 0.2),0px 5px 8px 0px rgba(0, 0, 0, 0.14),0px 1px 14px 0px rgba(0, 0, 0, 0.12)", 119 | "0px 3px 5px -1px rgba(0, 0, 0, 0.2),0px 6px 10px 0px rgba(0, 0, 0, 0.14),0px 1px 18px 0px rgba(0, 0, 0, 0.12)", 120 | "0px 4px 5px -2px rgba(0, 0, 0, 0.2),0px 7px 10px 1px rgba(0, 0, 0, 0.14),0px 2px 16px 1px rgba(0, 0, 0, 0.12)", 121 | "0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0, 0, 0, 0.12)", 122 | "0px 5px 6px -3px rgba(0, 0, 0, 0.2),0px 9px 12px 1px rgba(0, 0, 0, 0.14),0px 3px 16px 2px rgba(0, 0, 0, 0.12)", 123 | "0px 6px 6px -3px rgba(0, 0, 0, 0.2),0px 10px 14px 1px rgba(0, 0, 0, 0.14),0px 4px 18px 3px rgba(0, 0, 0, 0.12)", 124 | "0px 6px 7px -4px rgba(0, 0, 0, 0.2),0px 11px 15px 1px rgba(0, 0, 0, 0.14),0px 4px 20px 3px rgba(0, 0, 0, 0.12)", 125 | "0px 7px 8px -4px rgba(0, 0, 0, 0.2),0px 12px 17px 2px rgba(0, 0, 0, 0.14),0px 5px 22px 4px rgba(0, 0, 0, 0.12)", 126 | "0px 7px 8px -4px rgba(0, 0, 0, 0.2),0px 13px 19px 2px rgba(0, 0, 0, 0.14),0px 5px 24px 4px rgba(0, 0, 0, 0.12)", 127 | "0px 7px 9px -4px rgba(0, 0, 0, 0.2),0px 14px 21px 2px rgba(0, 0, 0, 0.14),0px 5px 26px 4px rgba(0, 0, 0, 0.12)", 128 | "0px 8px 9px -5px rgba(0, 0, 0, 0.2),0px 15px 22px 2px rgba(0, 0, 0, 0.14),0px 6px 28px 5px rgba(0, 0, 0, 0.12)", 129 | "0px 8px 10px -5px rgba(0, 0, 0, 0.2),0px 16px 24px 2px rgba(0, 0, 0, 0.14),0px 6px 30px 5px rgba(0, 0, 0, 0.12)", 130 | "0px 8px 11px -5px rgba(0, 0, 0, 0.2),0px 17px 26px 2px rgba(0, 0, 0, 0.14),0px 6px 32px 5px rgba(0, 0, 0, 0.12)", 131 | "0px 9px 11px -5px rgba(0, 0, 0, 0.2),0px 18px 28px 2px rgba(0, 0, 0, 0.14),0px 7px 34px 6px rgba(0, 0, 0, 0.12)", 132 | "0px 9px 12px -6px rgba(0, 0, 0, 0.2),0px 19px 29px 2px rgba(0, 0, 0, 0.14),0px 7px 36px 6px rgba(0, 0, 0, 0.12)", 133 | "0px 10px 13px -6px rgba(0, 0, 0, 0.2),0px 20px 31px 3px rgba(0, 0, 0, 0.14),0px 8px 38px 7px rgba(0, 0, 0, 0.12)", 134 | "0px 10px 13px -6px rgba(0, 0, 0, 0.2),0px 21px 33px 3px rgba(0, 0, 0, 0.14),0px 8px 40px 7px rgba(0, 0, 0, 0.12)", 135 | "0px 10px 14px -6px rgba(0, 0, 0, 0.2),0px 22px 35px 3px rgba(0, 0, 0, 0.14),0px 8px 42px 7px rgba(0, 0, 0, 0.12)", 136 | "0px 11px 14px -7px rgba(0, 0, 0, 0.2),0px 23px 36px 3px rgba(0, 0, 0, 0.14),0px 9px 44px 8px rgba(0, 0, 0, 0.12)", 137 | "0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0, 0, 0, 0.12)" 138 | ], 139 | "typography": { 140 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 141 | "fontSize": 14, 142 | "fontWeightLight": 300, 143 | "fontWeightRegular": 400, 144 | "fontWeightMedium": 500, 145 | "display4": { 146 | "fontSize": "7rem", 147 | "fontWeight": 300, 148 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 149 | "letterSpacing": "-.04em", 150 | "lineHeight": "1.14286em", 151 | "marginLeft": "-.04em", 152 | "color": "rgba(0, 0, 0, 0.54)" 153 | }, 154 | "display3": { 155 | "fontSize": "3.5rem", 156 | "fontWeight": 400, 157 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 158 | "letterSpacing": "-.02em", 159 | "lineHeight": "1.30357em", 160 | "marginLeft": "-.02em", 161 | "color": "rgba(0, 0, 0, 0.54)" 162 | }, 163 | "display2": { 164 | "fontSize": "2.8125rem", 165 | "fontWeight": 400, 166 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 167 | "lineHeight": "1.06667em", 168 | "marginLeft": "-.02em", 169 | "color": "rgba(0, 0, 0, 0.54)" 170 | }, 171 | "display1": { 172 | "fontSize": "2.125rem", 173 | "fontWeight": 400, 174 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 175 | "lineHeight": "1.20588em", 176 | "color": "rgba(0, 0, 0, 0.54)" 177 | }, 178 | "headline": { 179 | "fontSize": "1.5rem", 180 | "fontWeight": 400, 181 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 182 | "lineHeight": "1.35417em", 183 | "color": "rgba(0, 0, 0, 0.87)" 184 | }, 185 | "title": { 186 | "fontSize": "1.3125rem", 187 | "fontWeight": 500, 188 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 189 | "lineHeight": "1.16667em", 190 | "color": "rgba(0, 0, 0, 0.87)" 191 | }, 192 | "subheading": { 193 | "fontSize": "1rem", 194 | "fontWeight": 400, 195 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 196 | "lineHeight": "1.5em", 197 | "color": "rgba(0, 0, 0, 0.87)" 198 | }, 199 | "body2": { 200 | "fontSize": "0.875rem", 201 | "fontWeight": 500, 202 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 203 | "lineHeight": "1.71429em", 204 | "color": "rgba(0, 0, 0, 0.87)" 205 | }, 206 | "body1": { 207 | "fontSize": "0.875rem", 208 | "fontWeight": 400, 209 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 210 | "lineHeight": "1.46429em", 211 | "color": "rgba(0, 0, 0, 0.87)" 212 | }, 213 | "caption": { 214 | "fontSize": "0.75rem", 215 | "fontWeight": 400, 216 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 217 | "lineHeight": "1.375em", 218 | "color": "rgba(0, 0, 0, 0.54)" 219 | }, 220 | "button": { 221 | "fontSize": "0.875rem", 222 | "textTransform": "uppercase", 223 | "fontWeight": 500, 224 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 225 | "color": "rgba(0, 0, 0, 0.87)" 226 | } 227 | }, 228 | "transitions": { 229 | "easing": { 230 | "easeInOut": "cubic-bezier(0.4, 0, 0.2, 1)", 231 | "easeOut": "cubic-bezier(0.0, 0, 0.2, 1)", 232 | "easeIn": "cubic-bezier(0.4, 0, 1, 1)", 233 | "sharp": "cubic-bezier(0.4, 0, 0.6, 1)" 234 | }, 235 | "duration": { 236 | "shortest": 150, 237 | "shorter": 200, 238 | "short": 250, 239 | "standard": 300, 240 | "complex": 375, 241 | "enteringScreen": 225, 242 | "leavingScreen": 195 243 | } 244 | }, 245 | "spacing": { 246 | "unit": 8 247 | }, 248 | "zIndex": { 249 | "mobileStepper": 1000, 250 | "appBar": 1100, 251 | "drawer": 1200, 252 | "modal": 1300, 253 | "snackbar": 1400, 254 | "tooltip": 1500 255 | } 256 | } -------------------------------------------------------------------------------- /src/themes/theme2.json: -------------------------------------------------------------------------------- 1 | { 2 | "breakpoints": { 3 | "keys": [ 4 | "xs", 5 | "sm", 6 | "md", 7 | "lg", 8 | "xl" 9 | ], 10 | "values": { 11 | "xs": 0, 12 | "sm": 600, 13 | "md": 960, 14 | "lg": 1280, 15 | "xl": 1920 16 | } 17 | }, 18 | "direction": "ltr", 19 | "mixins": { 20 | "toolbar": { 21 | "minHeight": 56, 22 | "@media (min-width:0px) and (orientation: landscape)": { 23 | "minHeight": 48 24 | }, 25 | "@media (min-width:600px)": { 26 | "minHeight": 64 27 | } 28 | } 29 | }, 30 | "overrides": {}, 31 | "palette": { 32 | "common": { 33 | "black": "#000", 34 | "white": "#fff" 35 | }, 36 | "type": "light", 37 | "primary": { 38 | "light": "#f8fc03", 39 | "main": "#fcdf03", 40 | "dark": "#857503", 41 | "contrastText": "#fff" 42 | }, 43 | "secondary": { 44 | "light": "#ff4081", 45 | "main": "#ff4081", 46 | "dark": "#c51162", 47 | "contrastText": "#fff" 48 | }, 49 | "error": { 50 | "light": "#e57373", 51 | "main": "#f44336", 52 | "dark": "#d32f2f", 53 | "contrastText": "#fff" 54 | }, 55 | "warning": { 56 | "main": "#ff9800", 57 | "light": "#ffb74d", 58 | "dark": "#f57c00", 59 | "contrastText": "rgba(0, 0, 0, 0.87)" 60 | }, 61 | "info": { 62 | "main": "#2196f3", 63 | "light": "#64b5f6", 64 | "dark": "#1976d2", 65 | "contrastText": "#fff" 66 | }, 67 | "success": { 68 | "main": "#4caf50", 69 | "light": "#81c784", 70 | "dark": "#388e3c", 71 | "contrastText": "rgba(0, 0, 0, 0.87)" 72 | }, 73 | "grey": { 74 | "50": "#fafafa", 75 | "100": "#f5f5f5", 76 | "200": "#eeeeee", 77 | "300": "#e0e0e0", 78 | "400": "#bdbdbd", 79 | "500": "#9e9e9e", 80 | "600": "#757575", 81 | "700": "#616161", 82 | "800": "#424242", 83 | "900": "#212121", 84 | "A100": "#d5d5d5", 85 | "A200": "#aaaaaa", 86 | "A400": "#303030", 87 | "A700": "#616161" 88 | }, 89 | "contrastThreshold": 3, 90 | "tonalOffset": 0.2, 91 | "text": { 92 | "primary": "rgba(0, 0, 0, 0.87)", 93 | "secondary": "rgba(0, 0, 0, 0.54)", 94 | "disabled": "rgba(0, 0, 0, 0.38)", 95 | "hint": "rgba(0, 0, 0, 0.38)" 96 | }, 97 | "divider": "rgba(0, 0, 0, 0.12)", 98 | "background": { 99 | "paper": "#fff", 100 | "default": "#fafafa" 101 | }, 102 | "action": { 103 | "active": "rgba(0, 0, 0, 0.54)", 104 | "hover": "rgba(0, 0, 0, 0.08)", 105 | "hoverOpacity": 0.08, 106 | "selected": "rgba(0, 0, 0, 0.14)", 107 | "disabled": "rgba(0, 0, 0, 0.26)", 108 | "disabledBackground": "rgba(0, 0, 0, 0.12)" 109 | } 110 | }, 111 | "props": {}, 112 | "shadows": [ 113 | "none", 114 | "0px 1px 3px 0px rgba(0, 0, 0, 0.2),0px 1px 1px 0px rgba(0, 0, 0, 0.14),0px 2px 1px -1px rgba(0, 0, 0, 0.12)", 115 | "0px 1px 5px 0px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 3px 1px -2px rgba(0, 0, 0, 0.12)", 116 | "0px 1px 8px 0px rgba(0, 0, 0, 0.2),0px 3px 4px 0px rgba(0, 0, 0, 0.14),0px 3px 3px -2px rgba(0, 0, 0, 0.12)", 117 | "0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0, 0, 0, 0.12)", 118 | "0px 3px 5px -1px rgba(0, 0, 0, 0.2),0px 5px 8px 0px rgba(0, 0, 0, 0.14),0px 1px 14px 0px rgba(0, 0, 0, 0.12)", 119 | "0px 3px 5px -1px rgba(0, 0, 0, 0.2),0px 6px 10px 0px rgba(0, 0, 0, 0.14),0px 1px 18px 0px rgba(0, 0, 0, 0.12)", 120 | "0px 4px 5px -2px rgba(0, 0, 0, 0.2),0px 7px 10px 1px rgba(0, 0, 0, 0.14),0px 2px 16px 1px rgba(0, 0, 0, 0.12)", 121 | "0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0, 0, 0, 0.12)", 122 | "0px 5px 6px -3px rgba(0, 0, 0, 0.2),0px 9px 12px 1px rgba(0, 0, 0, 0.14),0px 3px 16px 2px rgba(0, 0, 0, 0.12)", 123 | "0px 6px 6px -3px rgba(0, 0, 0, 0.2),0px 10px 14px 1px rgba(0, 0, 0, 0.14),0px 4px 18px 3px rgba(0, 0, 0, 0.12)", 124 | "0px 6px 7px -4px rgba(0, 0, 0, 0.2),0px 11px 15px 1px rgba(0, 0, 0, 0.14),0px 4px 20px 3px rgba(0, 0, 0, 0.12)", 125 | "0px 7px 8px -4px rgba(0, 0, 0, 0.2),0px 12px 17px 2px rgba(0, 0, 0, 0.14),0px 5px 22px 4px rgba(0, 0, 0, 0.12)", 126 | "0px 7px 8px -4px rgba(0, 0, 0, 0.2),0px 13px 19px 2px rgba(0, 0, 0, 0.14),0px 5px 24px 4px rgba(0, 0, 0, 0.12)", 127 | "0px 7px 9px -4px rgba(0, 0, 0, 0.2),0px 14px 21px 2px rgba(0, 0, 0, 0.14),0px 5px 26px 4px rgba(0, 0, 0, 0.12)", 128 | "0px 8px 9px -5px rgba(0, 0, 0, 0.2),0px 15px 22px 2px rgba(0, 0, 0, 0.14),0px 6px 28px 5px rgba(0, 0, 0, 0.12)", 129 | "0px 8px 10px -5px rgba(0, 0, 0, 0.2),0px 16px 24px 2px rgba(0, 0, 0, 0.14),0px 6px 30px 5px rgba(0, 0, 0, 0.12)", 130 | "0px 8px 11px -5px rgba(0, 0, 0, 0.2),0px 17px 26px 2px rgba(0, 0, 0, 0.14),0px 6px 32px 5px rgba(0, 0, 0, 0.12)", 131 | "0px 9px 11px -5px rgba(0, 0, 0, 0.2),0px 18px 28px 2px rgba(0, 0, 0, 0.14),0px 7px 34px 6px rgba(0, 0, 0, 0.12)", 132 | "0px 9px 12px -6px rgba(0, 0, 0, 0.2),0px 19px 29px 2px rgba(0, 0, 0, 0.14),0px 7px 36px 6px rgba(0, 0, 0, 0.12)", 133 | "0px 10px 13px -6px rgba(0, 0, 0, 0.2),0px 20px 31px 3px rgba(0, 0, 0, 0.14),0px 8px 38px 7px rgba(0, 0, 0, 0.12)", 134 | "0px 10px 13px -6px rgba(0, 0, 0, 0.2),0px 21px 33px 3px rgba(0, 0, 0, 0.14),0px 8px 40px 7px rgba(0, 0, 0, 0.12)", 135 | "0px 10px 14px -6px rgba(0, 0, 0, 0.2),0px 22px 35px 3px rgba(0, 0, 0, 0.14),0px 8px 42px 7px rgba(0, 0, 0, 0.12)", 136 | "0px 11px 14px -7px rgba(0, 0, 0, 0.2),0px 23px 36px 3px rgba(0, 0, 0, 0.14),0px 9px 44px 8px rgba(0, 0, 0, 0.12)", 137 | "0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0, 0, 0, 0.12)" 138 | ], 139 | "typography": { 140 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 141 | "fontSize": 14, 142 | "fontWeightLight": 300, 143 | "fontWeightRegular": 400, 144 | "fontWeightMedium": 500, 145 | "display4": { 146 | "fontSize": "7rem", 147 | "fontWeight": 300, 148 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 149 | "letterSpacing": "-.04em", 150 | "lineHeight": "1.14286em", 151 | "marginLeft": "-.04em", 152 | "color": "rgba(0, 0, 0, 0.54)" 153 | }, 154 | "display3": { 155 | "fontSize": "3.5rem", 156 | "fontWeight": 400, 157 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 158 | "letterSpacing": "-.02em", 159 | "lineHeight": "1.30357em", 160 | "marginLeft": "-.02em", 161 | "color": "rgba(0, 0, 0, 0.54)" 162 | }, 163 | "display2": { 164 | "fontSize": "2.8125rem", 165 | "fontWeight": 400, 166 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 167 | "lineHeight": "1.06667em", 168 | "marginLeft": "-.02em", 169 | "color": "rgba(0, 0, 0, 0.54)" 170 | }, 171 | "display1": { 172 | "fontSize": "2.125rem", 173 | "fontWeight": 400, 174 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 175 | "lineHeight": "1.20588em", 176 | "color": "rgba(0, 0, 0, 0.54)" 177 | }, 178 | "headline": { 179 | "fontSize": "1.5rem", 180 | "fontWeight": 400, 181 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 182 | "lineHeight": "1.35417em", 183 | "color": "rgba(0, 0, 0, 0.87)" 184 | }, 185 | "title": { 186 | "fontSize": "1.3125rem", 187 | "fontWeight": 500, 188 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 189 | "lineHeight": "1.16667em", 190 | "color": "rgba(0, 0, 0, 0.87)" 191 | }, 192 | "subheading": { 193 | "fontSize": "1rem", 194 | "fontWeight": 400, 195 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 196 | "lineHeight": "1.5em", 197 | "color": "rgba(0, 0, 0, 0.87)" 198 | }, 199 | "body2": { 200 | "fontSize": "0.875rem", 201 | "fontWeight": 500, 202 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 203 | "lineHeight": "1.71429em", 204 | "color": "rgba(0, 0, 0, 0.87)" 205 | }, 206 | "body1": { 207 | "fontSize": "0.875rem", 208 | "fontWeight": 400, 209 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 210 | "lineHeight": "1.46429em", 211 | "color": "rgba(0, 0, 0, 0.87)" 212 | }, 213 | "caption": { 214 | "fontSize": "0.75rem", 215 | "fontWeight": 400, 216 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 217 | "lineHeight": "1.375em", 218 | "color": "rgba(0, 0, 0, 0.54)" 219 | }, 220 | "button": { 221 | "fontSize": "0.875rem", 222 | "textTransform": "uppercase", 223 | "fontWeight": 500, 224 | "fontFamily": "\"Roboto\", \"Helvetica\", \"Arial\", sans-serif", 225 | "color": "rgba(0, 0, 0, 0.87)" 226 | } 227 | }, 228 | "transitions": { 229 | "easing": { 230 | "easeInOut": "cubic-bezier(0.4, 0, 0.2, 1)", 231 | "easeOut": "cubic-bezier(0.0, 0, 0.2, 1)", 232 | "easeIn": "cubic-bezier(0.4, 0, 1, 1)", 233 | "sharp": "cubic-bezier(0.4, 0, 0.6, 1)" 234 | }, 235 | "duration": { 236 | "shortest": 150, 237 | "shorter": 200, 238 | "short": 250, 239 | "standard": 300, 240 | "complex": 375, 241 | "enteringScreen": 225, 242 | "leavingScreen": 195 243 | } 244 | }, 245 | "spacing": { 246 | "unit": 8 247 | }, 248 | "zIndex": { 249 | "mobileStepper": 1000, 250 | "appBar": 1100, 251 | "drawer": 1200, 252 | "modal": 1300, 253 | "snackbar": 1400, 254 | "tooltip": 1500 255 | } 256 | } -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. 4 | 5 | ### [0.0.22](https://github.com/wrappid/wrappid-app/compare/v0.0.20...v0.0.22) (2025-03-15) 6 | 7 | 8 | ### Features 9 | 10 | * **config:** :pushpin: set wrappid packages to latest ([6203540](https://github.com/wrappid/wrappid-app/commit/6203540ddc1cc7c422294057669334bdc5fe40f9)), closes [#141](https://github.com/wrappid/wrappid-app/issues/141) 11 | 12 | ### [0.0.21](https://github.com/wrappid/wrappid-app/compare/v0.0.20...v0.0.21) (2025-03-15) 13 | 14 | 15 | ### Features 16 | 17 | * **config:** :pushpin: set wrappid packages to latest ([5878c8d](https://github.com/wrappid/wrappid-app/commit/5878c8d6cfe9beb407b10f270bc723e420ff130d)), closes [#141](https://github.com/wrappid/wrappid-app/issues/141) 18 | 19 | ### [0.0.20](https://github.com/wrappid/wrappid-app/compare/v0.0.19...v0.0.20) (2025-03-05) 20 | 21 | 22 | ### Features 23 | 24 | * **config:** :wrench: support for application type identifier ([c93a4a8](https://github.com/wrappid/wrappid-app/commit/c93a4a806520ce4a18af7b51a767f59c61a8653a)), closes [#139](https://github.com/wrappid/wrappid-app/issues/139) 25 | 26 | 27 | ### Bug Fixes 28 | 29 | * **config:** :wrench: enabled icons for mobile ([4648efd](https://github.com/wrappid/wrappid-app/commit/4648efd69964b24564b7eb870d9b317d47fc04e7)), closes [#139](https://github.com/wrappid/wrappid-app/issues/139) 30 | * **config:** 🔧 package.json and package-lock.json ([917b03a](https://github.com/wrappid/wrappid-app/commit/917b03a4a5cfce32ec4893cc9d8d88bf7f1feda2)), closes [#139](https://github.com/wrappid/wrappid-app/issues/139) 31 | 32 | ### [0.0.19](https://github.com/wrappid/wrappid-app/compare/v0.0.18...v0.0.19) (2024-10-03) 33 | 34 | 35 | ### Features 36 | 37 | * **core:** :wrench: add social login configuration template to wrappid config file ([d36ea31](https://github.com/wrappid/wrappid-app/commit/d36ea31ab6bb1f39e93dc4682c014892ecd20f6d)), closes [#137](https://github.com/wrappid/wrappid-app/issues/137) 38 | 39 | 40 | ### Bug Fixes 41 | 42 | * **global:** :bug: fix defaultAppRoute ([a95c3c2](https://github.com/wrappid/wrappid-app/commit/a95c3c26a979535cb3669036341d05daa9431770)), closes [#137](https://github.com/wrappid/wrappid-app/issues/137) 43 | 44 | ### [0.0.18](https://github.com/wrappid/wrappid-app/compare/v0.0.17...v0.0.18) (2024-08-24) 45 | 46 | 47 | ### Features 48 | 49 | * **core:** :sparkles: add sample build.gradle file for android ([2e48c52](https://github.com/wrappid/wrappid-app/commit/2e48c52fe742c140b92093cfe509b2f0b3aec2cf)), closes [#135](https://github.com/wrappid/wrappid-app/issues/135) 50 | 51 | ### [0.0.17](https://github.com/wrappid/wrappid-app/compare/v0.0.16...v0.0.17) (2024-08-24) 52 | 53 | 54 | ### Bug Fixes 55 | 56 | * **core:** :bug: static page alignment related fix ([b567886](https://github.com/wrappid/wrappid-app/commit/b56788642f141940a37aa4749d74fd33f3ec2792)), closes [#113](https://github.com/wrappid/wrappid-app/issues/113) 57 | * **core:** :bug: static page design related change ([e1b882d](https://github.com/wrappid/wrappid-app/commit/e1b882db6b1c013bc97c2fae358bdf8afefa2361)), closes [#113](https://github.com/wrappid/wrappid-app/issues/113) 58 | 59 | ### [0.0.16](https://github.com/wrappid/wrappid-app/compare/v0.0.15...v0.0.16) (2024-07-16) 60 | 61 | 62 | ### Bug Fixes 63 | 64 | * **global:** :bug: the nav bar is overlapping with the body section has been fixed ([0ff2eea](https://github.com/wrappid/wrappid-app/commit/0ff2eea133bea757d36a6269b6104588a901d310)), closes [#129](https://github.com/wrappid/wrappid-app/issues/129) 65 | 66 | ### [0.0.15](https://github.com/wrappid/wrappid-app/compare/v0.0.14...v0.0.15) (2024-07-12) 67 | 68 | 69 | ### Bug Fixes 70 | 71 | * **config:** :bug: added react-dom package to solve the installation error ([19912b5](https://github.com/wrappid/wrappid-app/commit/19912b5fc8e1f42d6cbafcfc45a4cc7666b30c41)), closes [#126](https://github.com/wrappid/wrappid-app/issues/126) 72 | 73 | ### [0.0.14](https://github.com/wrappid/wrappid-app/compare/v0.0.13...v0.0.14) (2024-07-11) 74 | 75 | ### [0.0.13](https://github.com/wrappid/wrappid-app/compare/v0.0.12...v0.0.13) (2024-06-05) 76 | 77 | 78 | ### Bug Fixes 79 | 80 | * **config:** :bug: auth is undefined ([f98bd34](https://github.com/wrappid/wrappid-app/commit/f98bd34da19e2cc67615669e3f23cc5ef106af7b)), closes [wrappid/wrappid-app#120](https://github.com/wrappid/wrappid-app/issues/120) 81 | * **config:** :pushpin: pin wrappid packages to latest ([e187718](https://github.com/wrappid/wrappid-app/commit/e1877186f94802c6c891301661526130398dabe5)), closes [#122](https://github.com/wrappid/wrappid-app/issues/122) 82 | 83 | ### [0.0.12](https://github.com/wrappid/wrappid-app/compare/v0.0.11...v0.0.12) (2024-05-03) 84 | 85 | 86 | ### Bug Fixes 87 | 88 | * **config:** :ambulance: force create package-lock.json ([bfa346c](https://github.com/wrappid/wrappid-app/commit/bfa346cdb131308bfb507addbe3ac697e5c3aba0)) 89 | * **config:** :arrow_up: set wrappid packages to latest ([68e5854](https://github.com/wrappid/wrappid-app/commit/68e585437092557fa2d1c46e2fd4df9d37bca7b8)) 90 | * **config:** :bug: add .versonrc file to configure CI commit message ([80e83ae](https://github.com/wrappid/wrappid-app/commit/80e83aed8fc875a98ec033a5d10684de0cd23aa4)), closes [#117](https://github.com/wrappid/wrappid-app/issues/117) 91 | 92 | ### [0.0.11](https://github.com/wrappid/wrappid-app/compare/v0.0.10...v0.0.11) (2024-04-15) 93 | 94 | ### [0.0.10](https://github.com/wrappid/wrappid-app/compare/v0.0.9...v0.0.10) (2024-04-15) 95 | 96 | ### [0.0.9](https://github.com/wrappid/wrappid-app/compare/v0.0.8...v0.0.9) (2024-04-08) 97 | 98 | 99 | ### Bug Fixes 100 | 101 | * **core:** :art: left menu diabled for WrappidAppLayout ([b45d3d3](https://github.com/wrappid/wrappid-app/commit/b45d3d36e49ae7d087fc674486cc6a3fca4edf0a)), closes [#112](https://github.com/wrappid/wrappid-app/issues/112) 102 | 103 | ### [0.0.8](https://github.com/wrappid/wrappid-app/compare/v0.0.1...v0.0.8) (2024-04-01) 104 | 105 | 106 | ### Features 107 | 108 | * :art: changed designed and code structure of the page ([6c575b0](https://github.com/wrappid/wrappid-app/commit/6c575b0eb944b2497bf6dc418f1ac4b85e80ac02)), closes [#32](https://github.com/wrappid/wrappid-app/issues/32) 109 | * :art: themes and themes registry added ([099ec89](https://github.com/wrappid/wrappid-app/commit/099ec89b3a2aec207296fde22bd178342601d4c3)), closes [#33](https://github.com/wrappid/wrappid-app/issues/33) 110 | * :sparkles: Added buttons to navigate to styles and components pages ([f4efdb0](https://github.com/wrappid/wrappid-app/commit/f4efdb01bcb10593f093f6cca91366740ef18e1d)), closes [#21](https://github.com/wrappid/wrappid-app/issues/21) 111 | * :sparkles: Added wrappid-app version details ([ea6d144](https://github.com/wrappid/wrappid-app/commit/ea6d1441537a13bf923edfe1d2660fa69508ef4b)), closes [#17](https://github.com/wrappid/wrappid-app/issues/17) 112 | * :sparkles: create a about page ([18907a1](https://github.com/wrappid/wrappid-app/commit/18907a1e5d09b800210462748c4b912f88f534c6)), closes [#32](https://github.com/wrappid/wrappid-app/issues/32) 113 | * :sparkles: create about page ([e711a89](https://github.com/wrappid/wrappid-app/commit/e711a8917a177d2380c1f29fa3d843dad31a32f1)), closes [#32](https://github.com/wrappid/wrappid-app/issues/32) 114 | * **config:** :heavy_plus_sign: add @wrappid/native-web, @wrappid/native-mobile ([da96442](https://github.com/wrappid/wrappid-app/commit/da96442c10a7a73ed13c0177a6bd5d6039165bdf)), closes [#94](https://github.com/wrappid/wrappid-app/issues/94) 115 | * **core:** :art: basic layout related page added ([2623c54](https://github.com/wrappid/wrappid-app/commit/2623c54e1a473222c81956323282c1e3b63f909b)), closes [#75](https://github.com/wrappid/wrappid-app/issues/75) 116 | * **core:** :art: themes & section related update ([67eaf84](https://github.com/wrappid/wrappid-app/commit/67eaf84b32c3820be5a7e2a79bc97e25e1745bc1)), closes [#68](https://github.com/wrappid/wrappid-app/issues/68) 117 | * **core:** :construction: version details fetched from related package.json ([1604d33](https://github.com/wrappid/wrappid-app/commit/1604d332eaa1a5107524b9fabffede358630f9c4)), closes [#68](https://github.com/wrappid/wrappid-app/issues/68) 118 | * **core:** :fire: added logo and sections ([6357ece](https://github.com/wrappid/wrappid-app/commit/6357ecebdb9a8d5e487e9fd06a0152cc0834769d)), closes [#113](https://github.com/wrappid/wrappid-app/issues/113) 119 | * **core:** :sparkles: created layout page ([2241197](https://github.com/wrappid/wrappid-app/commit/2241197d94f27030fba2a926f4d50dab07cbb846)), closes [#76](https://github.com/wrappid/wrappid-app/issues/76) 120 | * **core:** :sparkles: project title and description added ([e8e08d1](https://github.com/wrappid/wrappid-app/commit/e8e08d1db9e55599c5ad972943cbb5f2e929d6f7)), closes [#47](https://github.com/wrappid/wrappid-app/issues/47) 121 | * **core:** :sparkles: styling changes ([6f35817](https://github.com/wrappid/wrappid-app/commit/6f35817c83418393b02a3264a41819264f489f5b)), closes [#47](https://github.com/wrappid/wrappid-app/issues/47) 122 | * **core:** :zap: layout manager testing files added ([c86c42c](https://github.com/wrappid/wrappid-app/commit/c86c42c9488ef6d10573fa88ee2b689bc548ddf3)), closes [#76](https://github.com/wrappid/wrappid-app/issues/76) 123 | * **global:** :sparkles: added staticWebPageContent.js and style changes ([ed9b807](https://github.com/wrappid/wrappid-app/commit/ed9b807becc806d54628a32fcc161c2793e63e0c)), closes [#47](https://github.com/wrappid/wrappid-app/issues/47) 124 | * **global:** :sparkles: added styles component and other additional details ([67b032a](https://github.com/wrappid/wrappid-app/commit/67b032a2a722d46539d711cbe907836c49160d1a)), closes [#47](https://github.com/wrappid/wrappid-app/issues/47) 125 | * **global:** :sparkles: header section added ([d71353b](https://github.com/wrappid/wrappid-app/commit/d71353be858f7d4cc0099e74de6eec8a07efc5a3)), closes [#47](https://github.com/wrappid/wrappid-app/issues/47) 126 | * **utils:** :memo: add script to generate attribution ([47cf635](https://github.com/wrappid/wrappid-app/commit/47cf6353dcded9822bbffdc4a79dd7398834a36d)), closes [#105](https://github.com/wrappid/wrappid-app/issues/105) 127 | 128 | 129 | ### Bug Fixes 130 | 131 | * :bug: add condition for undefined values and corect links issue ([2c3f60b](https://github.com/wrappid/wrappid-app/commit/2c3f60b1d7b8133e8ab42e388634663b7409ba46)), closes [#32](https://github.com/wrappid/wrappid-app/issues/32) 132 | * :bug: add conditioned for undefined value and fixed link issue ([d046334](https://github.com/wrappid/wrappid-app/commit/d0463342e51892727bf31950339f9a7ec66994d2)), closes [#32](https://github.com/wrappid/wrappid-app/issues/32) 133 | * :bug: add label on package details ([29ac6be](https://github.com/wrappid/wrappid-app/commit/29ac6be04af3cf02159036042261c334c3e88d0c)), closes [#32](https://github.com/wrappid/wrappid-app/issues/32) 134 | * :bug: add some labels, fix undefined issue ([74421f2](https://github.com/wrappid/wrappid-app/commit/74421f25094079059c83cb9f131b6f7ed0371da4)), closes [#32](https://github.com/wrappid/wrappid-app/issues/32) 135 | * :bug: correct the changes according to the changed requested ([f0e8884](https://github.com/wrappid/wrappid-app/commit/f0e8884986ba071f6aa5336951fc480e886b959d)), closes [#32](https://github.com/wrappid/wrappid-app/issues/32) 136 | * :bug: fix the texts ([e6676ea](https://github.com/wrappid/wrappid-app/commit/e6676ea9a1e133b5dc6cb145d31cd623a5a324a1)), closes [#99](https://github.com/wrappid/wrappid-app/issues/99) 137 | * :bug: fixed links for mobile and web ([adb0da8](https://github.com/wrappid/wrappid-app/commit/adb0da875d8e7c12702c275217c6bc450fa3ab37)), closes [#68](https://github.com/wrappid/wrappid-app/issues/68) 138 | * :bug: fixing StaticWebPage for mobile devices ([506dfcd](https://github.com/wrappid/wrappid-app/commit/506dfcd5eae49675c43ea375882906c60f701d12)), closes [#15](https://github.com/wrappid/wrappid-app/issues/15) 139 | * :bug: remove unused code and comments ([1718cfa](https://github.com/wrappid/wrappid-app/commit/1718cfa09a873d9e789c18150d9ca7edc5e0c9c7)), closes [#43](https://github.com/wrappid/wrappid-app/issues/43) 140 | * :bug: Wrappid logo bug fixed ([a480567](https://github.com/wrappid/wrappid-app/commit/a480567ce0779c8b9cdb393233ffed86c1e81902)), closes [#12](https://github.com/wrappid/wrappid-app/issues/12) 141 | * :fire: remove 'usingSmallUtilityStyles' from styles files ([b9daa62](https://github.com/wrappid/wrappid-app/commit/b9daa6240aa3c2e5b74331d6530bd32b6b900add)), closes [#43](https://github.com/wrappid/wrappid-app/issues/43) 142 | * :fire: remove 'usingSmallUtilityStyles' from styles files ([fa489ba](https://github.com/wrappid/wrappid-app/commit/fa489ba7c28b6ee7c64d5d6ee03df25bfcdd1e7a)), closes [#43](https://github.com/wrappid/wrappid-app/issues/43) 143 | * :fire: remove the package.json file ([068ee78](https://github.com/wrappid/wrappid-app/commit/068ee78ebf387bee420aa0e9dc47ef0633686394)), closes [#32](https://github.com/wrappid/wrappid-app/issues/32) 144 | * 🐛 add wrappid registry pr-guardrails.yml ([9b57955](https://github.com/wrappid/wrappid-app/commit/9b579559b824204e2de8ecb10a9f3e3f3569f38e)), closes [#10](https://github.com/wrappid/wrappid-app/issues/10) 145 | * bug: npm install fail pr-guardrails.yml ([f5ce64e](https://github.com/wrappid/wrappid-app/commit/f5ce64e0b37b57f588f7abada5836107dd473109)), closes [#10](https://github.com/wrappid/wrappid-app/issues/10) 146 | * **config:** :package: package version updated ([49183c0](https://github.com/wrappid/wrappid-app/commit/49183c04bc0a3df89357409ed6addace08b8189e)), closes [#112](https://github.com/wrappid/wrappid-app/issues/112) 147 | * **core:** :ambulance: added section for different sections ([3c828c9](https://github.com/wrappid/wrappid-app/commit/3c828c9a3f13aaef310c06ad36724e2ee878ac6c)), closes [#68](https://github.com/wrappid/wrappid-app/issues/68) 148 | * **core:** :ambulance: component name changed From Section to AppComponentSection ([c8c4924](https://github.com/wrappid/wrappid-app/commit/c8c4924d1da93c5cf3755ec2ac79b49288d3055a)), closes [#68](https://github.com/wrappid/wrappid-app/issues/68) 149 | * **core:** :art: update component name and other impact handles ([555110a](https://github.com/wrappid/wrappid-app/commit/555110a1d6b747b1785c8677445012ade6432e71)), closes [#45](https://github.com/wrappid/wrappid-app/issues/45) 150 | * **core:** :bug: add CoreLayoutItem and Id to StaticWebPage ([55ec8fc](https://github.com/wrappid/wrappid-app/commit/55ec8fc174428f5fc86344968d3ceecbd28bb2dd)), closes [#76](https://github.com/wrappid/wrappid-app/issues/76) 151 | * **core:** :lipstick: body default margin to 0 ([fe745b2](https://github.com/wrappid/wrappid-app/commit/fe745b2cc4f1c836d3b691302e7ee9fa2599158b)), closes [#36](https://github.com/wrappid/wrappid-app/issues/36) 152 | * **core:** :recycle: fullstop added to the project description ([e86da69](https://github.com/wrappid/wrappid-app/commit/e86da691e0d317be96eab1da1e384c84fd35302f)), closes [#68](https://github.com/wrappid/wrappid-app/issues/68) 153 | * **core:** :zap: code cleanup ([ab04424](https://github.com/wrappid/wrappid-app/commit/ab0442442cb1f8505fce95270ec6170e95053e55)), closes [#76](https://github.com/wrappid/wrappid-app/issues/76) 154 | * **core:** :zap: code cleanup and about page layout consistancy fixed ([dd9d379](https://github.com/wrappid/wrappid-app/commit/dd9d3793eb2c6edd0dda3d3a6771ae7dfab3b481)), closes [#76](https://github.com/wrappid/wrappid-app/issues/76) 155 | * **core:** :zap: code-cleanup ([69a919e](https://github.com/wrappid/wrappid-app/commit/69a919e7188f8aecf6e867c574d6555b8c3db5b6)), closes [#76](https://github.com/wrappid/wrappid-app/issues/76) 156 | * **core:** :zap: layout fix for app component ([014635b](https://github.com/wrappid/wrappid-app/commit/014635b7020417d5ea32059e870fcf4fd60c7cf1)), closes [#76](https://github.com/wrappid/wrappid-app/issues/76) 157 | * **core:** :zap: layout testing purpose ([718b963](https://github.com/wrappid/wrappid-app/commit/718b9635e0855b0550f127a5272fd7a4cac330ca)), closes [#76](https://github.com/wrappid/wrappid-app/issues/76) 158 | * **core:** :zap: merge from development ([7fecad2](https://github.com/wrappid/wrappid-app/commit/7fecad216ab85c94efb57d66c8b0a510e894474b)), closes [#75](https://github.com/wrappid/wrappid-app/issues/75) 159 | * **core:** :zap: merge from development ([e9159fc](https://github.com/wrappid/wrappid-app/commit/e9159fc47d7815e90e48532774a137da8cc46ea3)), closes [#76](https://github.com/wrappid/wrappid-app/issues/76) 160 | * **core:** :zap: removing react strict mode from index file ([c606702](https://github.com/wrappid/wrappid-app/commit/c60670209b5a374241c53923fd7c5d991c2a4970)), closes [#75](https://github.com/wrappid/wrappid-app/issues/75) 161 | * **core:** :zap: routes fixed with layout ([4fedd12](https://github.com/wrappid/wrappid-app/commit/4fedd1298c3ebb1fc7e503151357a0c85f39c6c8)), closes [#76](https://github.com/wrappid/wrappid-app/issues/76) 162 | * **core:** :zap: routes registry layout removal ([5e8cfac](https://github.com/wrappid/wrappid-app/commit/5e8cfac2ff43ab90b29925a49d9ce93c8a3731f6)), closes [#75](https://github.com/wrappid/wrappid-app/issues/75) 163 | * **core:** :zap: update component name and other impact handles ([df89f50](https://github.com/wrappid/wrappid-app/commit/df89f50d4a692ca344744a19f4588b7428eb82bb)), closes [#45](https://github.com/wrappid/wrappid-app/issues/45) 164 | * **global:** :bug: rederable for mobile application ([e1f8ca5](https://github.com/wrappid/wrappid-app/commit/e1f8ca50dc774d22034232d06b717d8622ede635)), closes [#68](https://github.com/wrappid/wrappid-app/issues/68) 165 | * **global:** :bug: remove homepage key ([958db43](https://github.com/wrappid/wrappid-app/commit/958db43f328d64f2a9701c43e7afe3b0b244b364)), closes [#60](https://github.com/wrappid/wrappid-app/issues/60) 166 | * **global:** :wastebasket: remove layouts ([499ad96](https://github.com/wrappid/wrappid-app/commit/499ad969c56822d7dbca152c598430b43cc9d414)), closes [#98](https://github.com/wrappid/wrappid-app/issues/98) 167 | * **global:** :zap: code cleanup and added default routes and layouts ([6c62bde](https://github.com/wrappid/wrappid-app/commit/6c62bde27d69c809f51cfaf3724600da5dd40d7d)), closes [#75](https://github.com/wrappid/wrappid-app/issues/75) 168 | 169 | ### 0.0.7 (2024-03-20) 170 | 171 | ### 0.0.6 (2024-03-19) 172 | 173 | ### 0.0.5 (2024-03-19) 174 | 175 | ### 0.0.4 (2024-03-18) 176 | 177 | ### 0.0.3 (2024-03-16) 178 | 179 | ### 0.0.2 (2024-03-14) 180 | --------------------------------------------------------------------------------