@visualizevalue/mint-app-base 0.0.6 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/.env.example +1 -1
  2. package/app/assets/styles/animation.css +1 -9
  3. package/app/assets/styles/base.css +3 -12
  4. package/app/assets/styles/forms.css +18 -52
  5. package/app/assets/styles/index.css +24 -6
  6. package/app/assets/styles/normalize.css +8 -3
  7. package/app/assets/styles/prose.css +2 -128
  8. package/app/assets/styles/variables/animations.css +8 -0
  9. package/app/assets/styles/variables/borders.css +13 -0
  10. package/app/assets/styles/variables/colors.css +48 -0
  11. package/app/assets/styles/variables/components.css +18 -0
  12. package/app/assets/styles/variables/effects.css +11 -0
  13. package/app/assets/styles/variables/fonts.css +26 -0
  14. package/app/assets/styles/variables/layout.css +9 -0
  15. package/app/assets/styles/variables/sizes.css +23 -0
  16. package/app/assets/styles/variables/ui.css +17 -0
  17. package/app/assets/styles/variables.css +16 -192
  18. package/app/assets/styles/web3-modals.css +2 -7
  19. package/app/components/Account.client.vue +1 -1
  20. package/app/components/Actions.vue +2 -3
  21. package/app/components/AppHeader.vue +2 -25
  22. package/app/components/Breadcrumbs.vue +2 -2
  23. package/app/components/Button/AddCollection.vue +10 -0
  24. package/app/components/Button/EditProfile.vue +10 -0
  25. package/app/components/Button/Profile/Discord.vue +10 -0
  26. package/app/components/Button/Profile/Email.vue +10 -0
  27. package/app/components/Button/Profile/Github.vue +11 -0
  28. package/app/components/Button/Profile/Twitter.vue +10 -0
  29. package/app/components/Button/Profile/Website.vue +10 -0
  30. package/app/components/Button.vue +18 -36
  31. package/app/components/CheckSpinner.vue +0 -18
  32. package/app/components/Collection/Intro.vue +9 -6
  33. package/app/components/Collection/OverviewCard.vue +14 -6
  34. package/app/components/Collection/Withdraw.client.vue +2 -1
  35. package/app/components/DialogFrame.vue +8 -9
  36. package/app/components/Form/Group.vue +33 -4
  37. package/app/components/Form/SelectFile.vue +1 -1
  38. package/app/components/Icon.vue +21 -17
  39. package/app/components/Image.client.vue +0 -4
  40. package/app/components/Loading.vue +2 -38
  41. package/app/components/MintGasPricePopover.client.vue +2 -2
  42. package/app/components/MintToken.vue +1 -1
  43. package/app/components/Modal.vue +3 -2
  44. package/app/components/Popover.client.vue +3 -23
  45. package/app/components/Profile/Header.client.vue +6 -35
  46. package/app/components/Token/Detail.client.vue +19 -10
  47. package/app/components/Token/MintTimeline.client.vue +14 -43
  48. package/app/components/Token/MintTimelineItem.vue +50 -13
  49. package/app/components/Token/OverviewCard.vue +15 -18
  50. package/app/components/TransactionFlow.vue +4 -10
  51. package/app/layouts/default.vue +2 -14
  52. package/app/pages/[id]/[collection]/[tokenId]/index.vue +1 -1
  53. package/app/pages/[id]/[collection]/index.vue +1 -1
  54. package/app/pages/[id]/[collection]/mint.vue +4 -4
  55. package/app/pages/[id]/create.vue +49 -49
  56. package/app/pages/[id]/index.vue +1 -6
  57. package/app/pages/profile/[address]/index.vue +1 -4
  58. package/app/plugins/2.wagmi.ts +2 -2
  59. package/package.json +2 -1
  60. package/app/assets/styles/scroll.css +0 -13
  61. package/app/assets/styles/text.css +0 -14
  62. package/app/assets/styles/theme.css +0 -4
  63. package/app/assets/styles/utils.css +0 -24
  64. package/app/components/Avatar.vue +0 -61
  65. package/app/components/CountDown.vue +0 -153
  66. package/app/components/IconLink.vue +0 -29
  67. package/app/components/Navbar.client.vue +0 -86
  68. package/app/components/QueryDialog.vue +0 -38
  69. package/app/components/ToggleDarkMode.client.vue +0 -58
  70. /package/app/components/{Visual/ImagePreview.vue → ImagePreview.vue} +0 -0
package/.env.example CHANGED
@@ -5,7 +5,7 @@ NITRO_PRESET=node_cluster
5
5
  NUXT_SSR=false
6
6
  NUXT_DEVTOOLS=true
7
7
  NUXT_PUBLIC_DOMAIN=localhost
8
- NUXT_PUBLIC_TITLE=Mint.VV
8
+ NUXT_PUBLIC_TITLE=Mint
9
9
  NUXT_PUBLIC_DESCRIPTION=To mint is a human right.
10
10
 
11
11
  # =========================
@@ -20,15 +20,6 @@
20
20
  max-height: 0;
21
21
  }
22
22
 
23
- @keyframes appear {
24
- 0% {
25
- opacity: 0;
26
- }
27
- 100% {
28
- opacity: 1;
29
- }
30
- }
31
-
32
23
  @keyframes fade-in {
33
24
  0% {
34
25
  opacity: 0;
@@ -48,3 +39,4 @@
48
39
  transform: rotate(360deg);
49
40
  }
50
41
  }
42
+
@@ -1,30 +1,21 @@
1
1
  :root {
2
- font-family: var(--font-family-main);
2
+ font-family: var(--font-family);
3
3
  line-height: var(--line-height-base);
4
4
  font-weight: var(--font-weight);
5
5
  font-size: var(--rem);
6
6
  font-style: normal;
7
- font-feature-settings: 'liga' 1, 'calt' 1; /* fix for Chrome */
8
-
9
- @supports (font-variation-settings: normal) {
10
- font-optical-sizing: auto;
11
- }
7
+ letter-spacing: var(--letter-spacing);
12
8
 
13
9
  background-color: var(--background);
14
10
  color: var(--color);
15
- color-scheme: dark;
16
11
 
17
12
  text-transform: var(--text-transform);
13
+
18
14
  font-synthesis: none;
19
15
  text-rendering: optimizeLegibility;
20
16
  -webkit-font-smoothing: antialiased;
21
17
  -moz-osx-font-smoothing: grayscale;
22
18
  -webkit-text-size-adjust: 100%;
23
- letter-spacing: var(--letter-spacing);
24
-
25
- * {
26
- font-size: var(--font-base);
27
- }
28
19
  }
29
20
 
30
21
  html,
@@ -1,25 +1,21 @@
1
- .form-item,
2
1
  .button,
3
2
  button,
4
3
  input,
5
4
  textarea,
6
5
  select {
7
- --padding-y: var(--size-3);
8
- --padding-x: var(--size-5);
9
- --background: var(--background);
10
- --background-light: var(--gray-z-1);
11
-
12
6
  width: 100%;
13
- font-family: var(--font-family-ui);
14
- font-weight: var(--font-weight);
7
+ font-family: var(--ui-font-family);
8
+ font-weight: var(--ui-font-weight);
9
+ text-transform: var(--ui-text-transform);
15
10
  transition: all var(--speed);
16
- text-transform: var(--text-transform-ui);
11
+ line-height: var(--ui-line-height);
12
+ border-radius: var(--button-border-radius);
13
+ background: var(--background-background);
14
+ padding: var(--ui-padding-y) var(--ui-padding-x);
17
15
  user-select: none;
18
- border-radius: 0;
19
- background: var(--background);
20
16
 
21
17
  &::placeholder {
22
- text-transform: var(--text-transform-ui);
18
+ text-transform: var(--ui-text-transform);
23
19
  }
24
20
 
25
21
  &:-internal-autofill-selected {
@@ -29,17 +25,11 @@ select {
29
25
 
30
26
  &:--highlight {
31
27
  outline: none;
28
+ border-color: var(--button-border-color-highlight);
29
+ background: var(--button-background-highlight);
32
30
  }
33
31
  }
34
32
 
35
- .button,
36
- .input,
37
- .textarea,
38
- .select {
39
- min-height: calc(var(--size-7) + var(--size-2));
40
- line-height: 1;
41
- }
42
-
43
33
  .input,
44
34
  .textarea,
45
35
  .select {
@@ -47,7 +37,7 @@ select {
47
37
  line-height: 0;
48
38
  width: 100%;
49
39
  background: var(--background);
50
- padding: var(--padding-y) var(--padding-x);
40
+ padding: var(--ui-padding-y) var(--ui-padding-x);
51
41
  text-transform: none;
52
42
 
53
43
  border: var(--border);
@@ -96,15 +86,13 @@ select {
96
86
 
97
87
  &:has(.input:hover),
98
88
  &:has(.input:focus) {
99
- background: var(--background-light);
100
- }
101
- &:has(.input:focus) {
102
- border-color: var(--border-color-light);
89
+ background: var(--button-background-highlight);
90
+ border-color: var(--button-border-color-highlight);
103
91
  }
104
92
 
105
93
  .prefix,
106
94
  .suffix {
107
- padding: 0 var(--padding-x);
95
+ padding: 0 var(--ui-padding-x);
108
96
  color: var(--muted);
109
97
  height: 100%;
110
98
  display: flex;
@@ -113,32 +101,10 @@ select {
113
101
  }
114
102
 
115
103
  .prefix {
116
- border-right: var(--border);
104
+ border-right: var(--button-border);
117
105
  }
118
106
  .suffix {
119
- border-left: var(--border);
120
- }
121
-
122
- /* If the prefix/suffix should look as if it's part of the content */
123
- &.fluent {
124
- .prefix,
125
- .suffix {
126
- border: none;
127
- }
128
- .prefix {
129
- padding-right: var(--size-0);
130
- }
131
- .suffix {
132
- padding-left: var(--size-0);
133
- }
134
-
135
- &:has(.prefix) {
136
- .input,
137
- .select,
138
- .textarea {
139
- padding-left: 0;
140
- }
141
- }
107
+ border-left: var(--button-border);
142
108
  }
143
109
  }
144
110
 
@@ -148,7 +114,7 @@ select.select:--highlight {
148
114
  line-height: 1;
149
115
  background:
150
116
  url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM4ODgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWNoZXZyb24tZG93biI+PHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiPjwvcG9seWxpbmU+PC9zdmc+),
151
- var(--gray-z-0);
117
+ var(--button-background);
152
118
  background-repeat: no-repeat, no-repeat;
153
119
  background-position: calc(100% - var(--size-4)) 50%, 0% 0%;
154
120
  background-size: var(--size-4), 100% 100%;
@@ -165,7 +131,7 @@ form {
165
131
 
166
132
  label {
167
133
  display: block;
168
- font-family: var(--font-family-ui);
134
+ font-family: var(--ui-font-family);
169
135
  text-transform: var(--text-transform-ui);
170
136
  margin: var(--size-2) 0;
171
137
  color: var(--gray-z-7);
@@ -1,12 +1,30 @@
1
+ /*
2
+ * We import all our variables from here.
3
+ * They are sorted thematically into their own files.
4
+ */
1
5
  @import "./variables.css";
2
- @import "./theme.css";
6
+
7
+ /*
8
+ * A cross browser normalizer, slight adjustments on top
9
+ * of the Tailwind normalizer.
10
+ */
3
11
  @import "./normalize.css";
12
+
13
+ /*
14
+ * Base element and layout styles
15
+ */
4
16
  @import "./base.css";
5
- @import "./text.css";
6
- @import "./utils.css";
7
- @import "./cards.css";
17
+
18
+ /*
19
+ * These styles are not specific to one particular components
20
+ */
8
21
  @import "./forms.css";
9
- @import "./scroll.css";
10
- @import "./animation.css";
22
+ @import "./cards.css";
11
23
  @import "./prose.css";
24
+ @import "./animation.css";
25
+
26
+ /*
27
+ * We don't control these external components,
28
+ * but want to apply some reasonable overrides.
29
+ */
12
30
  @import "./web3-modals.css";
@@ -420,7 +420,7 @@ body {
420
420
 
421
421
  hr {
422
422
  border-top-width: 1px;
423
- border-color: var(--gray-z-2);
423
+ border-color: var(--border-color);
424
424
  }
425
425
 
426
426
  /**
@@ -433,6 +433,10 @@ hr {
433
433
  * https://github.com/tailwindcss/tailwindcss/issues/362
434
434
  */
435
435
 
436
+ i {
437
+ font-style: normal;
438
+ }
439
+
436
440
  img {
437
441
  border-style: solid;
438
442
  }
@@ -443,7 +447,7 @@ textarea {
443
447
 
444
448
  input::placeholder,
445
449
  textarea::placeholder {
446
- color: #9ca3af;
450
+ color: var(--ui-placeholder-color);
447
451
  }
448
452
 
449
453
  button,
@@ -483,12 +487,13 @@ a {
483
487
  * normalize.css.
484
488
  */
485
489
 
490
+ .button,
486
491
  button,
487
492
  input,
488
493
  optgroup,
489
494
  select,
490
495
  textarea {
491
- padding: 0;
496
+ padding: var(--ui-padding-y) var(--ui-padding-x);
492
497
  line-height: inherit;
493
498
  color: inherit;
494
499
  }
@@ -1,138 +1,12 @@
1
- .prose {
2
- display: grid;
3
- gap: var(--size-5);
4
- grid-auto-rows: min-content;
5
-
6
- /* HEADINGS */
7
- h1, h2, h3 {
8
- line-height: var(--line-height-md);
9
- }
10
- h1 {
11
- font-size: var(--font-xl);
12
- }
13
- h2 {
14
- font-size: var(--font-lg);
15
- text-transform: var(--text-transform-ui);
16
- }
17
- h3 {
18
- font-size: var(--font-lg);
19
- }
20
-
21
- /* LINKS */
22
- a {
23
- color: var(--primary);
24
- font-weight: bold;
25
- border-bottom: 3px solid transparent;
26
- transition: all var(--speed);
27
-
28
- &:--highlight {
29
- border-color: var(--primary-z-2);
30
- }
31
- }
32
-
33
- /* QUOTES */
34
- blockquote {
35
- padding-left: var(--size-5);
36
- font-size: var(--font-md);
37
- line-height: var(--line-height-lg);
38
- border-left: 4px solid var(--gray-z-2);
39
- font-style: italic;
40
- font-weight: bold;
41
- color: var(--gray-z-7);
42
- position: relative;
43
-
44
- cite {
45
- display: block;
46
- font-size: var(--font-sm);
47
- line-height: var(--line-height-sm);
48
- text-align: right;
49
- margin: 1em 0 0;
50
-
51
- &:before {
52
- content: "–";
53
- margin-right: 0.5em;
54
- }
55
- }
56
- }
57
-
58
- pre {
59
- background: var(--gray-z-1);
60
- padding: var(--spacer);
61
- border: var(--border);
62
- color: var(--gray-z-7);
63
- border-radius: var(--size-2);
64
-
65
- code {
66
- font-family: monospace;
67
- font-size: var(--font-sm);
68
- line-height: var(--line-height-lg);
69
- }
70
- }
71
-
72
- /* IMAGES */
73
- p:has(> img) {
74
- font-size: var(--font-xs);
75
- line-height: var(--line-height-xs);
76
- color: var(--gray-z-7);
77
- }
78
- img {
79
- border: var(--border);
80
- border-radius: var(--border-radius);
81
- }
82
-
83
- /* LISTS */
84
- ol { list-style: auto; }
85
- ul {
86
- list-style: none;
87
-
88
- > li {
89
- position: relative;
90
- }
91
-
92
- > li:before {
93
- content: "\2022";
94
- position: absolute;
95
- color: var(--gray-z-5);
96
- font-weight: bold;
97
- display: inline-block;
98
- width: 1em;
99
- margin-left: -1em;
100
- }
101
- }
102
- ul, ol {
103
- padding-left: 1em;
104
-
105
- li {
106
- margin: 0.25em 0;
107
- }
108
-
109
- ul, ol {
110
- margin: 0;
111
-
112
- li {
113
- margin: 0;
114
- }
115
- }
116
- }
117
- }
118
-
119
1
  /* MINIMAL PROSE */
120
- .minimal-prose {
2
+ .prose {
121
3
  h1, h2, h3 {
122
4
  width: min-content;
123
5
  position: relative;
124
6
  white-space: nowrap;
125
7
  margin: var(--spacer) 0;
126
8
  color: var(--color);
127
-
128
- &:after {
129
- content: '';
130
- position: absolute;
131
- width: calc(100% + var(--spacer-xs)*2);
132
- left: calc(-1 * var(--spacer-xs));
133
- bottom: calc(-1 * var(--spacer-xs));
134
- border-bottom: 3px solid var(--border-color);
135
- }
9
+ font-size: var(--font-lg);
136
10
  }
137
11
 
138
12
  > table {
@@ -0,0 +1,8 @@
1
+ :root {
2
+
3
+ --speed-fast: 0.15s;
4
+ --speed: 0.3s;
5
+ --speed-slow: 0.75s;
6
+
7
+ }
8
+
@@ -0,0 +1,13 @@
1
+ :root {
2
+
3
+ --border-color: var(--gray-z-6);
4
+ --border-color-light: var(--gray-z-4);
5
+ --border-color-dark: var(--gray-z-1);
6
+ --border-width: 1px;
7
+ --border: var(--border-width) solid var(--border-color);
8
+ --border-dark: var(--border-width) solid var(--border-color-dark);
9
+ --border-shadow: 0 0 0 var(--border-width) var(--border-color);
10
+ --border-radius: 0;
11
+
12
+ }
13
+
@@ -0,0 +1,48 @@
1
+ :root {
2
+ /* GRAYS */
3
+ --white: rgb(255,255,255);
4
+ --gray-50: rgb(250,250,250);
5
+ --gray-100: rgb(245,245,245);
6
+ --gray-200: rgb(229,229,229);
7
+ --gray-300: rgb(212,212,212);
8
+ --gray-400: rgb(163,163,163);
9
+ --gray-500: rgb(115,115,115);
10
+ --gray-600: rgb(82,82,82);
11
+ --gray-700: rgb(64,64,64);
12
+ --gray-800: rgb(38,38,38);
13
+ --gray-900: rgb(19,19,19);
14
+ --gray-950: rgb(10,10,10);
15
+ --black: rgb(0, 0, 0);
16
+
17
+ /* COLORS */
18
+ --red: #EF4444;
19
+ --green: #94E337;
20
+ --blue: #3263D0;
21
+
22
+ /* THEME COLORS */
23
+ --muted: var(--gray-z-6);
24
+ --error: var(--red);
25
+ --success: var(--green);
26
+ --primary: var(--blue);
27
+ --secondary: var(--blue);
28
+
29
+ /*
30
+ * Z-COLORS
31
+ * This makes migrating to dark/light modes much easier later.
32
+ * We're not thinking about color per se, but about the viewers perspective.
33
+ */
34
+ --background: var(--white);
35
+ --gray-z-0: var(--gray-50);
36
+ --gray-z-1: var(--gray-100);
37
+ --gray-z-2: var(--gray-200);
38
+ --gray-z-3: var(--gray-300);
39
+ --gray-z-4: var(--gray-400);
40
+ --gray-z-5: var(--gray-500);
41
+ --gray-z-6: var(--gray-600);
42
+ --gray-z-7: var(--gray-700);
43
+ --gray-z-8: var(--gray-800);
44
+ --gray-z-9: var(--gray-900);
45
+ --gray-z-10: var(--gray-950);
46
+ --color: var(--black);
47
+ }
48
+
@@ -0,0 +1,18 @@
1
+ :root {
2
+
3
+ --card-border: var(--border);
4
+ --card-border-radius: var(--border-radius);
5
+ --card-background: var(--background);
6
+ --card-background-highlight: var(--background);
7
+ --card-border-color-highlight: var(--primary);
8
+
9
+ --button-border: var(--border);
10
+ --button-border-radius: var(--border-radius);
11
+ --button-background: var(--background);
12
+ --button-background-highlight: var(--background);
13
+ --button-border-color-highlight: var(--primary);
14
+
15
+ --backdrop-background-color: transparent;
16
+
17
+ }
18
+
@@ -0,0 +1,11 @@
1
+ :root {
2
+ /* SHADOWS */
3
+ --shadow:
4
+ 0 var(--size-0) var(--size-2) var(--gray-z-1-semi),
5
+ 0 var(--size-2) var(--size-7) calc(-1 * var(--size-5)) var(--gray-z-3-semi);
6
+
7
+ /* BACKGROUNDS */
8
+ --blur: blur(var(--size-1));
9
+
10
+ }
11
+
@@ -0,0 +1,26 @@
1
+ :root {
2
+
3
+ --rem: 16px;
4
+ --font-base: var(--rem);
5
+ --font-xs: calc(var(--font-base) * 0.8);
6
+ --font-sm: calc(var(--font-base) * 0.8);
7
+ --font-lg: calc(var(--font-base) * 1.2);
8
+ --font-weight-light: 300;
9
+ --font-weight: normal;
10
+ --font-weight-bold: bold;
11
+ --font-family: serif;
12
+
13
+ --letter-spacing-sm: -0.025em;
14
+ --letter-spacing: 0.025em;
15
+ --letter-spacing-md: 0.05em;
16
+ --letter-spacing-lg: 0.1em;
17
+
18
+ --line-height-sm: 105%;
19
+ --line-height: 100%;
20
+ --line-height-md: 120%;
21
+ --line-height-lg: 160%;
22
+
23
+ --text-transform: none;
24
+
25
+ }
26
+
@@ -0,0 +1,9 @@
1
+ :root {
2
+
3
+ --dialog-width: 27rem;
4
+ --content-width: 40rem;
5
+ --content-width-lg: 72rem;
6
+ --navbar-height: calc(var(--size-8) + var(--size-4));
7
+
8
+ }
9
+
@@ -0,0 +1,23 @@
1
+ :root {
2
+
3
+ --100vh: 100dvh;
4
+ --size-0: 0.125rem;
5
+ --size-1: 0.25rem;
6
+ --size-2: 0.5rem;
7
+ --size-3: 0.75rem;
8
+ --size-4: 1rem;
9
+ --size-5: 1.25rem;
10
+ --size-6: 1.5rem;
11
+ --size-7: 2rem;
12
+ --size-8: 3rem;
13
+ --size-9: 4.5rem;
14
+ --size-10: 6rem;
15
+
16
+ --spacer-xs: var(--size-0);
17
+ --spacer-sm: var(--size-2);
18
+ --spacer: var(--size-4);
19
+ --spacer-lg: var(--size-7);
20
+ --spacer-xl: var(--size-9);
21
+
22
+ }
23
+
@@ -0,0 +1,17 @@
1
+ :root {
2
+
3
+ --ui-font-family: var(--font-family);
4
+ --ui-font-weight: var(--font-weight);
5
+ --ui-text-transform: var(--text-transform);
6
+
7
+ --ui-placeholder-color: var(--muted);
8
+ --ui-color: var(--primary);
9
+ --ui-color-visited: var(--primary);
10
+ --ui-letter-spacing: var(--letter-spacing);
11
+ --ui-line-height: var(--line-height);
12
+
13
+ --ui-padding-y: var(--spacer-sm);
14
+ --ui-padding-x: var(--spacer-sm);
15
+
16
+ }
17
+