diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..2b48a57
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,21 @@
+{
+ "editor.formatOnSave": true,
+ "prettier.requireConfig": true,
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
+ "[svelte]": {
+ "editor.defaultFormatter": "svelte.svelte-vscode"
+ },
+ "editor.quickSuggestions": {
+ "strings": true
+ },
+ "editor.codeActionsOnSave": {
+ "source.fixAll.eslint": true
+ },
+ "eslint.workingDirectories": [{ "mode": "auto" }],
+ "eslint.validate": [
+ "svelte"
+ ],
+ "[javascript]": {
+ "editor.defaultFormatter": "ms-vsliveshare.vsliveshare"
+ }
+}
diff --git a/apps/ui/stories/ui/Button.stories.js b/apps/ui/stories/ui/Button.stories.js
new file mode 100644
index 0000000..68260c5
--- /dev/null
+++ b/apps/ui/stories/ui/Button.stories.js
@@ -0,0 +1,43 @@
+import ButtonsView from './views/ButtonsView.svelte';
+
+export default {
+ title: 'ui/Buttons',
+ component: ButtonsView,
+ tags: ['autodocs'],
+ argTypes: {
+ variant: {
+ control: {
+ type: 'select',
+ },
+ options: ['primary', 'secondary', 'download'],
+ },
+ disabled: {
+ control: {
+ type: 'boolean',
+ },
+ },
+ customClasses: {
+ control: {
+ type: 'text',
+ },
+ },
+ },
+};
+export const Default = {
+ args: {
+ variant: 'primary',
+ disabled: false,
+ },
+};
+export const Secondary = {
+ args: {
+ variant: 'secondary',
+ disabled: false,
+ },
+};
+export const Download = {
+ args: {
+ variant: 'download',
+ disabled: false,
+ },
+};
diff --git a/apps/ui/stories/ui/Icons.stories.js b/apps/ui/stories/ui/Icons.stories.js
index a2f8c8d..5e2caef 100644
--- a/apps/ui/stories/ui/Icons.stories.js
+++ b/apps/ui/stories/ui/Icons.stories.js
@@ -1,16 +1,11 @@
import IconsView from './views/IconsView.svelte';
export default {
- title: 'ui/Icons',
- component: IconsView,
- tags: ['autodocs'],
- argTypes: {
- className: "h-8 w-8"
- }
+ title: 'ui/Icons',
+ component: IconsView,
+ tags: ['autodocs'],
};
export const Default = {
- args: {
- className: "h-8 w-8"
- }
-}
+ args: {},
+};
diff --git a/apps/ui/stories/ui/views/ButtonsView.svelte b/apps/ui/stories/ui/views/ButtonsView.svelte
new file mode 100644
index 0000000..503c5d2
--- /dev/null
+++ b/apps/ui/stories/ui/views/ButtonsView.svelte
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
diff --git a/apps/ui/stories/ui/views/IconsView.svelte b/apps/ui/stories/ui/views/IconsView.svelte
index a28b606..ee180d1 100644
--- a/apps/ui/stories/ui/views/IconsView.svelte
+++ b/apps/ui/stories/ui/views/IconsView.svelte
@@ -18,12 +18,13 @@
{ name: 'PersonIcon', component: PersonIcon},
{ name: 'VerifiedIcon', component: VerifiedIcon },
];
+
{#each iconImports as { name, component }}
-
+
{name}
{/each}
diff --git a/packages/tailwind-preset-base/index.js b/packages/tailwind-preset-base/index.js
index 064e663..5869292 100644
--- a/packages/tailwind-preset-base/index.js
+++ b/packages/tailwind-preset-base/index.js
@@ -11,6 +11,12 @@ export default {
mono: 'Source Code Pro, Noto Sans JP, monospace',
keycode: 'Lucida Grande',
},
+ colors: {
+ primary: { 50: '#FFFFFF', 100: '#F3F2F3', 200: '#D5D1D6', 300: '#B6B1BA', 400: '#96919D', 500: '#75717F', 600: '#585761', 700: '#3C3D44', 800: '#222326', 900: '#070808', 950: '#000000'},
+ fore: {
+
+ }
+ }
},
},
plugins: [],
diff --git a/packages/ui/components/button/Button.svelte b/packages/ui/components/button/Button.svelte
new file mode 100644
index 0000000..11fb79e
--- /dev/null
+++ b/packages/ui/components/button/Button.svelte
@@ -0,0 +1,23 @@
+
+
+
diff --git a/packages/ui/index.ts b/packages/ui/index.ts
index ec74e65..af72a23 100644
--- a/packages/ui/index.ts
+++ b/packages/ui/index.ts
@@ -1,3 +1,4 @@
+// ICONS
export { default as CalendarIcon } from './components/icons/Calendar.svelte';
export { default as CategoryIcon } from './components/icons/Category.svelte';
export { default as CheckmarkIcon } from './components/icons/Checkmark.svelte';
@@ -12,4 +13,7 @@ export { default as LogoIcon } from './components/icons/Logo.svelte';
export { default as NotVerifiedIcon } from './components/icons/NotVerified.svelte';
export { default as PersonIcon } from './components/icons/Person.svelte';
export { default as SearchIcon } from './components/icons/Search.svelte';
-export { default as VerifiedIcon } from './components/icons/Verified.svelte';
\ No newline at end of file
+export { default as VerifiedIcon } from './components/icons/Verified.svelte';
+
+// BUTTON
+export { default as Button } from './components/button/Button.svelte'
\ No newline at end of file