@teammodlr/ui-kit 1.0.4 → 1.0.6

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 (147) hide show
  1. package/package.json +2 -1
  2. package/src/__storybook__/argTypes.ts +42 -0
  3. package/src/__storybook__/createStory.ts +15 -0
  4. package/src/__storybook__/index.ts +2 -0
  5. package/src/components/avatar/Avatar.css +69 -0
  6. package/src/components/avatar/Avatar.vue +102 -0
  7. package/src/components/avatar/examples/basic.vue +6 -0
  8. package/src/components/avatar/examples/custom-size.vue +7 -0
  9. package/src/components/avatar/examples/index.stories.ts +28 -0
  10. package/src/components/avatar/examples/index.ts +5 -0
  11. package/src/components/avatar/examples/sizes.vue +33 -0
  12. package/src/components/avatar/examples/slots.vue +7 -0
  13. package/src/components/avatar/examples/variants.vue +18 -0
  14. package/src/components/avatargroup/AvatarGroup.css +8 -0
  15. package/src/components/avatargroup/AvatarGroup.vue +32 -0
  16. package/src/components/avatargroup/examples/basic.vue +11 -0
  17. package/src/components/avatargroup/examples/index.stories.ts +28 -0
  18. package/src/components/avatargroup/examples/index.ts +1 -0
  19. package/src/components/breadcrumb/Breadcrumb.css +46 -0
  20. package/src/components/breadcrumb/Breadcrumb.vue +51 -0
  21. package/src/components/breadcrumb/examples/basic.vue +9 -0
  22. package/src/components/breadcrumb/examples/index.stories.ts +20 -0
  23. package/src/components/breadcrumb/examples/index.ts +1 -0
  24. package/src/components/breadcrumbitem/BreadcrumbItem.vue +66 -0
  25. package/src/components/breadcrumbitem/index.ts +1 -0
  26. package/src/components/button/Button.css +378 -0
  27. package/src/components/button/Button.vue +108 -0
  28. package/src/components/button/examples/basic.vue +3 -0
  29. package/src/components/button/examples/colors-secondary.vue +8 -0
  30. package/src/components/button/examples/colors.vue +8 -0
  31. package/src/components/button/examples/disabled.vue +3 -0
  32. package/src/components/button/examples/icon.vue +10 -0
  33. package/src/components/button/examples/index.stories.ts +33 -0
  34. package/src/components/button/examples/index.ts +7 -0
  35. package/src/components/button/examples/rounded.vue +7 -0
  36. package/src/components/button/examples/size.vue +7 -0
  37. package/src/components/buttongroup/ButtonGroup.vue +47 -0
  38. package/src/components/buttongroup/examples/basic.vue +9 -0
  39. package/src/components/buttongroup/examples/index.stories.ts +21 -0
  40. package/src/components/buttongroup/examples/index.ts +1 -0
  41. package/src/components/checkbox/Checkbox.css +185 -0
  42. package/src/components/checkbox/Checkbox.vue +140 -0
  43. package/src/components/checkbox/examples/basic.vue +9 -0
  44. package/src/components/checkbox/examples/index.stories.ts +21 -0
  45. package/src/components/checkbox/examples/index.ts +3 -0
  46. package/src/components/checkbox/examples/slot.vue +11 -0
  47. package/src/components/dropdown/Dropdown.css +68 -0
  48. package/src/components/dropdown/Dropdown.vue +237 -0
  49. package/src/components/dropdown/DropdownItem.vue +118 -0
  50. package/src/components/dropdown/DropdownList.vue +20 -0
  51. package/src/components/dropdown/DropdownWrapper.vue +17 -0
  52. package/src/components/dropdown/examples/basic.vue +73 -0
  53. package/src/components/dropdown/examples/context.vue +71 -0
  54. package/src/components/dropdown/examples/index.stories.ts +23 -0
  55. package/src/components/dropdown/examples/index.ts +2 -0
  56. package/src/components/dropdown/hooks.ts +30 -0
  57. package/src/components/form/Form.vue +141 -0
  58. package/src/components/form/examples/basic.vue +73 -0
  59. package/src/components/form/examples/index.stories.ts +23 -0
  60. package/src/components/form/examples/index.ts +1 -0
  61. package/src/components/image/Image.vue +71 -0
  62. package/src/components/image/examples/basic.vue +5 -0
  63. package/src/components/image/examples/index.stories.ts +12 -0
  64. package/src/components/image/examples/index.ts +1 -0
  65. package/src/components/index.ts +27 -0
  66. package/src/components/input/Input.css +173 -0
  67. package/src/components/input/Input.vue +176 -0
  68. package/src/components/input/examples/basic.vue +7 -0
  69. package/src/components/input/examples/index.stories.ts +24 -0
  70. package/src/components/input/examples/index.ts +4 -0
  71. package/src/components/input/examples/prefix.vue +7 -0
  72. package/src/components/input/examples/sizes.vue +9 -0
  73. package/src/components/input/examples/suffix.vue +7 -0
  74. package/src/components/link/Link.css +147 -0
  75. package/src/components/link/Link.vue +54 -0
  76. package/src/components/link/examples/basic.vue +3 -0
  77. package/src/components/link/examples/index.stories.ts +20 -0
  78. package/src/components/link/examples/index.ts +1 -0
  79. package/src/components/messageprovider/Message.vue +76 -0
  80. package/src/components/messageprovider/MessageProvider.css +36 -0
  81. package/src/components/messageprovider/MessageProvider.vue +142 -0
  82. package/src/components/messageprovider/examples/basic.vue +19 -0
  83. package/src/components/messageprovider/examples/index.stories.ts +30 -0
  84. package/src/components/messageprovider/examples/index.ts +1 -0
  85. package/src/components/messageprovider/examples/wrapper.vue +9 -0
  86. package/src/components/messageprovider/types.ts +39 -0
  87. package/src/components/messageprovider/useMessage.ts +12 -0
  88. package/src/components/select/Select.css +226 -0
  89. package/src/components/select/Select.vue +474 -0
  90. package/src/components/select/examples/basic.vue +20 -0
  91. package/src/components/select/examples/index.stories.ts +22 -0
  92. package/src/components/select/examples/index.ts +3 -0
  93. package/src/components/select/examples/multiple.vue +22 -0
  94. package/src/components/select/examples/searchable.vue +20 -0
  95. package/src/components/skeleton/Skeleton.css +73 -0
  96. package/src/components/skeleton/Skeleton.vue +47 -0
  97. package/src/components/skeleton/examples/basic.vue +3 -0
  98. package/src/components/skeleton/examples/index.stories.ts +24 -0
  99. package/src/components/skeleton/examples/index.ts +2 -0
  100. package/src/components/skeleton/examples/post.vue +8 -0
  101. package/src/components/tab/Tab.css +113 -0
  102. package/src/components/tab/Tab.vue +98 -0
  103. package/src/components/tab/TabGroup.vue +90 -0
  104. package/src/components/tab/examples/basic.vue +19 -0
  105. package/src/components/tab/examples/index.stories.ts +25 -0
  106. package/src/components/tab/examples/index.ts +2 -0
  107. package/src/components/tab/examples/vertical.vue +19 -0
  108. package/src/components/table/Table.css +45 -0
  109. package/src/components/table/Table.vue +108 -0
  110. package/src/components/table/TableBody.vue +13 -0
  111. package/src/components/table/TableCell.vue +13 -0
  112. package/src/components/table/TableHead.vue +22 -0
  113. package/src/components/table/TableHeadRow.vue +15 -0
  114. package/src/components/table/TableRow.vue +13 -0
  115. package/src/components/table/examples/basic.vue +46 -0
  116. package/src/components/table/examples/index.stories.ts +19 -0
  117. package/src/components/table/examples/index.ts +1 -0
  118. package/src/components/table/types/index.ts +5 -0
  119. package/src/components/tooltip/Tooltip.css +49 -0
  120. package/src/components/tooltip/Tooltip.vue +85 -0
  121. package/src/components/tooltip/examples/basic.vue +8 -0
  122. package/src/components/tooltip/examples/index.stories.ts +21 -0
  123. package/src/components/tooltip/examples/index.ts +1 -0
  124. package/src/components/virtualscroll/VirtualScroll.css +13 -0
  125. package/src/components/virtualscroll/VirtualScroll.vue +61 -0
  126. package/src/components/virtualscroll/examples/basic.vue +37 -0
  127. package/src/components/virtualscroll/examples/index.stories.ts +31 -0
  128. package/src/components/virtualscroll/examples/index.ts +1 -0
  129. package/src/composables/element.ts +13 -0
  130. package/src/composables/useCachedUid.ts +48 -0
  131. package/src/composables/useEventListener.ts +14 -0
  132. package/src/composables/useInput.ts +134 -0
  133. package/src/composables/useIsServer.ts +7 -0
  134. package/src/composables/useMount.ts +43 -0
  135. package/src/composables/usePopper.ts +194 -0
  136. package/src/create.ts +34 -0
  137. package/src/css/components.css +14 -0
  138. package/src/css/index.css +4 -0
  139. package/src/css/normalize.css +379 -0
  140. package/src/css/transitions.css +40 -0
  141. package/src/css/variables.css +80 -0
  142. package/src/exports/nuxt.js +33 -0
  143. package/src/exports/nuxt.plugin.js +8 -0
  144. package/src/index.ts +5 -0
  145. package/src/install.ts +8 -0
  146. package/src/shims-vue.d.ts +6 -0
  147. package/src/types/props.ts +3 -0
@@ -0,0 +1,80 @@
1
+ :root {
2
+ --font-size: 14px;
3
+ --font-color: #333;
4
+ --font-family: 'Inter', sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
5
+
6
+ --white: #FFF;
7
+ --black: #000;
8
+
9
+ --blue: hsl(212, 92%, 53%);
10
+ --blue-outline: hsla(212, 92%, 53%, .4);
11
+ --blue-hover: hsl(212, 97%, 58%);
12
+ --blue-focus: hsl(212, 97%, 45%);
13
+ --blue-light: hsl(212, 92%, 51%);
14
+ --blue-lighter: hsl(212, 92%, 58%);
15
+ --blue-dark: hsl(212, 92%, 37%);
16
+ --blue-darker: hsl(212, 92%, 27%);
17
+ --blue-secondary: hsl(212, 89%, 93%);
18
+ --blue-secondary-hover: hsl(212, 97%, 90%);
19
+ --blue-secondary-focus: hsl(212, 97%, 88%);
20
+
21
+ --green: hsl(148, 74%, 36%);
22
+ --green-outline: hsla(148, 74%, 36%, .4);
23
+ --green-hover: hsl(148, 52%, 45%);
24
+ --green-focus: hsl(148, 52%, 37%);
25
+ --green-light: hsl(148, 92%, 51%);
26
+ --green-lighter: hsl(148, 92%, 58%);
27
+ --green-dark: hsl(148, 92%, 29%);
28
+ --green-darker: hsl(148, 92%, 25%);
29
+ --green-secondary: hsl(148, 42%, 90%);
30
+ --green-secondary-hover: hsl(148, 42%, 86%);
31
+ --green-secondary-focus: hsl(148, 42%, 82%);
32
+
33
+ --red: hsl(348, 63%, 50%);
34
+ --red-outline: hsla(348, 63%, 50%, 4);
35
+ --red-hover: hsl(348, 68%, 56%);
36
+ --red-focus: hsl(348, 68%, 46%);
37
+ --red-light: hsl(348, 64%, 50%);
38
+ --red-lighter: hsl(348, 63%, 58%);
39
+ --red-dark: hsl(348, 63%, 46%);
40
+ --red-darker: hsl(348, 63%, 40%);
41
+ --red-secondary: hsl(348, 61%, 92%);
42
+ --red-secondary-hover: hsl(348, 61%, 89%);
43
+ --red-secondary-focus: hsl(348, 61%, 85%);
44
+
45
+ --yellow: hsl(37, 87%, 53%);
46
+ --yellow-outline: hsla(37, 87%, 53%, .4);
47
+ --yellow-hover: hsl(37, 87%, 59%);
48
+ --yellow-focus: hsl(37, 87%, 48%);
49
+ --yellow-light: hsl(37, 64%, 52%);
50
+ --yellow-lighter: hsl(37, 63%, 60%);
51
+ --yellow-dark: hsl(37, 63%, 48%);
52
+ --yellow-darker: hsl(37, 63%, 42%);
53
+ --yellow-secondary: hsl(37, 61%, 92%);
54
+ --yellow-secondary-hover: hsl(37, 61%, 87%);
55
+ --yellow-secondary-focus: hsl(37, 61%, 85%);
56
+
57
+ --gray-50: #fafaf9;
58
+ --gray-100: #f5f5f4;
59
+ --gray-150: #eeeeee;
60
+ --gray-200: #e7e5e4;
61
+ --gray-300: #d6d3d1;
62
+ --gray-400: #bdbab8;
63
+ --gray-500: #78716c;
64
+ --gray-600: #57534e;
65
+ --gray-700: #44403c;
66
+ --gray-800: #292524;
67
+ --gray-900: #1c1917;
68
+
69
+ --shadow: 0px 4px 10px 1px rgb(154 161 171 / 20%);
70
+ }
71
+
72
+ html,
73
+ body {
74
+ height: 100%;
75
+ font-family: var(--font-family);
76
+ }
77
+
78
+ * {
79
+ box-sizing: border-box;
80
+ }
@@ -0,0 +1,33 @@
1
+ import { defineNuxtModule, addPlugin, createResolver } from '@nuxt/kit'
2
+ import { fileURLToPath } from 'node:url'
3
+
4
+ export default defineNuxtModule({
5
+ meta: {
6
+ name: '@teammodlr/ui-kit',
7
+ configKey: 'modlr',
8
+ compatibility: {
9
+ nuxt: '^3.0.0-rc.1',
10
+ },
11
+ },
12
+ defaults: {
13
+ prefix: 'M',
14
+ },
15
+ async setup(options, nuxt) {
16
+ // Create resolver to resolve relative paths
17
+ const { resolve } = createResolver(import.meta.url)
18
+
19
+ nuxt.options.runtimeConfig.public.modlrUiOptions = options
20
+
21
+ // plugin install
22
+ addPlugin(resolve('./nuxt.plugin.js'))
23
+
24
+ // nuxt install
25
+ nuxt.hook('components:dirs', (dirs) => {
26
+ dirs.push({
27
+ path: fileURLToPath(new URL('../src/components', import.meta.url)),
28
+ extensions: ['vue', 'tsx'],
29
+ prefix: options?.prefix ? options?.prefix : 'M',
30
+ })
31
+ })
32
+ },
33
+ })
@@ -0,0 +1,8 @@
1
+ import { defineNuxtPlugin } from '#app'
2
+ import create from '../src/create'
3
+
4
+ export default defineNuxtPlugin((nuxtApp) => {
5
+ const UI = create(nuxtApp.$config.modlrUiOptions)
6
+
7
+ nuxtApp.vueApp.use(UI)
8
+ })
package/src/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ import './css/index.css';
2
+ export * from './components';
3
+ export { default as createUI } from './create';
4
+ export { default } from './install';
5
+
package/src/install.ts ADDED
@@ -0,0 +1,8 @@
1
+ import * as components from './components'
2
+ import create from './create'
3
+
4
+ export default create({
5
+ components: Object.keys(components).map(
6
+ (key) => components[key as keyof object],
7
+ ),
8
+ })
@@ -0,0 +1,6 @@
1
+ // shims-vue.d.ts
2
+ declare module '*.vue' {
3
+ import type { DefineComponent } from 'vue'
4
+ const component: DefineComponent<{}, {}, any>
5
+ export default component
6
+ }
@@ -0,0 +1,3 @@
1
+ export type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2
+
3
+ export type Color = 'white' | 'black' | 'blue' | 'green' | 'red' | 'yellow' | 'gray';