whelk-ui 0.0.1 → 0.0.3

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 (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -2
  3. package/index.html +16 -0
  4. package/package.json +8 -8
  5. package/playwright.config.ts +79 -0
  6. package/src/App.vue +28 -0
  7. package/src/components/add_object/AddObject.vue +40 -0
  8. package/src/components/button/ButtonComponent.spec.ts +11 -0
  9. package/src/components/button/ButtonComponent.vue +103 -87
  10. package/src/components/card/CardComponent.vue +14 -0
  11. package/src/components/card/card_footer/CardFooter.vue +19 -0
  12. package/src/components/card/card_header/CardHeader.vue +16 -0
  13. package/src/components/check_box/CheckBox.vue +42 -0
  14. package/src/components/datetime/DatetimeComponent.vue +147 -0
  15. package/src/components/drop_down/DropDown.vue +104 -0
  16. package/src/components/drop_down/drop_down_item/DropDownItem.vue +58 -0
  17. package/src/components/form_group/FormGroup.spec.ts +16 -0
  18. package/src/components/form_group/FormGroup.vue +19 -0
  19. package/src/components/number_input/NumberInput.spec.ts +712 -0
  20. package/src/components/number_input/NumberInput.vue +264 -0
  21. package/src/components/password_input/PasswordInput.vue +166 -0
  22. package/src/components/render_error_message/RenderErrorMessage.spec.ts +0 -0
  23. package/src/components/render_error_message/RenderErrorMessage.vue +32 -0
  24. package/src/components/switch/SwitchComponent.vue +152 -0
  25. package/src/components/text_area/TextArea.vue +151 -0
  26. package/src/components/text_input/TextInput.vue +178 -0
  27. package/src/components/tool_tip/ToolTip.vue +96 -0
  28. package/src/main.ts +6 -0
  29. package/src/styles/main.css +1 -84
  30. package/src/styles/{variables → partials}/_general_variables.css +4 -14
  31. package/src/utils/enums/ObjectStateEnum.ts +13 -0
  32. package/src/utils/enums/ObjectTitleCaseEnums.ts +17 -0
  33. package/src/utils/enums/ObjectTypeEnums.ts +15 -0
  34. package/src/utils/interfaces/DocumentItemInterface.ts +5 -0
  35. package/src/utils/interfaces/DropDownItemsInterface.ts +8 -0
  36. package/src/utils/interfaces/FolderItemInterface.ts +4 -0
  37. package/src/utils/interfaces/MenuItemInterface.ts +10 -0
  38. package/tests/example.spec.ts +18 -0
  39. package/vite.config.ts +71 -42
  40. package/.vscode/extensions.json +0 -3
  41. package/src/index.ts +0 -3
  42. package/src/styles/_accessibility.css +0 -11
  43. package/src/styles/variables/_media_variables.css +0 -10
package/vite.config.ts CHANGED
@@ -1,50 +1,79 @@
1
- import { fileURLToPath, URL } from 'node:url'
2
- import { defineConfig } from 'vite'
1
+ import {defineConfig} from 'vite'
3
2
  import vue from '@vitejs/plugin-vue'
4
- import vueDevTools from 'vite-plugin-vue-devtools'
5
- import postcssCustomMedia from 'postcss-custom-media'
6
3
  import postcssNesting from 'postcss-nesting'
7
- import postcssGlobalData from '@csstools/postcss-global-data'
8
- import { resolve } from 'path'
4
+ import {resolve} from 'path'
5
+ import {playwright} from "@vitest/browser-playwright";
6
+ import {configDefaults} from "vitest/config";
7
+ import {fileURLToPath} from "node:url";
9
8
 
10
9
 
11
10
  // https://vite.dev/config/
12
11
  export default defineConfig({
13
- build: {
14
- lib: {
15
- entry: resolve(__dirname, 'src/index.ts'),
16
- name: 'whelk-ui',
17
- fileName: 'whelk-ui',
18
- },
19
- rollupOptions: {
20
- external: ['vue'],
21
- output: {
22
- globals: {
23
- vue: 'Vue',
12
+ build: {
13
+ cssCodeSplit: true,
14
+ lib: {
15
+ entry: {
16
+ addObject: resolve(__dirname, 'src/components/add_object/AddObject.vue'),
17
+ button: resolve(__dirname, 'src/components/button/ButtonComponent.vue'),
18
+ card: resolve(__dirname, 'src/components/card/CardComponent.vue'),
19
+ checkBox: resolve(__dirname, 'src/components/check_box/CheckBox.vue'),
20
+ datetime: resolve(__dirname, 'src/components/datetime/DatetimeComponent.vue'),
21
+ dropDown: resolve(__dirname, 'src/components/drop_down/DropDown.vue'),
22
+ formGroup: resolve(__dirname, 'src/components/form_group/FormGroup.vue'),
23
+ numberInput: resolve(__dirname, 'src/components/number_input/NumberInput.vue'),
24
+ passwordInput: resolve(__dirname, 'src/components/password_input/PasswordInput.vue'),
25
+ renderErrorMessage: resolve(__dirname, 'src/components/render_error_message/RenderErrorMessage.vue'),
26
+ switch: resolve(__dirname, 'src/components/switch/SwitchComponent.vue'),
27
+ textArea: resolve(__dirname, 'src/components/text_area/TextArea.vue'),
28
+ textInput: resolve(__dirname, 'src/components/text_input/TextInput.vue'),
29
+ toolTip: resolve(__dirname, 'src/components/tool_tip/ToolTip.vue'),
30
+ },
31
+ name: 'whelk-ui',
32
+ formats: ['es', 'cjs']
33
+ },
34
+ rollupOptions: {
35
+ external: ['vue'],
36
+ output: {
37
+ globals: {
38
+ vue: 'Vue',
39
+ },
40
+ preserveModules: true,
41
+ preserveModulesRoot: 'src'
42
+ },
43
+ },
44
+ },
45
+ css: {
46
+ postcss: {
47
+ plugins: [
48
+ postcssNesting,
49
+ ]
50
+ }
51
+ },
52
+ plugins: [
53
+ vue(),
54
+ ],
55
+ test: {
56
+ browser: {
57
+ enabled: true,
58
+ provider: playwright(),
59
+ instances: [
60
+ {browser: 'chromium'},
61
+ ],
24
62
  },
25
- },
26
- },
27
- },
28
- css: {
29
- postcss: {
30
- plugins: [
31
- postcssNesting,
32
- postcssGlobalData({
33
- files: [
34
- './src/styles/variables/_media_variables.css',
35
- ]
36
- }),
37
- postcssCustomMedia,
38
- ]
39
- }
40
- },
41
- plugins: [
42
- vue(),
43
- vueDevTools(),
44
- ],
45
- resolve: {
46
- alias: {
47
- '@': fileURLToPath(new URL('./src', import.meta.url)),
48
- },
49
- },
63
+ coverage: {
64
+ provider: 'v8',
65
+ exclude: [
66
+ 'e2e/**',
67
+ 'src/main.ts'
68
+ ],
69
+ },
70
+ environment: 'jsdom',
71
+ exclude: [
72
+ ...configDefaults.exclude,
73
+ 'e2e/**'
74
+ ],
75
+ root: fileURLToPath(
76
+ new URL('./', import.meta.url)
77
+ ),
78
+ }
50
79
  })
@@ -1,3 +0,0 @@
1
- {
2
- "recommendations": ["Vue.volar"]
3
- }
package/src/index.ts DELETED
@@ -1,3 +0,0 @@
1
- import ButtonComponent from './components/button/ButtonComponent.vue';
2
-
3
- export { ButtonComponent };
@@ -1,11 +0,0 @@
1
- .hidden-visually {
2
- position: absolute;
3
- overflow: hidden;
4
- white-space: nowrap;
5
- margin: 0;
6
- padding: 0;
7
- height: 1px;
8
- width: 1px;
9
- clip: rect(0 0 0 0);
10
- clip-path: inset(100%);
11
- }
@@ -1,10 +0,0 @@
1
- /* Mobile phone screens will have a screen size smaller than 640 * Small screens
2
- will have a screen size of 640px or larger * Medium screen will have a screen
3
- size of 768px or larger * etc. * * Small screens are considered mobile phones *
4
- Medium screens are considered tables * Large screens are considered laptops *
5
- etc. */
6
- @custom-media --small-screen (min-width: 640px);
7
- @custom-media --medium-screen (min-width: 768px);
8
- @custom-media --large-screen (min-width: 1024px);
9
- @custom-media --x-large-screen (min-width: 1280px);
10
- @custom-media --2x-large-screen (min-width: 1536px);