@bitrix24/b24ui-nuxt 0.4.0 → 0.4.2

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 (88) hide show
  1. package/.nuxt/b24ui/button.ts +8 -0
  2. package/.nuxt/b24ui/index.ts +1 -0
  3. package/.nuxt/b24ui/modal.ts +21 -3
  4. package/.nuxt/b24ui/prose/blockquote.ts +5 -0
  5. package/.nuxt/b24ui/prose/em.ts +5 -0
  6. package/.nuxt/b24ui/prose/h1.ts +6 -0
  7. package/.nuxt/b24ui/prose/h2.ts +16 -0
  8. package/.nuxt/b24ui/prose/h3.ts +16 -0
  9. package/.nuxt/b24ui/prose/h4.ts +16 -0
  10. package/.nuxt/b24ui/prose/h5.ts +16 -0
  11. package/.nuxt/b24ui/prose/h6.ts +16 -0
  12. package/.nuxt/b24ui/prose/hr.ts +5 -0
  13. package/.nuxt/b24ui/prose/li.ts +5 -0
  14. package/.nuxt/b24ui/prose/ol.ts +5 -0
  15. package/.nuxt/b24ui/prose/p.ts +5 -0
  16. package/.nuxt/b24ui/prose/strong.ts +5 -0
  17. package/.nuxt/b24ui/prose/ul.ts +5 -0
  18. package/.nuxt/b24ui/slideover.ts +26 -7
  19. package/dist/meta.cjs +32768 -29015
  20. package/dist/meta.d.cts +32768 -29015
  21. package/dist/meta.d.mts +32768 -29015
  22. package/dist/meta.d.ts +32768 -29015
  23. package/dist/meta.mjs +32768 -29015
  24. package/dist/module.cjs +6 -1
  25. package/dist/module.json +1 -1
  26. package/dist/module.mjs +6 -1
  27. package/dist/runtime/components/Advice.vue +3 -0
  28. package/dist/runtime/components/Alert.vue +17 -2
  29. package/dist/runtime/components/Avatar.vue +7 -0
  30. package/dist/runtime/components/AvatarGroup.vue +3 -0
  31. package/dist/runtime/components/Badge.vue +21 -3
  32. package/dist/runtime/components/Button.vue +120 -52
  33. package/dist/runtime/components/ButtonGroup.vue +7 -1
  34. package/dist/runtime/components/Checkbox.vue +6 -0
  35. package/dist/runtime/components/Chip.vue +18 -2
  36. package/dist/runtime/components/Countdown.vue +32 -8
  37. package/dist/runtime/components/{content/DescriptionList.vue → DescriptionList.vue} +19 -8
  38. package/dist/runtime/components/DropdownMenu.vue +14 -2
  39. package/dist/runtime/components/DropdownMenuContent.vue +6 -0
  40. package/dist/runtime/components/FormField.vue +6 -0
  41. package/dist/runtime/components/Input.vue +50 -6
  42. package/dist/runtime/components/InputMenu.vue +67 -15
  43. package/dist/runtime/components/InputNumber.vue +42 -8
  44. package/dist/runtime/components/Kbd.vue +6 -0
  45. package/dist/runtime/components/Link.vue +8 -4
  46. package/dist/runtime/components/Modal.vue +22 -5
  47. package/dist/runtime/components/Progress.vue +19 -3
  48. package/dist/runtime/components/RadioGroup.vue +6 -0
  49. package/dist/runtime/components/Range.vue +9 -1
  50. package/dist/runtime/components/Select.vue +47 -10
  51. package/dist/runtime/components/SelectMenu.vue +52 -12
  52. package/dist/runtime/components/Separator.vue +16 -2
  53. package/dist/runtime/components/Slideover.vue +22 -4
  54. package/dist/runtime/components/Switch.vue +19 -3
  55. package/dist/runtime/components/Tabs.vue +12 -0
  56. package/dist/runtime/components/Textarea.vue +50 -6
  57. package/dist/runtime/components/Toast.vue +13 -2
  58. package/dist/runtime/components/Toaster.vue +8 -0
  59. package/dist/runtime/components/{prose → content}/TableWrapper.vue +27 -3
  60. package/dist/runtime/composables/useComponentIcons.d.ts +9 -2
  61. package/dist/runtime/index.css +1 -1
  62. package/dist/runtime/prose/Blockquote.vue +36 -0
  63. package/dist/runtime/prose/Em.vue +36 -0
  64. package/dist/runtime/prose/H1.vue +36 -0
  65. package/dist/runtime/prose/H2.vue +36 -0
  66. package/dist/runtime/prose/H3.vue +36 -0
  67. package/dist/runtime/prose/H4.vue +36 -0
  68. package/dist/runtime/prose/H5.vue +36 -0
  69. package/dist/runtime/prose/H6.vue +36 -0
  70. package/dist/runtime/prose/Hr.vue +30 -0
  71. package/dist/runtime/prose/Li.vue +36 -0
  72. package/dist/runtime/prose/Ol.vue +36 -0
  73. package/dist/runtime/prose/P.vue +36 -0
  74. package/dist/runtime/prose/Strong.vue +36 -0
  75. package/dist/runtime/prose/Ul.vue +36 -0
  76. package/dist/runtime/types/index.d.ts +16 -2
  77. package/dist/runtime/types/index.js +16 -2
  78. package/dist/runtime/utils/index.js +1 -1
  79. package/dist/runtime/vue/components/Link.vue +10 -6
  80. package/dist/shared/{b24ui-nuxt.BT9wxrhm.cjs → b24ui-nuxt.Bt28CeAD.cjs} +350 -90
  81. package/dist/shared/{b24ui-nuxt.CBO0gAWn.mjs → b24ui-nuxt.Bx_-_mhu.mjs} +350 -90
  82. package/dist/unplugin.cjs +4 -4
  83. package/dist/unplugin.mjs +4 -4
  84. package/dist/vite.cjs +1 -1
  85. package/dist/vite.mjs +1 -1
  86. package/package.json +7 -6
  87. /package/.nuxt/b24ui/{prose → content}/table-wrapper.ts +0 -0
  88. /package/.nuxt/b24ui/{content/description-list.ts → description-list.ts} +0 -0
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/prose/h4'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseH4 = _appConfig as AppConfig & { b24ui: { prose: { h4: Partial<typeof theme> } } }
8
+
9
+ const proseH4 = tv({ extend: tv(theme), ...(appConfigProseH4.b24ui?.prose?.h4 || {}) })
10
+
11
+ export interface proseH4Props {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseH4.slots>
14
+ }
15
+
16
+ export interface proseH4Slots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<proseH4Props>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseH4({})
28
+ </script>
29
+
30
+ <template>
31
+ <h4
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </h4>
36
+ </template>
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/prose/h5'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseH5 = _appConfig as AppConfig & { b24ui: { prose: { h5: Partial<typeof theme> } } }
8
+
9
+ const proseH5 = tv({ extend: tv(theme), ...(appConfigProseH5.b24ui?.prose?.h5 || {}) })
10
+
11
+ export interface proseH5Props {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseH5.slots>
14
+ }
15
+
16
+ export interface proseH5Slots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<proseH5Props>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseH5({})
28
+ </script>
29
+
30
+ <template>
31
+ <h5
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </h5>
36
+ </template>
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/prose/h6'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseH6 = _appConfig as AppConfig & { b24ui: { prose: { h6: Partial<typeof theme> } } }
8
+
9
+ const proseH6 = tv({ extend: tv(theme), ...(appConfigProseH6.b24ui?.prose?.h6 || {}) })
10
+
11
+ export interface proseH6Props {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseH6.slots>
14
+ }
15
+
16
+ export interface proseH6Slots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<proseH6Props>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseH6({})
28
+ </script>
29
+
30
+ <template>
31
+ <h6
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </h6>
36
+ </template>
@@ -0,0 +1,30 @@
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/prose/hr'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseHr = _appConfig as AppConfig & { b24ui: { prose: { hr: Partial<typeof theme> } } }
8
+
9
+ const proseHr = tv({ extend: tv(theme), ...(appConfigProseHr.b24ui?.prose?.hr || {}) })
10
+
11
+ export interface proseHrProps {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseHr.slots>
14
+ }
15
+ </script>
16
+
17
+ <script setup lang="ts">
18
+ defineOptions({ inheritAttrs: false })
19
+
20
+ const props = defineProps<proseHrProps>()
21
+
22
+ // eslint-disable-next-line vue/no-dupe-keys
23
+ const b24ui = proseHr({})
24
+ </script>
25
+
26
+ <template>
27
+ <hr
28
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
29
+ >
30
+ </template>
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/prose/li'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseLi = _appConfig as AppConfig & { b24ui: { prose: { li: Partial<typeof theme> } } }
8
+
9
+ const proseLi = tv({ extend: tv(theme), ...(appConfigProseLi.b24ui?.prose?.li || {}) })
10
+
11
+ export interface proseLiProps {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseLi.slots>
14
+ }
15
+
16
+ export interface proseLiSlots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<proseLiProps>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseLi({})
28
+ </script>
29
+
30
+ <template>
31
+ <li
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </li>
36
+ </template>
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/prose/ol'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseOl = _appConfig as AppConfig & { b24ui: { prose: { ol: Partial<typeof theme> } } }
8
+
9
+ const proseOl = tv({ extend: tv(theme), ...(appConfigProseOl.b24ui?.prose?.ol || {}) })
10
+
11
+ export interface proseOlProps {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseOl.slots>
14
+ }
15
+
16
+ export interface proseOlSlots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<proseOlProps>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseOl({})
28
+ </script>
29
+
30
+ <template>
31
+ <ol
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </ol>
36
+ </template>
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/prose/p'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseP = _appConfig as AppConfig & { b24ui: { prose: { p: Partial<typeof theme> } } }
8
+
9
+ const proseP = tv({ extend: tv(theme), ...(appConfigProseP.b24ui?.prose?.p || {}) })
10
+
11
+ export interface prosePProps {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseP.slots>
14
+ }
15
+
16
+ export interface prosePSlots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<prosePProps>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseP({})
28
+ </script>
29
+
30
+ <template>
31
+ <p
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </p>
36
+ </template>
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/prose/strong'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseStrong = _appConfig as AppConfig & { b24ui: { prose: { strong: Partial<typeof theme> } } }
8
+
9
+ const proseStrong = tv({ extend: tv(theme), ...(appConfigProseStrong.b24ui?.prose?.strong || {}) })
10
+
11
+ export interface proseStrongProps {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseStrong.slots>
14
+ }
15
+
16
+ export interface proseStrongSlots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<proseStrongProps>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseStrong({})
28
+ </script>
29
+
30
+ <template>
31
+ <strong
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </strong>
36
+ </template>
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/prose/ul'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseUl = _appConfig as AppConfig & { b24ui: { prose: { ul: Partial<typeof theme> } } }
8
+
9
+ const proseUl = tv({ extend: tv(theme), ...(appConfigProseUl.b24ui?.prose?.ul || {}) })
10
+
11
+ export interface proseUlProps {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseUl.slots>
14
+ }
15
+
16
+ export interface proseUlSlots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<proseUlProps>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseUl({})
28
+ </script>
29
+
30
+ <template>
31
+ <ul
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </ul>
36
+ </template>
@@ -10,6 +10,7 @@ export * from '../components/Checkbox.vue';
10
10
  export * from '../components/Chip.vue';
11
11
  export * from '../components/Container.vue';
12
12
  export * from '../components/Countdown.vue';
13
+ export * from '../components/DescriptionList.vue';
13
14
  export * from '../components/DropdownMenu.vue';
14
15
  export * from '../components/Form.vue';
15
16
  export * from '../components/FormField.vue';
@@ -34,8 +35,21 @@ export * from '../components/Textarea.vue';
34
35
  export * from '../components/Toast.vue';
35
36
  export * from '../components/Toaster.vue';
36
37
  export * from '../components/Tooltip.vue';
37
- export * from '../components/content/DescriptionList.vue';
38
- export * from '../components/prose/TableWrapper.vue';
38
+ export * from '../components/content/TableWrapper.vue';
39
+ export * from '../prose/H1.vue';
40
+ export * from '../prose/H2.vue';
41
+ export * from '../prose/H3.vue';
42
+ export * from '../prose/H3.vue';
43
+ export * from '../prose/H4.vue';
44
+ export * from '../prose/H5.vue';
45
+ export * from '../prose/H6.vue';
46
+ export * from '../prose/P.vue';
47
+ export * from '../prose/Blockquote.vue';
48
+ export * from '../prose/Strong.vue';
49
+ export * from '../prose/Ol.vue';
50
+ export * from '../prose/Ul.vue';
51
+ export * from '../prose/Li.vue';
52
+ export * from '../prose/Hr.vue';
39
53
  export * from './form';
40
54
  export * from './icons';
41
55
  export * from './locale';
@@ -10,6 +10,7 @@ export * from "../components/Checkbox.vue";
10
10
  export * from "../components/Chip.vue";
11
11
  export * from "../components/Container.vue";
12
12
  export * from "../components/Countdown.vue";
13
+ export * from "../components/DescriptionList.vue";
13
14
  export * from "../components/DropdownMenu.vue";
14
15
  export * from "../components/Form.vue";
15
16
  export * from "../components/FormField.vue";
@@ -34,8 +35,21 @@ export * from "../components/Textarea.vue";
34
35
  export * from "../components/Toast.vue";
35
36
  export * from "../components/Toaster.vue";
36
37
  export * from "../components/Tooltip.vue";
37
- export * from "../components/content/DescriptionList.vue";
38
- export * from "../components/prose/TableWrapper.vue";
38
+ export * from "../components/content/TableWrapper.vue";
39
+ export * from "../prose/H1.vue";
40
+ export * from "../prose/H2.vue";
41
+ export * from "../prose/H3.vue";
42
+ export * from "../prose/H3.vue";
43
+ export * from "../prose/H4.vue";
44
+ export * from "../prose/H5.vue";
45
+ export * from "../prose/H6.vue";
46
+ export * from "../prose/P.vue";
47
+ export * from "../prose/Blockquote.vue";
48
+ export * from "../prose/Strong.vue";
49
+ export * from "../prose/Ol.vue";
50
+ export * from "../prose/Ul.vue";
51
+ export * from "../prose/Li.vue";
52
+ export * from "../prose/Hr.vue";
39
53
  export * from "./form.js";
40
54
  export * from "./icons.js";
41
55
  export * from "./locale.js";
@@ -1,4 +1,4 @@
1
- import { isEqual } from "ohash";
1
+ import { isEqual } from "ohash/utils";
2
2
  export function pick(data, keys) {
3
3
  const result = {};
4
4
  for (const key of keys) {
@@ -93,7 +93,7 @@ export interface LinkSlots {
93
93
 
94
94
  <script setup lang="ts">
95
95
  import { computed, getCurrentInstance } from 'vue'
96
- import { isEqual, diff } from 'ohash'
96
+ import { isEqual, diff } from 'ohash/utils'
97
97
  import { useForwardProps } from 'reka-ui'
98
98
  import { reactiveOmit } from '@vueuse/core'
99
99
  import { hasProtocol } from 'ufo'
@@ -144,11 +144,15 @@ const b24ui = computed(() => tv({
144
144
  function isPartiallyEqual(item1: any, item2: any) {
145
145
  const diffedKeys = diff(item1, item2).reduce((filtered, q) => {
146
146
  if (q.type === 'added') {
147
- filtered.push(q.key)
147
+ filtered.add(q.key)
148
148
  }
149
149
  return filtered
150
- }, [] as string[])
151
- return isEqual(item1, item2, { excludeKeys: key => diffedKeys.includes(key) })
150
+ }, new Set<string>())
151
+
152
+ const item1Filtered = Object.fromEntries(Object.entries(item1).filter(([key]) => !diffedKeys.has(key)))
153
+ const item2Filtered = Object.fromEntries(Object.entries(item2).filter(([key]) => !diffedKeys.has(key)))
154
+
155
+ return isEqual(item1Filtered, item2Filtered)
152
156
  }
153
157
 
154
158
  const isExternal = computed(() => {
@@ -246,7 +250,7 @@ function resolveLinkClass({ route, isActive, isExactActive }: any = {}) {
246
250
  disabled,
247
251
  href: to,
248
252
  target: isExternal ? '_blank' : undefined,
249
- active: false
253
+ active: props?.active || false
250
254
  }"
251
255
  />
252
256
  </template>
@@ -263,7 +267,7 @@ function resolveLinkClass({ route, isActive, isExactActive }: any = {}) {
263
267
  :is-external="isExternal"
264
268
  :class="resolveLinkClass()"
265
269
  >
266
- <slot :active="false" />
270
+ <slot :active="props?.active || false" />
267
271
  </B24LinkBase>
268
272
  </template>
269
273
  </template>