5 |
6 |
7 |
41 |
42 |
68 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to KaiUI Vue
2 |
3 | #### **Did you find a bug?**
4 |
5 | * **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/sebastianbaar/vue-kaiui/issues).
6 |
7 | * If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/sebastianbaar/vue-kaiui/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
8 |
9 | * If possible, use the relevant bug report templates to create the issue.
10 |
11 | #### **Did you write a patch that fixes a bug?**
12 |
13 | * Open a new GitHub pull request with the patch.
14 |
15 | * Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
16 |
17 | * Inlcude screenshots or screen video captures for all UI related work, before and after behaviour
18 |
19 | #### **Do you intend to add a new feature or change an existing one?**
20 |
21 | * Do not open an issue on GitHub until you have collected positive feedback about the change.
22 |
23 | * Several feature issues that are currently open are most likely more high prio, so please prioritize them before suggesting new features
24 |
25 | Thanks! :heart: :heart: :heart:
26 |
27 | Sebastian Baar
28 |
29 | __Credits to the Rails team for providing a template for this contributors guide__
30 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-kaiui",
3 | "version": "0.1.1",
4 | "description": "Vue component library for KaiOS apps",
5 | "main": "dist/vue-kaiui.js",
6 | "module": "dist/vue-kaiui.esm.js",
7 | "unpkg": "dist/vue-kaiui.min.js",
8 | "scripts": {
9 | "release": "prettier --write ./src && vuedoc.md ./src/components/*.vue --output ./docs && npm run build",
10 | "build": "rimraf ./dist && npm run build:umd & npm run build:es & npm run build:unpkg",
11 | "build:umd": "rollup --config build/rollup.config.js --format umd --file dist/vue-kaiui.js",
12 | "build:es": "rollup --config build/rollup.config.js --format es --file dist/vue-kaiui.esm.js",
13 | "build:unpkg": "rollup --config build/rollup.config.js --format iife --file dist/vue-kaiui.min.js",
14 | "rimraf": "./node_modules/rimraf/bin.js"
15 | },
16 | "keywords": [
17 | "kai",
18 | "kaios",
19 | "vue",
20 | "vuejs",
21 | "kaiui",
22 | "component library"
23 | ],
24 | "files": [
25 | "dist/"
26 | ],
27 | "author": {
28 | "name": "Sebastian Baar"
29 | },
30 | "license": "MIT",
31 | "dependencies": {},
32 | "repository": {
33 | "type": "git",
34 | "url": "https://github.com/sebastianbaar/vue-kaiui"
35 | },
36 | "devDependencies": {
37 | "@vuedoc/md": "^1.6.0",
38 | "prettier": "2.0.5",
39 | "rimraf": "^3.0.2",
40 | "rollup": "^1.17.0",
41 | "rollup-plugin-buble": "^0.19.8",
42 | "rollup-plugin-commonjs": "^10.0.1",
43 | "rollup-plugin-copy": "^3.3.0",
44 | "rollup-plugin-vue": "^5.0.1",
45 | "vue": "^2.6.10",
46 | "vue-template-compiler": "^2.6.10"
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/src/components/RadioGroup.vue:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
15 |
79 |
80 |
137 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as
6 | contributors and maintainers pledge to making participation in our project and
7 | our community a harassment-free experience for everyone, regardless of age, body
8 | size, disability, ethnicity, sex characteristics, gender identity and expression,
9 | level of experience, education, socio-economic status, nationality, personal
10 | appearance, race, religion, or sexual identity and orientation.
11 |
12 | ## Our Standards
13 |
14 | Examples of behavior that contributes to creating a positive environment
15 | include:
16 |
17 | * Using welcoming and inclusive language
18 | * Being respectful of differing viewpoints and experiences
19 | * Gracefully accepting constructive criticism
20 | * Focusing on what is best for the community
21 | * Showing empathy towards other community members
22 |
23 | Examples of unacceptable behavior by participants include:
24 |
25 | * The use of sexualized language or imagery and unwelcome sexual attention or
26 | advances
27 | * Trolling, insulting/derogatory comments, and personal or political attacks
28 | * Public or private harassment
29 | * Publishing others' private information, such as a physical or electronic
30 | address, without explicit permission
31 | * Other conduct which could reasonably be considered inappropriate in a
32 | professional setting
33 |
34 | ## Our Responsibilities
35 |
36 | Project maintainers are responsible for clarifying the standards of acceptable
37 | behavior and are expected to take appropriate and fair corrective action in
38 | response to any instances of unacceptable behavior.
39 |
40 | Project maintainers have the right and responsibility to remove, edit, or
41 | reject comments, commits, code, wiki edits, issues, and other contributions
42 | that are not aligned to this Code of Conduct, or to ban temporarily or
43 | permanently any contributor for other behaviors that they deem inappropriate,
44 | threatening, offensive, or harmful.
45 |
46 | ## Scope
47 |
48 | This Code of Conduct applies both within project spaces and in public spaces
49 | when an individual is representing the project or its community. Examples of
50 | representing a project or community include using an official project e-mail
51 | address, posting via an official social media account, or acting as an appointed
52 | representative at an online or offline event. Representation of a project may be
53 | further defined and clarified by project maintainers.
54 |
55 | ## Enforcement
56 |
57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
58 | reported by contacting the project team at adrianm7151@gmail.com. All
59 | complaints will be reviewed and investigated and will result in a response that
60 | is deemed necessary and appropriate to the circumstances. The project team is
61 | obligated to maintain confidentiality with regard to the reporter of an incident.
62 | Further details of specific enforcement policies may be posted separately.
63 |
64 | Project maintainers who do not follow or enforce the Code of Conduct in good
65 | faith may face temporary or permanent repercussions as determined by other
66 | members of the project's leadership.
67 |
68 | ## Attribution
69 |
70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72 |
73 | [homepage]: https://www.contributor-covenant.org
74 |
75 | For answers to common questions about this code of conduct, see
76 | https://www.contributor-covenant.org/faq
77 |
--------------------------------------------------------------------------------
/src/components/InputMulti.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
16 |
17 |
18 |
117 |
118 |
149 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | > **Vue component library for KaiOS apps.**
4 |
5 |
6 | - [Installation](#installation)
7 | - [Usage](#usage)
8 | - [Components API](#components-api)
9 | - [Styles](#styles)
10 | - [Status](#status)
11 | - [Components](#components)
12 | - [Navigation](#navigation)
13 | - [Typography](#typography)
14 | - [Miscellaneous](#miscellaneous)
15 | - [Styling, Colors, Fonts](#styling-colors-fonts)
16 | - [Icons](#icons)
17 | - [Contributing](#contributing)
18 |
19 | # Installation
20 | ```
21 | npm install vue-kaiui
22 | ```
23 | In your `main.js` add
24 |
25 | ```javascript
26 | import Vue from 'vue'
27 | import App from './App.vue'
28 |
29 | import VueKaiUI from "vue-kaiui"; // !
30 | Vue.use(VueKaiUI) // !
31 |
32 | new Vue({
33 | render: h => h(App),
34 | }).$mount('#app')
35 | ```
36 |
37 | # Usage
38 | Most importantly, put all the components in the `` root so that KaiUI can manage all the Softkeys and Header design elements for you.
39 |
40 | ## Components API
41 |
42 | See the [Components API docs](https://github.com/sebastianbaar/vue-kaiui/tree/master/docs/) and the [Sample App](https://github.com/sebastianbaar/sample-vue-kaiui-app) for usage examples.
43 |
44 | ## Styles
45 | You can simply override CSS variables in your styles using the `:root` scope. All theme CSS variables are found [here](https://github.com/sebastianbaar/vue-kaiui/tree/master/src/assets/css/theme.css).
46 |
47 | ```css
48 |
59 | ```
60 |
61 | # Status
62 | See [Contributing](#contributing).
63 |
64 | ## [Components](https://developer.kaiostech.com/design-guide/ui-component)
65 | - [x] Header
66 | - [x] Tab
67 | - [x] Software Key
68 | - [x] List Item
69 | - [x] Separator
70 | - [x] Checkbox
71 | - [x] Button
72 | - [x] Input
73 | - [x] Multiple-line Input
74 | - [x] Toast
75 | - [x] Radio Button (Group)
76 | - [ ] Progress
77 | - [ ] Slider (update Design!)
78 | - [ ] Date/Time Value Selector
79 | - [x] Dialog / Value Selector / Option Menu
80 | - [x] Notice
81 | ## [Navigation](https://developer.kaiostech.com/design-guide/basic-navigation)
82 | - [x] List View
83 | - [x] Tab View
84 | - [ ] Grid View
85 | ## [Typography](https://developer.kaiostech.com/design-guide/typography)
86 | - [x] Fonts
87 | - [x] Ionicons icons
88 | ## Miscellaneous
89 | - [ ] [Theming](https://developer.kaiostech.com/getting-started/build-your-first-package-app/sample-code#theme-apps)
90 | - [ ] [Translation](https://developer.kaiostech.com/getting-started/build-your-first-package-app/sample-code#apps-with-translation--l10n)
91 | - [ ] [LargeText](https://developer.kaiostech.com/api/largetext)
92 | - [ ] [Portrait/Landscape Mode](https://developer.kaiostech.com/core-developer-topics/supporting-multiple)
93 |
94 |
95 | # Styling, Colors, Fonts
96 |
97 | Typography details can be found [here](https://developer.kaiostech.com/design-guide/typography).
98 |
99 | Standardized stylings, colors and fonts are found in the [asset directory](https://github.com/sebastianbaar/vue-kaiui/tree/master/src/assets).
100 |
101 | # Icons
102 |
103 | Vue KaiUI uses the awesome [Ionicons](https://ionicons.com/) icons.
104 |
105 | Icons are found in the [asset directory](https://github.com/sebastianbaar/vue-kaiui/tree/master/src/assets).
106 |
107 | # Contributing
108 |
109 | There's much work to be done on building out more UI components, writing tests, etc...
110 |
111 | Please look at currently [open issues](https://github.com/sebastianbaar/vue-kaiui/issues?q=is%3Aopen+is%3Aissue) and our [Contributing Guide](https://github.com/sebastianbaar/vue-kaiui/blob/master/CONTRIBUTING.md).
112 |
113 | To build & test the project run:
114 |
115 | `npm install`
116 |
117 | `npm run build`
118 |
119 | To build the project and create API docs run:
120 |
121 | `npm run release`
122 |
123 | ---
124 |
125 | > Thanks [Adrian Machado](https://github.com/AdrianMachado) for the inspiration. Check out his awesome [KaiUI](https://github.com/AdrianMachado/KaiUI) (React component library for KaiOS apps).
126 |
127 | ---
--------------------------------------------------------------------------------
/src/components/Button.vue:
--------------------------------------------------------------------------------
1 |
2 |