@v1nt1248/3nclient-lib 0.1.6 → 0.1.7

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 (127) hide show
  1. package/dist/components/index.d.ts +40 -23
  2. package/dist/components/ui3n-badge/types.d.ts +13 -0
  3. package/dist/components/{ui3n-badge-simple.vue.d.ts → ui3n-badge/ui3n-badge-simple.vue.d.ts} +1 -6
  4. package/dist/components/{ui3n-badge.vue.d.ts → ui3n-badge/ui3n-badge.vue.d.ts} +1 -7
  5. package/dist/components/ui3n-breadcrumbs/types.d.ts +17 -0
  6. package/dist/components/{ui3n-breadcrumb.vue.d.ts → ui3n-breadcrumbs/ui3n-breadcrumb.vue.d.ts} +1 -12
  7. package/dist/components/{ui3n-breadcrumbs.vue.d.ts → ui3n-breadcrumbs/ui3n-breadcrumbs.vue.d.ts} +1 -4
  8. package/dist/components/ui3n-button/types.d.ts +19 -0
  9. package/dist/components/{ui3n-button.vue.d.ts → ui3n-button/ui3n-button.vue.d.ts} +1 -19
  10. package/dist/components/ui3n-checkbox/types.d.ts +18 -0
  11. package/dist/components/{ui3n-checkbox.vue.d.ts → ui3n-checkbox/ui3n-checkbox.vue.d.ts} +1 -17
  12. package/dist/components/ui3n-chip/types.d.ts +21 -0
  13. package/dist/components/{ui3n-chip.vue.d.ts → ui3n-chip/ui3n-chip.vue.d.ts} +1 -20
  14. package/dist/components/ui3n-dialog/types.d.ts +36 -0
  15. package/dist/components/{ui3n-dialog.vue.d.ts → ui3n-dialog/ui3n-dialog.vue.d.ts} +1 -36
  16. package/dist/components/ui3n-drop-files/types.d.ts +12 -0
  17. package/dist/components/{ui3n-drop-files.vue.d.ts → ui3n-drop-files/ui3n-drop-files.vue.d.ts} +2 -11
  18. package/dist/components/ui3n-emoji/types.d.ts +8 -0
  19. package/dist/components/{ui3n-emoji.vue.d.ts → ui3n-emoji/ui3n-emoji.vue.d.ts} +1 -8
  20. package/dist/components/ui3n-icon/types.d.ts +16 -0
  21. package/dist/components/{ui3n-icon.vue.d.ts → ui3n-icon/ui3n-icon.vue.d.ts} +1 -16
  22. package/dist/components/ui3n-input/types.d.ts +25 -0
  23. package/dist/components/{ui3n-input.vue.d.ts → ui3n-input/ui3n-input.vue.d.ts} +1 -25
  24. package/dist/components/ui3n-list/types.d.ts +20 -0
  25. package/dist/components/{ui3n-list.vue.d.ts → ui3n-list/ui3n-list.vue.d.ts} +1 -19
  26. package/dist/components/ui3n-notification/types.d.ts +11 -0
  27. package/dist/components/{ui3n-notification.vue.d.ts → ui3n-notification/ui3n-notification.vue.d.ts} +1 -1
  28. package/dist/components/ui3n-progress/types.d.ts +17 -0
  29. package/dist/components/{ui3n-progress-circular.vue.d.ts → ui3n-progress/ui3n-progress-circular.vue.d.ts} +1 -9
  30. package/dist/components/{ui3n-progress-linear.vue.d.ts → ui3n-progress/ui3n-progress-linear.vue.d.ts} +1 -8
  31. package/dist/components/ui3n-step-line-bar/types.d.ts +5 -0
  32. package/dist/components/{ui3n-step-line-bar.vue.d.ts → ui3n-step-line-bar/ui3n-step-line-bar.vue.d.ts} +1 -5
  33. package/dist/components/ui3n-switch/types.d.ts +14 -0
  34. package/dist/components/{ui3n-switch.vue.d.ts → ui3n-switch/ui3n-switch.vue.d.ts} +1 -13
  35. package/dist/components/ui3n-table/composables/useTable.d.ts +1 -1
  36. package/dist/components/ui3n-table/types.d.ts +5 -0
  37. package/dist/components/{ui3n-table-sort-icon.vue.d.ts → ui3n-table/ui3n-table-sort-icon.vue.d.ts} +1 -5
  38. package/dist/components/ui3n-tabs/types.d.ts +16 -0
  39. package/dist/components/{ui3n-tabs.vue.d.ts → ui3n-tabs/ui3n-tabs.vue.d.ts} +2 -18
  40. package/dist/components/ui3n-text/types.d.ts +17 -0
  41. package/dist/components/{ui3n-text.vue.d.ts → ui3n-text/ui3n-text.vue.d.ts} +1 -17
  42. package/dist/components/ui3n-virtual-scroll/types.d.ts +12 -0
  43. package/dist/components/{ui3n-virtual-scroll.vue.d.ts → ui3n-virtual-scroll/ui3n-virtual-scroll.vue.d.ts} +1 -11
  44. package/dist/constants/index.d.ts +0 -1
  45. package/dist/index.d.ts +26 -24
  46. package/dist/plugins/dialogs/dialogs.d.ts +9 -0
  47. package/dist/plugins/{store-dialogs.d.ts → dialogs/store-dialogs.d.ts} +1 -1
  48. package/dist/plugins/dialogs/types.d.ts +12 -0
  49. package/dist/plugins/i18n/i18n.d.ts +9 -0
  50. package/dist/plugins/{i18n.d.ts → i18n/types.d.ts} +1 -9
  51. package/dist/plugins/index.d.ts +13 -9
  52. package/dist/plugins/notifications/notifications.d.ts +8 -0
  53. package/dist/plugins/{store-notifications.d.ts → notifications/store-notifications.d.ts} +1 -1
  54. package/dist/plugins/notifications/types.d.ts +6 -0
  55. package/dist/plugins/{store-vue-bus.d.ts → vue-bus/store-vue-bus.d.ts} +1 -1
  56. package/dist/plugins/vue-bus/types.d.ts +13 -0
  57. package/dist/plugins/{vue-bus.d.ts → vue-bus/vue-bus.d.ts} +2 -6
  58. package/dist/style.css +1 -0
  59. package/dist/{components.d.ts → ui3n-components.d.ts} +22 -22
  60. package/dist/ui3n-plugins.d.ts +44 -0
  61. package/dist/ui3n-plugins.js +5678 -0
  62. package/dist/{utils.d.ts → ui3n-utils.d.ts} +1 -1
  63. package/dist/{tools → utils}/index.d.ts +2 -2
  64. package/package.json +9 -10
  65. package/src/components/index.ts +46 -41
  66. package/src/components/ui3n-badge/types.ts +14 -0
  67. package/src/components/{ui3n-badge-simple.vue → ui3n-badge/ui3n-badge-simple.vue} +29 -35
  68. package/src/components/ui3n-badge/ui3n-badge.vue +82 -0
  69. package/src/components/ui3n-breadcrumbs/types.ts +21 -0
  70. package/src/components/{ui3n-breadcrumb.vue → ui3n-breadcrumbs/ui3n-breadcrumb.vue} +1 -14
  71. package/src/components/{ui3n-breadcrumbs.vue → ui3n-breadcrumbs/ui3n-breadcrumbs.vue} +1 -4
  72. package/src/components/ui3n-button/types.ts +20 -0
  73. package/src/components/{ui3n-button.vue → ui3n-button/ui3n-button.vue} +3 -23
  74. package/src/components/ui3n-checkbox/types.ts +22 -0
  75. package/src/components/{ui3n-checkbox.vue → ui3n-checkbox/ui3n-checkbox.vue} +2 -23
  76. package/src/components/ui3n-chip/types.ts +19 -0
  77. package/src/components/{ui3n-chip.vue → ui3n-chip/ui3n-chip.vue} +32 -50
  78. package/src/components/ui3n-dialog/types.ts +40 -0
  79. package/src/components/{ui3n-dialog.vue → ui3n-dialog/ui3n-dialog.vue} +3 -49
  80. package/src/components/ui3n-drop-files/types.ts +15 -0
  81. package/src/components/{ui3n-drop-files.vue → ui3n-drop-files/ui3n-drop-files.vue} +2 -10
  82. package/src/components/ui3n-emoji/types.ts +9 -0
  83. package/src/components/{ui3n-emoji.vue → ui3n-emoji/ui3n-emoji.vue} +2 -11
  84. package/src/components/ui3n-icon/types.ts +17 -0
  85. package/src/components/ui3n-icon/ui3n-icon.vue +53 -0
  86. package/src/components/ui3n-input/types.ts +26 -0
  87. package/src/components/{ui3n-input.vue → ui3n-input/ui3n-input.vue} +4 -30
  88. package/src/components/ui3n-list/types.ts +17 -0
  89. package/src/components/{ui3n-list.vue → ui3n-list/ui3n-list.vue} +1 -16
  90. package/src/components/ui3n-notification/types.ts +11 -0
  91. package/src/components/{ui3n-notification.vue → ui3n-notification/ui3n-notification.vue} +3 -3
  92. package/src/components/ui3n-progress/types.ts +18 -0
  93. package/src/components/{ui3n-progress-circular.vue → ui3n-progress/ui3n-progress-circular.vue} +1 -10
  94. package/src/components/{ui3n-progress-linear.vue → ui3n-progress/ui3n-progress-linear.vue} +1 -9
  95. package/src/components/ui3n-step-line-bar/types.ts +5 -0
  96. package/src/components/{ui3n-step-line-bar.vue → ui3n-step-line-bar/ui3n-step-line-bar.vue} +1 -5
  97. package/src/components/ui3n-switch/types.ts +17 -0
  98. package/src/components/{ui3n-switch.vue → ui3n-switch/ui3n-switch.vue} +1 -16
  99. package/src/components/ui3n-table/composables/useTable.ts +1 -1
  100. package/src/components/ui3n-table/types.ts +6 -0
  101. package/src/components/{ui3n-table-sort-icon.vue → ui3n-table/ui3n-table-sort-icon.vue} +2 -7
  102. package/src/components/ui3n-table/ui3n-table.vue +3 -3
  103. package/src/components/ui3n-tabs/types.ts +19 -0
  104. package/src/components/{ui3n-tabs.vue → ui3n-tabs/ui3n-tabs.vue} +3 -20
  105. package/src/components/ui3n-text/types.ts +18 -0
  106. package/src/components/{ui3n-text.vue → ui3n-text/ui3n-text.vue} +2 -21
  107. package/src/components/ui3n-virtual-scroll/types.ts +11 -0
  108. package/src/components/{ui3n-virtual-scroll.vue → ui3n-virtual-scroll/ui3n-virtual-scroll.vue} +1 -11
  109. package/dist/constants/types.d.ts +0 -29
  110. package/dist/plugins/dialogs.d.ts +0 -18
  111. package/dist/plugins/notifications.d.ts +0 -12
  112. package/dist/plugins.d.ts +0 -32
  113. package/dist/plugins.js +0 -1
  114. package/src/components/ui3n-badge.vue +0 -89
  115. package/src/components/ui3n-icon.vue +0 -70
  116. package/src/components/ui3n-table-simple.vue +0 -328
  117. /package/dist/plugins/{store-i18n.d.ts → i18n/store-i18n.d.ts} +0 -0
  118. /package/dist/plugins/{icons.d.ts → icons/icons.d.ts} +0 -0
  119. /package/dist/{ui-3n-lib.js → ui3n-components.js} +0 -0
  120. /package/dist/{utils.js → ui3n-utils.js} +0 -0
  121. /package/dist/{tools/common.helpers.d.ts → utils/common.utils.d.ts} +0 -0
  122. /package/dist/{tools → utils}/sqlite-on-3nstorage/deferred.d.ts +0 -0
  123. /package/dist/{tools → utils}/sqlite-on-3nstorage/index.d.ts +0 -0
  124. /package/dist/{tools → utils}/sqlite-on-3nstorage/synced.d.ts +0 -0
  125. /package/dist/{tools → utils}/sqlite-on-3nstorage/types.d.ts +0 -0
  126. /package/dist/{tools → utils}/textarea-max-rows.d.ts +0 -0
  127. /package/dist/{tools/ui.helpers.d.ts → utils/ui.utils.d.ts} +0 -0
@@ -1,2 +1,2 @@
1
1
  export * from './constants';
2
- export * from './tools';
2
+ export * from './utils';
@@ -1,5 +1,5 @@
1
1
  export * from './textarea-max-rows';
2
- export * from './common.helpers';
3
- export * from './ui.helpers';
2
+ export * from './common.utils';
3
+ export * from './ui.utils';
4
4
  export { SQLiteOn3NStorage } from './sqlite-on-3nstorage';
5
5
  export type { BindParams, Database, QueryExecResult } from './sqlite-on-3nstorage';
package/package.json CHANGED
@@ -2,27 +2,27 @@
2
2
  "name": "@v1nt1248/3nclient-lib",
3
3
  "license": "AGPL-3.0-or-later",
4
4
  "author": "v1nt1248",
5
- "version": "0.1.6",
5
+ "version": "0.1.7",
6
6
  "description": "Library for 3NWeb clients",
7
7
  "type": "module",
8
8
  "files": [
9
9
  "dist",
10
10
  "src/components/"
11
11
  ],
12
- "main": "./dist/ui-3n-lib.js",
13
- "module": "./dist/ui-3n-lib.js",
12
+ "main": "./dist/ui3n-components.js",
13
+ "module": "./dist/ui3n-components.js",
14
14
  "exports": {
15
15
  ".": {
16
- "import": "./dist/ui-3n-lib.js",
17
- "types": "./dist/components.d.ts"
16
+ "import": "./dist/ui3n-components.js",
17
+ "types": "./dist/ui3n-components.d.ts"
18
18
  },
19
19
  "./plugins": {
20
- "import": "./dist/plugins.js",
21
- "types": "./dist/plugins.d.ts"
20
+ "import": "./dist/ui3n-plugins.js",
21
+ "types": "./dist/ui3n-plugins.d.ts"
22
22
  },
23
23
  "./utils": {
24
- "import": "./dist/utils.js",
25
- "types": "./dist/utils.d.ts"
24
+ "import": "./dist/ui3n-utils.js",
25
+ "types": "./dist/ui3n-utils.d.ts"
26
26
  },
27
27
  "./style.css": "./dist/style.css",
28
28
  "./variables.css": "./dist/variables.css"
@@ -37,7 +37,6 @@
37
37
  "build:plugins": "LIB_NAME=plugins vite build",
38
38
  "build:utils": "LIB_NAME=utils vite build",
39
39
  "build": "pnpm run clean:dist && pnpm run build:components && pnpm run build:plugins && pnpm run build:utils && pnpm run copy:css",
40
- "build:old": "vite build && pnpm run copy:css",
41
40
  "preview": "vite preview",
42
41
  "stylelint": "stylelint --config .stylelint.config.cjs 'src/**/*.{vue,scss}'",
43
42
  "stylelint:fix": "stylelint --config .stylelint.config.cjs --fix 'src/**/*.{vue,scss}'",
@@ -1,24 +1,24 @@
1
- import Ui3nIcon from './ui3n-icon.vue';
2
- import type { Ui3nIconProps, Ui3nIconEmits } from './ui3n-icon.vue';
3
- import Ui3nButton from './ui3n-button.vue';
4
- import type { Ui3nButtonProps, Ui3nButtonEmits } from './ui3n-button.vue';
5
- import Ui3nChip from './ui3n-chip.vue';
6
- import type { Ui3nChipProps, Ui3nChipEmits, Ui3nChipSlots } from './ui3n-chip.vue';
7
- import Ui3nDropFiles from './ui3n-drop-files.vue';
8
- import type { Ui3nDropFilesProps, Ui3nDropFilesEmits } from './ui3n-drop-files.vue';
9
- import Ui3nEmoji from './ui3n-emoji.vue';
10
- import type { Ui3nEmojiProps, Ui3nEmojiEmits } from './ui3n-emoji.vue';
11
- import Ui3nInput from './ui3n-input.vue';
12
- import type { Ui3nInputProps, Ui3nInputEmits } from './ui3n-input.vue';
13
- import Ui3nText from './ui3n-text.vue';
14
- import type { Ui3nTextProps, Ui3nTextEmits } from './ui3n-text.vue';
15
- import Ui3nCheckbox from './ui3n-checkbox.vue';
16
- import type { Ui3nCheckboxProps, Ui3nCheckboxEmits, Ui3nCheckboxSlots } from './ui3n-checkbox.vue';
17
- import Ui3nNotification from './ui3n-notification.vue';
18
- import Ui3nTableSortIcon from './ui3n-table-sort-icon.vue';
19
- import type { Ui3nTableSortIconProps } from './ui3n-table-sort-icon.vue';
1
+ import Ui3nIcon from './ui3n-icon/ui3n-icon.vue';
2
+ import type { Ui3nIconProps, Ui3nIconEmits } from './ui3n-icon/types';
3
+ import Ui3nButton from './ui3n-button/ui3n-button.vue';
4
+ import type { Ui3nButtonProps, Ui3nButtonEmits } from './ui3n-button/types';
5
+ import Ui3nChip from './ui3n-chip/ui3n-chip.vue';
6
+ import type { Ui3nChipProps, Ui3nChipEmits, Ui3nChipSlots } from './ui3n-chip/types';
7
+ import Ui3nDropFiles from './ui3n-drop-files/ui3n-drop-files.vue';
8
+ import type { Ui3nDropFilesProps, Ui3nDropFilesEmits, Ui3nDropFilesSlots } from './ui3n-drop-files/types';
9
+ import Ui3nEmoji from './ui3n-emoji/ui3n-emoji.vue';
10
+ import type { Ui3nEmojiProps, Ui3nEmojiEmits } from './ui3n-emoji/types';
11
+ import Ui3nInput from './ui3n-input/ui3n-input.vue';
12
+ import type { Ui3nInputProps, Ui3nInputEmits } from './ui3n-input/types';
13
+ import Ui3nText from './ui3n-text/ui3n-text.vue';
14
+ import type { Ui3nTextProps, Ui3nTextEmits } from './ui3n-text/types';
15
+ import Ui3nCheckbox from './ui3n-checkbox/ui3n-checkbox.vue';
16
+ import type { Ui3nCheckboxProps, Ui3nCheckboxEmits, Ui3nCheckboxSlots, Ui3nCheckboxValue } from './ui3n-checkbox/types';
17
+ import Ui3nNotification from './ui3n-notification/ui3n-notification.vue';
18
+ import Ui3nTableSortIcon from './ui3n-table/ui3n-table-sort-icon.vue';
20
19
  import Ui3nTable from './ui3n-table/ui3n-table.vue';
21
20
  import type {
21
+ Ui3nTableSortIconProps,
22
22
  Ui3nTableSort,
23
23
  Ui3nTableConfig,
24
24
  Ui3nTableHeadProps,
@@ -33,35 +33,38 @@ import type {
33
33
  Ui3nTableProps,
34
34
  Ui3nTableEmits,
35
35
  } from './ui3n-table/types';
36
- import Ui3nDialog from './ui3n-dialog.vue';
36
+ import Ui3nDialog from './ui3n-dialog/ui3n-dialog.vue';
37
37
  import type {
38
38
  Ui3nDialogComponentProps,
39
39
  Ui3nDialogComponentEmits,
40
40
  Ui3nDialogProps,
41
41
  Ui3nDialogEvent,
42
- } from './ui3n-dialog.vue';
42
+ } from './ui3n-dialog/types';
43
43
  import Ui3nMenu from './ui3n-menu/ui3n-menu.vue';
44
44
  import type { Ui3nMenuProps, Ui3nMenuEmits, Ui3nMenuSlots } from './ui3n-menu/types';
45
- import Ui3nList from './ui3n-list.vue';
46
- import type { Ui3nListProps, Ui3nListEmits, Ui3nListSlots } from './ui3n-list.vue';
47
- import Ui3nVirtualScroll from './ui3n-virtual-scroll.vue';
48
- import type { Ui3nVirtualScrollProps, Ui3nVirtualScrollSlots } from './ui3n-virtual-scroll.vue';
49
- import Ui3nTabs from './ui3n-tabs.vue';
50
- import type { Ui3nTabsProps, Ui3nTabsEmits, Ui3nTabsSlots } from './ui3n-tabs.vue';
51
- import Ui3nBadge from './ui3n-badge.vue';
52
- import type { Ui3nBadgeProps } from './ui3n-badge.vue';
53
- import Ui3nBreadcrumb from './ui3n-breadcrumb.vue';
54
- import type { Ui3nBreadcrumbProps, Ui3nBreadcrumbEmits, Ui3nBreadcrumbSlots } from './ui3n-breadcrumb.vue';
55
- import Ui3nBreadcrumbs from './ui3n-breadcrumbs.vue';
56
- import type { Ui3nBreadcrumbsProps } from './ui3n-breadcrumbs.vue';
57
- import Ui3nSwitch from './ui3n-switch.vue';
58
- import type { Ui3nSwitchProps, Ui3nSwitchEmits, Ui3nSwitchSlots } from './ui3n-switch.vue';
59
- import Ui3nStepLineBar from './ui3n-step-line-bar.vue';
60
- import type { Ui3nStepLineBarProps } from './ui3n-step-line-bar.vue';
61
- import Ui3nProgressLinear from './ui3n-progress-linear.vue';
62
- import type { Ui3nProgressLinearProps } from './ui3n-progress-linear.vue';
63
- import Ui3nProgressCircular from './ui3n-progress-circular.vue';
64
- import type { Ui3nProgressCircularProps } from './ui3n-progress-circular.vue';
45
+ import Ui3nList from './ui3n-list/ui3n-list.vue';
46
+ import type { Ui3nListProps, Ui3nListEmits, Ui3nListSlots } from './ui3n-list/types';
47
+ import Ui3nVirtualScroll from './ui3n-virtual-scroll/ui3n-virtual-scroll.vue';
48
+ import type { Ui3nVirtualScrollProps, Ui3nVirtualScrollSlots } from './ui3n-virtual-scroll/types';
49
+ import Ui3nTabs from './ui3n-tabs/ui3n-tabs.vue';
50
+ import type { Ui3nTabsProps, Ui3nTabsEmits, Ui3nTabsSlots } from './ui3n-tabs/types';
51
+ import Ui3nBadge from './ui3n-badge/ui3n-badge.vue';
52
+ import type { Ui3nBadgeProps } from './ui3n-badge/types';
53
+ import Ui3nBreadcrumb from './ui3n-breadcrumbs/ui3n-breadcrumb.vue';
54
+ import Ui3nBreadcrumbs from './ui3n-breadcrumbs/ui3n-breadcrumbs.vue';
55
+ import type {
56
+ Ui3nBreadcrumbProps,
57
+ Ui3nBreadcrumbEmits,
58
+ Ui3nBreadcrumbSlots,
59
+ Ui3nBreadcrumbsProps,
60
+ } from './ui3n-breadcrumbs/types';
61
+ import Ui3nSwitch from './ui3n-switch/ui3n-switch.vue';
62
+ import type { Ui3nSwitchProps, Ui3nSwitchEmits, Ui3nSwitchSlots } from './ui3n-switch/types';
63
+ import Ui3nStepLineBar from './ui3n-step-line-bar/ui3n-step-line-bar.vue';
64
+ import type { Ui3nStepLineBarProps } from './ui3n-step-line-bar/types';
65
+ import Ui3nProgressLinear from './ui3n-progress/ui3n-progress-linear.vue';
66
+ import Ui3nProgressCircular from './ui3n-progress/ui3n-progress-circular.vue';
67
+ import type { Ui3nProgressCircularProps, Ui3nProgressLinearProps } from './ui3n-progress/types';
65
68
  import Ui3nTooltip from './ui3n-tooltip/ui3n-tooltip.vue';
66
69
  import type { Ui3nTooltipEmits, Ui3nTooltipProps, Ui3nTooltipSlots, Ui3nTooltipPlacement } from './ui3n-tooltip/types';
67
70
 
@@ -79,6 +82,7 @@ export {
79
82
  Ui3nDropFiles,
80
83
  Ui3nDropFilesProps,
81
84
  Ui3nDropFilesEmits,
85
+ Ui3nDropFilesSlots,
82
86
  Ui3nEmoji,
83
87
  Ui3nEmojiProps,
84
88
  Ui3nEmojiEmits,
@@ -92,6 +96,7 @@ export {
92
96
  Ui3nCheckboxProps,
93
97
  Ui3nCheckboxEmits,
94
98
  Ui3nCheckboxSlots,
99
+ Ui3nCheckboxValue,
95
100
  Ui3nNotification,
96
101
  Ui3nTableSortIcon,
97
102
  Ui3nTableSortIconProps,
@@ -0,0 +1,14 @@
1
+ export interface Ui3nBadgeSimpleProps {
2
+ dot?: boolean;
3
+ value?: string | number;
4
+ color?: string;
5
+ textColor?: string;
6
+ }
7
+
8
+ export interface Ui3nBadgeProps {
9
+ dot?: boolean;
10
+ value?: string | number;
11
+ color?: string;
12
+ textColor?: string;
13
+ position?: 'right-top' | 'right-bottom' | 'left-top' | 'left-bottom';
14
+ }
@@ -1,45 +1,39 @@
1
1
  <script lang="ts" setup>
2
- import { nextTick, onMounted, ref, watch } from 'vue'
2
+ import { nextTick, onMounted, ref, watch } from 'vue';
3
+ import type { Ui3nBadgeSimpleProps } from './types';
3
4
 
4
- export interface Ui3nBadgeSimpleProps {
5
- dot?: boolean;
6
- value?: string | number;
7
- color?: string;
8
- textColor?: string;
9
- }
10
-
11
- const props = withDefaults(
12
- defineProps<Ui3nBadgeSimpleProps>(),
13
- {
14
- dot: false,
15
- value: '',
16
- color: 'var(--color-bg-button-primary-default)',
17
- textColor: 'var(--color-text-button-primary-default)',
18
- },
19
- )
5
+ const props = withDefaults(
6
+ defineProps<Ui3nBadgeSimpleProps>(),
7
+ {
8
+ dot: false,
9
+ value: '',
10
+ color: 'var(--color-bg-button-primary-default)',
11
+ textColor: 'var(--color-text-button-primary-default)',
12
+ },
13
+ );
20
14
 
21
- const emits = defineEmits<{
22
- (ev: 'change:size', val: { width: number; height: number }): void;
23
- }>()
15
+ const emits = defineEmits<{
16
+ (ev: 'change:size', val: { width: number; height: number }): void;
17
+ }>();
24
18
 
25
- const element = ref<HTMLDivElement | null>(null)
19
+ const element = ref<HTMLDivElement | null>(null);
26
20
 
27
- watch(
28
- () => [props.value, props.dot],
29
- () => getElementSize(),
30
- )
21
+ watch(
22
+ () => [props.value, props.dot],
23
+ () => getElementSize(),
24
+ );
31
25
 
32
- onMounted(() => {
33
- getElementSize()
34
- })
26
+ onMounted(() => {
27
+ getElementSize();
28
+ });
35
29
 
36
- function getElementSize() {
37
- nextTick(() => {
38
- if (element.value) {
39
- emits('change:size', { width: element.value.offsetWidth, height: element.value.offsetHeight })
40
- }
41
- })
42
- }
30
+ function getElementSize() {
31
+ nextTick(() => {
32
+ if (element.value) {
33
+ emits('change:size', { width: element.value.offsetWidth, height: element.value.offsetHeight });
34
+ }
35
+ });
36
+ }
43
37
  </script>
44
38
 
45
39
  <template>
@@ -0,0 +1,82 @@
1
+ <script lang="ts" setup>
2
+ import { computed, ref, useSlots } from 'vue';
3
+ import get from 'lodash/get';
4
+ import Ui3nBadgeSimple from './ui3n-badge-simple.vue';
5
+ import type { Ui3nBadgeProps } from './types';
6
+
7
+ const props = withDefaults(
8
+ defineProps<Ui3nBadgeProps>(),
9
+ {
10
+ dot: false,
11
+ value: '',
12
+ color: 'var(--color-bg-button-primary-default)',
13
+ textColor: 'var(--color-text-button-primary-default)',
14
+ position: 'right-top',
15
+ },
16
+ );
17
+
18
+ const slots = useSlots();
19
+ const badgeElementSize = ref<{
20
+ width: number;
21
+ height: number;
22
+ } | never>();
23
+
24
+ const hasDefaultSlot = computed(() => !!slots.default);
25
+ const style = computed(() => {
26
+ const [xPosition, yPosition] = props.position.split('-');
27
+ return {
28
+ ...(xPosition === 'right' && { right: `-${get(badgeElementSize.value, 'width', 0) / 2}px` }),
29
+ ...(xPosition === 'left' && { left: `-${get(badgeElementSize.value, 'width', 0) / 2}px` }),
30
+ ...(yPosition === 'top' && { top: `-${get(badgeElementSize.value, 'height', 0) / 2}px` }),
31
+ ...(yPosition === 'bottom' && { bottom: `-${get(badgeElementSize.value, 'height', 0) / 2}px` }),
32
+ };
33
+ });
34
+ </script>
35
+
36
+ <template>
37
+ <!-- eslint-disable vue/no-multiple-template-root -->
38
+ <div
39
+ v-if="hasDefaultSlot"
40
+ :class="$style.badge"
41
+ >
42
+ <div :class="$style.wrapper">
43
+ <slot />
44
+
45
+ <ui3n-badge-simple
46
+ :dot="dot"
47
+ :value="value"
48
+ :color="color"
49
+ :text-color="textColor"
50
+ :style="style"
51
+ :class="$style.content"
52
+ @change:size="badgeElementSize = $event"
53
+ />
54
+ </div>
55
+ </div>
56
+
57
+ <ui3n-badge-simple
58
+ v-else
59
+ :dot="dot"
60
+ :value="value"
61
+ :color="color"
62
+ :text-color="textColor"
63
+ />
64
+ </template>
65
+
66
+ <style lang="scss" module>
67
+ .badge {
68
+ --ui3n-badge-size: 20px;
69
+
70
+ position: relative;
71
+ }
72
+
73
+ .wrapper {
74
+ position: relative;
75
+ width: max-content;
76
+ }
77
+
78
+ .content {
79
+ position: absolute;
80
+ z-index: 5;
81
+ }
82
+ </style>
@@ -0,0 +1,21 @@
1
+ import { VNode } from 'vue';
2
+
3
+ export interface Ui3nBreadcrumbProps {
4
+ separator?: string | undefined;
5
+ isActive?: boolean;
6
+ disabled?: boolean;
7
+ }
8
+
9
+ export interface Ui3nBreadcrumbEmits {
10
+ (ev: 'click', value: Event): void;
11
+ }
12
+
13
+ export interface Ui3nBreadcrumbSlots {
14
+ separator: () => VNode;
15
+ default: () => VNode;
16
+ }
17
+
18
+ export interface Ui3nBreadcrumbsProps {
19
+ separator?: string;
20
+ disabled?: boolean;
21
+ }
@@ -1,18 +1,6 @@
1
1
  <script lang="ts" setup>
2
2
  import { computed, getCurrentInstance } from 'vue';
3
-
4
- export interface Ui3nBreadcrumbProps {
5
- separator?: string | undefined;
6
- isActive?: boolean;
7
- disabled?: boolean;
8
- }
9
- export interface Ui3nBreadcrumbEmits {
10
- (ev: 'click', value: Event): void;
11
- }
12
- export interface Ui3nBreadcrumbSlots {
13
- separator: () => unknown;
14
- default: () => unknown;
15
- }
3
+ import type { Ui3nBreadcrumbEmits, Ui3nBreadcrumbProps, Ui3nBreadcrumbSlots } from './types';
16
4
 
17
5
  const props = withDefaults(
18
6
  defineProps<Ui3nBreadcrumbProps>(),
@@ -22,7 +10,6 @@
22
10
  disabled: false,
23
11
  },
24
12
  );
25
-
26
13
  const emits = defineEmits<Ui3nBreadcrumbEmits>();
27
14
  defineSlots<Ui3nBreadcrumbSlots>();
28
15
 
@@ -1,8 +1,5 @@
1
1
  <script lang="ts" setup>
2
- export interface Ui3nBreadcrumbsProps {
3
- separator?: string;
4
- disabled?: boolean;
5
- }
2
+ import type { Ui3nBreadcrumbsProps } from './types';
6
3
 
7
4
  withDefaults(
8
5
  defineProps<Ui3nBreadcrumbsProps>(),
@@ -0,0 +1,20 @@
1
+ export interface Ui3nButtonProps {
2
+ type?: 'primary' | 'secondary' | 'tertiary' | 'icon' | 'custom';
3
+ size?: 'regular' | 'small';
4
+ block?: boolean;
5
+ textColor?: string;
6
+ color?: string;
7
+ elevation?: boolean;
8
+ icon?: string;
9
+ iconSize?: string | number;
10
+ iconColor?: string;
11
+ iconPosition?: 'left' | 'right';
12
+ disabled?: boolean;
13
+ }
14
+
15
+ export interface Ui3nButtonEmits {
16
+ (ev: 'init', value: HTMLButtonElement): void;
17
+ (ev: 'click', value: Event): void;
18
+ (ev: 'focus', value: Event): void;
19
+ (ev: 'blur', value: Event): void;
20
+ }
@@ -1,27 +1,7 @@
1
1
  <script lang="ts" setup>
2
2
  import { onMounted, ref, watch } from 'vue';
3
- import Ui3nIcon from './ui3n-icon.vue';
4
-
5
- export interface Ui3nButtonProps {
6
- type?: 'primary' | 'secondary' | 'tertiary' | 'icon' | 'custom';
7
- size?: 'regular' | 'small';
8
- block?: boolean;
9
- textColor?: string;
10
- color?: string;
11
- elevation?: boolean;
12
- icon?: string;
13
- iconSize?: string | number;
14
- iconColor?: string;
15
- iconPosition?: 'left' | 'right';
16
- disabled?: boolean;
17
- }
18
-
19
- export interface Ui3nButtonEmits {
20
- (ev: 'init', value: HTMLButtonElement): void;
21
- (ev: 'click', value: Event): void;
22
- (ev: 'focus', value: Event): void;
23
- (ev: 'blur', value: Event): void;
24
- }
3
+ import Ui3nIcon from '../ui3n-icon/ui3n-icon.vue';
4
+ import type { Ui3nButtonEmits, Ui3nButtonProps } from './types';
25
5
 
26
6
  const props = withDefaults(
27
7
  defineProps<Ui3nButtonProps>(),
@@ -98,7 +78,7 @@ onMounted(() => {
98
78
  </template>
99
79
 
100
80
  <style lang="scss" module>
101
- @import "../assets/styles/mixins";
81
+ @import "../../assets/styles/mixins";
102
82
 
103
83
  .button {
104
84
  --ui3n-button-padding: var(--spacing-m);
@@ -0,0 +1,22 @@
1
+ import { VNode } from 'vue';
2
+
3
+ export type Ui3nCheckboxValue = boolean | string | number;
4
+
5
+ export interface Ui3nCheckboxProps {
6
+ modelValue: Ui3nCheckboxValue;
7
+ checkedValue?: Ui3nCheckboxValue;
8
+ uncheckedValue?: Ui3nCheckboxValue;
9
+ size?: number | string;
10
+ color?: string;
11
+ indeterminate?: boolean;
12
+ disabled?: boolean;
13
+ }
14
+
15
+ export interface Ui3nCheckboxEmits {
16
+ (ev: 'change', value: Ui3nCheckboxValue): void;
17
+ (ev: 'update:modelValue', value: Ui3nCheckboxValue): void;
18
+ }
19
+
20
+ export interface Ui3nCheckboxSlots {
21
+ default: () => VNode;
22
+ }
@@ -1,27 +1,6 @@
1
1
  <script lang="ts" setup>
2
2
  import { computed, onMounted, watch, onBeforeMount, ref, useSlots } from 'vue';
3
-
4
- export type Ui3nCheckboxValue = boolean | string | number;
5
-
6
- export interface Ui3nCheckboxProps {
7
- modelValue: Ui3nCheckboxValue;
8
- checkedValue?: Ui3nCheckboxValue;
9
- uncheckedValue?: Ui3nCheckboxValue;
10
- size?: number | string;
11
- color?: string;
12
- indeterminate?: boolean;
13
- disabled?: boolean;
14
- }
15
-
16
- export interface Ui3nCheckboxEmits {
17
- (ev: 'change', value: Ui3nCheckboxValue): void;
18
- (ev: 'update:modelValue', value: Ui3nCheckboxValue): void;
19
- }
20
-
21
- export interface Ui3nCheckboxSlots {
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
- default: () => any;
24
- }
3
+ import type { Ui3nCheckboxEmits, Ui3nCheckboxProps, Ui3nCheckboxSlots, Ui3nCheckboxValue } from './types';
25
4
 
26
5
  const props = withDefaults(
27
6
  defineProps<Ui3nCheckboxProps>(),
@@ -161,7 +140,7 @@ const change = () => {
161
140
  </template>
162
141
 
163
142
  <style lang="scss" module>
164
- @import "../assets/styles/mixins";
143
+ @import "../../assets/styles/mixins";
165
144
 
166
145
  .checkbox {
167
146
  --ui3n-checkbox-size: 16px;
@@ -0,0 +1,19 @@
1
+ import { VNode } from 'vue';
2
+
3
+ export interface Ui3nChipProps {
4
+ height?: number | string;
5
+ maxWidth?: number | string;
6
+ plain?: boolean;
7
+ round?: boolean;
8
+ closeable?: boolean;
9
+ color?: string;
10
+ textSize?: number | string;
11
+ textColor?: string;
12
+ }
13
+ export interface Ui3nChipEmits {
14
+ (ev: 'close'): void;
15
+ }
16
+ export interface Ui3nChipSlots {
17
+ left: (props: { size: number; color: string }) => VNode;
18
+ default: () => VNode;
19
+ }
@@ -1,53 +1,35 @@
1
1
  <script lang="ts" setup>
2
- import { computed, useSlots } from 'vue';
3
- import Ui3nButton from './ui3n-button.vue';
4
-
5
- /* eslint-disable @typescript-eslint/no-explicit-any */
6
- export interface Ui3nChipProps {
7
- height?: number | string;
8
- maxWidth?: number | string;
9
- plain?: boolean;
10
- round?: boolean;
11
- closeable?: boolean;
12
- color?: string;
13
- textSize?: number | string;
14
- textColor?: string;
15
- }
16
- export interface Ui3nChipEmits {
17
- (ev: 'close'): void;
18
- }
19
- export interface Ui3nChipSlots {
20
- left: (props: { size: number; color: string }) => any;
21
- default: () => any;
22
- }
23
-
24
- const props = withDefaults(
25
- defineProps<Ui3nChipProps>(),
26
- {
27
- height: 24,
28
- maxWidth: 200,
29
- plain: false,
30
- round: true,
31
- closeable: false,
32
- color: 'var(--color-bg-control-secondary-default)',
33
- textSize: 10,
34
- textColor: 'var(--color-text-control-primary-default)',
35
- },
36
- );
37
-
38
- const emits = defineEmits<Ui3nChipEmits>();
39
- defineSlots<Ui3nChipSlots>();
40
-
41
- const slots = useSlots();
42
-
43
- const height = computed(() => `${props.height}px`);
44
- const iconHeight = computed(() => props.height ? Number(props.height) - 2 : Number(props.height));
45
- const padding = computed(() => `${Math.round(Number(props.height) / 3)}px`);
46
- const maxWidth = computed(() => `${props.maxWidth}px`);
47
- const bgColor = computed(() => props.color);
48
- const textSize = computed(() => `${props.textSize}px`);
49
- const textColor = computed(() => props.textColor);
50
- const hasLeftSlot = computed(() => !!slots.left);
2
+ import { computed, useSlots } from 'vue';
3
+ import Ui3nButton from '../ui3n-button/ui3n-button.vue';
4
+ import type { Ui3nChipEmits, Ui3nChipProps, Ui3nChipSlots } from './types';
5
+
6
+ const props = withDefaults(
7
+ defineProps<Ui3nChipProps>(),
8
+ {
9
+ height: 24,
10
+ maxWidth: 200,
11
+ plain: false,
12
+ round: true,
13
+ closeable: false,
14
+ color: 'var(--color-bg-control-secondary-default)',
15
+ textSize: 10,
16
+ textColor: 'var(--color-text-control-primary-default)',
17
+ },
18
+ );
19
+
20
+ const emits = defineEmits<Ui3nChipEmits>();
21
+ defineSlots<Ui3nChipSlots>();
22
+
23
+ const slots = useSlots();
24
+
25
+ const height = computed(() => `${props.height}px`);
26
+ const iconHeight = computed(() => props.height ? Number(props.height) - 2 : Number(props.height));
27
+ const padding = computed(() => `${Math.round(Number(props.height) / 3)}px`);
28
+ const maxWidth = computed(() => `${props.maxWidth}px`);
29
+ const bgColor = computed(() => props.color);
30
+ const textSize = computed(() => `${props.textSize}px`);
31
+ const textColor = computed(() => props.textColor);
32
+ const hasLeftSlot = computed(() => !!slots.left);
51
33
  </script>
52
34
 
53
35
  <template>
@@ -82,7 +64,7 @@
82
64
  </template>
83
65
 
84
66
  <style lang="scss" module>
85
- @import "../assets/styles/mixins";
67
+ @import "../../assets/styles/mixins";
86
68
 
87
69
  .chip {
88
70
  position: relative;