@bitrix24/b24ui-nuxt 0.3.5 → 0.4.1

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 (76) hide show
  1. package/.nuxt/b24ui/button.ts +2 -1
  2. package/.nuxt/b24ui/index.ts +1 -0
  3. package/.nuxt/b24ui/modal.ts +1 -1
  4. package/.nuxt/b24ui/prose/prose-h1.ts +6 -0
  5. package/.nuxt/b24ui/prose/prose-h2.ts +16 -0
  6. package/.nuxt/b24ui/prose/prose-h3.ts +16 -0
  7. package/.nuxt/b24ui/prose/prose-li.ts +5 -0
  8. package/.nuxt/b24ui/prose/prose-ol.ts +5 -0
  9. package/.nuxt/b24ui/prose/prose-p.ts +5 -0
  10. package/.nuxt/b24ui/prose/prose-ul.ts +5 -0
  11. package/.nuxt/b24ui/slideover.ts +3 -2
  12. package/dist/meta.cjs +32842 -29748
  13. package/dist/meta.d.cts +32842 -29748
  14. package/dist/meta.d.mts +32842 -29748
  15. package/dist/meta.d.ts +32842 -29748
  16. package/dist/meta.mjs +32842 -29748
  17. package/dist/module.cjs +6 -1
  18. package/dist/module.json +1 -1
  19. package/dist/module.mjs +6 -1
  20. package/dist/runtime/components/Advice.vue +3 -0
  21. package/dist/runtime/components/Alert.vue +17 -2
  22. package/dist/runtime/components/Avatar.vue +7 -0
  23. package/dist/runtime/components/AvatarGroup.vue +3 -0
  24. package/dist/runtime/components/Badge.vue +21 -3
  25. package/dist/runtime/components/Button.vue +37 -7
  26. package/dist/runtime/components/ButtonGroup.vue +7 -1
  27. package/dist/runtime/components/Checkbox.vue +6 -0
  28. package/dist/runtime/components/Chip.vue +18 -2
  29. package/dist/runtime/components/Countdown.vue +32 -8
  30. package/dist/runtime/components/{content/DescriptionList.vue → DescriptionList.vue} +19 -8
  31. package/dist/runtime/components/DropdownMenu.vue +14 -2
  32. package/dist/runtime/components/DropdownMenuContent.vue +6 -0
  33. package/dist/runtime/components/FormField.vue +6 -0
  34. package/dist/runtime/components/Input.vue +50 -6
  35. package/dist/runtime/components/InputMenu.vue +67 -15
  36. package/dist/runtime/components/InputNumber.vue +42 -8
  37. package/dist/runtime/components/Kbd.vue +6 -0
  38. package/dist/runtime/components/Link.vue +8 -4
  39. package/dist/runtime/components/Modal.vue +9 -3
  40. package/dist/runtime/components/OverlayProvider.vue +2 -2
  41. package/dist/runtime/components/Progress.vue +19 -3
  42. package/dist/runtime/components/RadioGroup.vue +6 -0
  43. package/dist/runtime/components/Range.vue +9 -1
  44. package/dist/runtime/components/Select.vue +47 -10
  45. package/dist/runtime/components/SelectMenu.vue +52 -12
  46. package/dist/runtime/components/Separator.vue +16 -2
  47. package/dist/runtime/components/Slideover.vue +12 -2
  48. package/dist/runtime/components/Switch.vue +19 -3
  49. package/dist/runtime/components/Tabs.vue +12 -0
  50. package/dist/runtime/components/Textarea.vue +50 -6
  51. package/dist/runtime/components/Toast.vue +13 -2
  52. package/dist/runtime/components/Toaster.vue +8 -0
  53. package/dist/runtime/components/{prose → content}/TableWrapper.vue +27 -3
  54. package/dist/runtime/composables/useComponentIcons.d.ts +11 -4
  55. package/dist/runtime/composables/useOverlay.js +1 -1
  56. package/dist/runtime/index.css +1 -1
  57. package/dist/runtime/prose/ProseH1.vue +36 -0
  58. package/dist/runtime/prose/ProseH2.vue +36 -0
  59. package/dist/runtime/prose/ProseH3.vue +36 -0
  60. package/dist/runtime/prose/ProseLi.vue +36 -0
  61. package/dist/runtime/prose/ProseOl.vue +36 -0
  62. package/dist/runtime/prose/ProseP.vue +36 -0
  63. package/dist/runtime/prose/ProseUl.vue +36 -0
  64. package/dist/runtime/types/index.d.ts +9 -2
  65. package/dist/runtime/types/index.js +9 -2
  66. package/dist/runtime/utils/index.js +1 -1
  67. package/dist/runtime/vue/components/Link.vue +8 -4
  68. package/dist/shared/{b24ui-nuxt.CeQRWQD-.mjs → b24ui-nuxt.BGGwh89R.mjs} +204 -82
  69. package/dist/shared/{b24ui-nuxt.M7bz91Io.cjs → b24ui-nuxt.CnMGpwQb.cjs} +204 -82
  70. package/dist/unplugin.cjs +5 -5
  71. package/dist/unplugin.mjs +5 -5
  72. package/dist/vite.cjs +1 -1
  73. package/dist/vite.mjs +1 -1
  74. package/package.json +10 -8
  75. /package/.nuxt/b24ui/{prose → content}/table-wrapper.ts +0 -0
  76. /package/.nuxt/b24ui/{content/description-list.ts → description-list.ts} +0 -0
@@ -16,7 +16,9 @@ type SlideoverVariants = VariantProps<typeof slideover>
16
16
  export interface SlideoverProps extends DialogRootProps {
17
17
  title?: string
18
18
  description?: string
19
- /** The content of the slideover. */
19
+ /**
20
+ * The content of the slideover
21
+ */
20
22
  content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'>
21
23
  /**
22
24
  * Render an overlay behind the slideover.
@@ -28,6 +30,10 @@ export interface SlideoverProps extends DialogRootProps {
28
30
  * @defaultValue true
29
31
  */
30
32
  transition?: boolean
33
+ /**
34
+ * The side of the slideover.
35
+ * @defaultValue 'right'
36
+ */
31
37
  side?: SlideoverVariants['side']
32
38
  /**
33
39
  * Render the slideover in a portal.
@@ -44,13 +50,17 @@ export interface SlideoverProps extends DialogRootProps {
44
50
  /**
45
51
  * The icon displayed in the close button.
46
52
  * @defaultValue icons.close
53
+ * @IconifyIcon
47
54
  */
48
55
  closeIcon?: IconComponent
49
56
  /**
50
57
  * When `false`, the slideover will not close when clicking outside or pressing escape.
51
- * @defaultValue true
58
+ * @defaultValue false
52
59
  */
53
60
  dismissible?: boolean
61
+ /**
62
+ * @defaultValue true
63
+ */
54
64
  scrollbarThin?: boolean
55
65
  class?: any
56
66
  b24ui?: Partial<typeof slideover.slots>
@@ -20,18 +20,34 @@ export interface SwitchProps extends Pick<SwitchRootProps, 'disabled' | 'id' | '
20
20
  * @defaultValue 'div'
21
21
  */
22
22
  as?: any
23
+ /**
24
+ * @defaultValue 'primary'
25
+ */
23
26
  color?: SwitchVariants['color']
27
+ /**
28
+ * @defaultValue 'md'
29
+ */
24
30
  size?: SwitchVariants['size']
25
- /** When `true`, the loading icon will be displayed. */
31
+ /**
32
+ * When `true`, the loading icon will be displayed
33
+ * @defaultValue false
34
+ */
26
35
  loading?: boolean
27
36
  /**
28
37
  * The icon when the `loading` prop is `true`.
29
38
  * @defaultValue icons.refresh
39
+ * @IconComponent
30
40
  */
31
41
  loadingIcon?: IconComponent
32
- /** Display an icon when the switch is checked. */
42
+ /**
43
+ * Display an icon when the switch is checked.
44
+ * @IconComponent
45
+ */
33
46
  checkedIcon?: IconComponent
34
- /** Display an icon when the switch is unchecked. */
47
+ /**
48
+ * Display an icon when the switch is unchecked.
49
+ * @IconComponent
50
+ */
35
51
  uncheckedIcon?: IconComponent
36
52
  label?: string
37
53
  description?: string
@@ -14,6 +14,9 @@ const tabs = tv({ extend: tv(theme), ...(appConfigTabs.b24ui?.tabs || {}) })
14
14
 
15
15
  export interface TabsItem {
16
16
  label?: string
17
+ /**
18
+ * @IconComponent
19
+ */
17
20
  icon?: IconComponent
18
21
  avatar?: AvatarProps
19
22
  slot?: string
@@ -32,8 +35,17 @@ export interface TabsProps<T> extends Pick<TabsRootProps<string | number>, 'defa
32
35
  */
33
36
  as?: any
34
37
  items?: T[]
38
+ /**
39
+ * @defaultValue 'default'
40
+ */
35
41
  color?: TabsVariants['color']
42
+ /**
43
+ * @defaultValue 'link'
44
+ */
36
45
  variant?: TabsVariants['variant']
46
+ /**
47
+ * @defaultValue 'md'
48
+ */
37
49
  size?: TabsVariants['size']
38
50
  /**
39
51
  * The orientation of the tabs.
@@ -20,27 +20,71 @@ export interface TextareaProps {
20
20
  as?: any
21
21
  id?: string
22
22
  name?: string
23
- /** The placeholder text when the textarea is empty. */
23
+ /**
24
+ * The placeholder text when the textarea is empty
25
+ */
24
26
  placeholder?: string
27
+ /**
28
+ * @defaultValue 'primary'
29
+ */
25
30
  color?: TextareaVariants['color']
26
- /** Removes padding from input. */
31
+ /**
32
+ * Removes padding from input
33
+ * @defaultValue false
34
+ */
27
35
  noPadding?: boolean
28
- /** removes all borders (rings). */
36
+ /**
37
+ * Removes all borders (rings)
38
+ * @defaultValue false
39
+ */
29
40
  noBorder?: boolean
30
- /** removes all borders (rings) except the bottom one. */
41
+ /**
42
+ * Removes all borders (rings) except the bottom one
43
+ * @defaultValue false
44
+ */
31
45
  underline?: boolean
32
- /** Rounds the corners of the button. */
46
+ /**
47
+ * Rounds the corners of the button
48
+ * @defaultValue false
49
+ */
33
50
  rounded?: boolean
51
+ /**
52
+ * @defaultValue false
53
+ */
34
54
  required?: boolean
55
+ /**
56
+ * @defaultValue false
57
+ */
35
58
  autofocus?: boolean
59
+ /**
60
+ * @defaultValue 0
61
+ */
36
62
  autofocusDelay?: number
63
+ /**
64
+ * @defaultValue false
65
+ */
37
66
  disabled?: boolean
67
+ /**
68
+ * @defaultValue 3
69
+ */
38
70
  rows?: number
71
+ /**
72
+ * @defaultValue 5
73
+ */
39
74
  maxrows?: number
75
+ /**
76
+ * @defaultValue false
77
+ */
40
78
  autoresize?: boolean
41
79
  tag?: string
80
+ /**
81
+ * @defaultValue 'primary'
82
+ */
42
83
  tagColor?: TextareaVariants['tagColor']
43
- /** Highlight the ring color like a focus state. */
84
+ /**
85
+ * Highlight the ring color like a focus state
86
+ * @defaultValue false
87
+ */
44
88
  highlight?: boolean
45
89
  class?: any
46
90
  b24ui?: PartialString<typeof textarea.slots>
@@ -22,26 +22,37 @@ export interface ToastProps extends Pick<ToastRootProps, 'defaultOpen' | 'open'
22
22
  as?: any
23
23
  title?: StringOrVNode
24
24
  description?: StringOrVNode
25
+ /**
26
+ * @IconComponent
27
+ */
25
28
  icon?: IconComponent
26
29
  avatar?: AvatarProps
30
+ /**
31
+ * @defaultValue 'default'
32
+ */
27
33
  color?: ToastVariants['color']
34
+ /**
35
+ * The orientation between the content and the actions
36
+ * @defaultValue 'vertical'
37
+ */
28
38
  orientation?: ToastVariants['orientation']
29
39
  /**
30
40
  * Display a list of actions:
31
41
  * - under the title and description when orientation is `vertical`
32
42
  * - next to the close button when orientation is `horizontal`
33
- * `{ size: 'xs' }`{lang="ts-type"}
43
+ * `{ size: 'xs' }`{lang="ts"}
34
44
  */
35
45
  actions?: ButtonProps[]
36
46
  /**
37
47
  * Display a close button to dismiss the toast.
38
- * `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts-type"}
48
+ * `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts"}
39
49
  * @defaultValue true
40
50
  */
41
51
  close?: boolean | Partial<ButtonProps>
42
52
  /**
43
53
  * The icon displayed in the close button.
44
54
  * @defaultValue icons.close
55
+ * @IconComponent
45
56
  */
46
57
  closeIcon?: IconComponent
47
58
  class?: any
@@ -13,6 +13,10 @@ const toaster = tv({ extend: tv(theme), ...(appConfigToaster.b24ui?.toaster || {
13
13
  type ToasterVariants = VariantProps<typeof toaster>
14
14
 
15
15
  export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'> {
16
+ /**
17
+ * The position on the screen to display the toasts.
18
+ * @defaultValue 'top-right'
19
+ */
16
20
  position?: ToasterVariants['position']
17
21
  /**
18
22
  * Expand the toasts to show multiple toasts at once.
@@ -24,6 +28,10 @@ export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'>
24
28
  * @defaultValue true
25
29
  */
26
30
  portal?: boolean
31
+ /**
32
+ * @defaultValue 5000
33
+ */
34
+ duration?: number
27
35
  class?: any
28
36
  b24ui?: Partial<typeof toaster.slots>
29
37
  }
@@ -2,12 +2,12 @@
2
2
  import type { VariantProps } from 'tailwind-variants'
3
3
  import type { AppConfig } from '@nuxt/schema'
4
4
  import _appConfig from '#build/app.config'
5
- import theme from '#build/b24ui/prose/table-wrapper'
5
+ import theme from '#build/b24ui/content/table-wrapper'
6
6
  import { tv } from '../../utils/tv'
7
7
 
8
- const appConfigTableWrapper = _appConfig as AppConfig & { b24ui: { prose: { tableWrapper: Partial<typeof theme> } } }
8
+ const appConfigTableWrapper = _appConfig as AppConfig & { b24ui: { content: { tableWrapper: Partial<typeof theme> } } }
9
9
 
10
- const tableWrapper = tv({ extend: tv(theme), ...(appConfigTableWrapper.b24ui?.prose?.tableWrapper || {}) })
10
+ const tableWrapper = tv({ extend: tv(theme), ...(appConfigTableWrapper.b24ui?.content?.tableWrapper || {}) })
11
11
 
12
12
  type TableWrapperVariants = VariantProps<typeof tableWrapper>
13
13
 
@@ -17,13 +17,37 @@ export interface TableWrapperProps {
17
17
  * @defaultValue 'div'
18
18
  */
19
19
  as?: any
20
+ /**
21
+ * @defaultValue 'md'
22
+ */
20
23
  size?: TableWrapperVariants['size']
24
+ /**
25
+ * @defaultValue false
26
+ */
21
27
  rounded?: boolean
28
+ /**
29
+ * @defaultValue false
30
+ */
22
31
  zebra?: boolean
32
+ /**
33
+ * @defaultValue false
34
+ */
23
35
  pinRows?: boolean
36
+ /**
37
+ * @defaultValue false
38
+ */
24
39
  pinCols?: boolean
40
+ /**
41
+ * @defaultValue false
42
+ */
25
43
  rowHover?: boolean
44
+ /**
45
+ * @defaultValue false
46
+ */
26
47
  bordered?: boolean
48
+ /**
49
+ * @defaultValue true
50
+ */
27
51
  scrollbarThin?: boolean
28
52
  class?: any
29
53
  b24ui?: Partial<typeof tableWrapper.slots>
@@ -1,7 +1,11 @@
1
1
  import { type MaybeRefOrGetter } from 'vue';
2
2
  import type { AvatarProps, IconComponent } from '../types';
3
3
  export interface UseComponentIconsProps {
4
- /** Display an icon on the left side. */
4
+ /**
5
+ * Display an icon on the left side.
6
+ * @defaultValue icons.loading
7
+ * @IconComponent
8
+ */
5
9
  icon?: IconComponent;
6
10
  /** Display an avatar on the left side. */
7
11
  avatar?: AvatarProps;
@@ -9,12 +13,15 @@ export interface UseComponentIconsProps {
9
13
  loading?: boolean;
10
14
  /** When `true`, the icon will be displayed on the right side. */
11
15
  trailing?: boolean;
12
- /** Display an icon on the right side. */
16
+ /**
17
+ * Display an icon on the right side.
18
+ * @IconComponent
19
+ */
13
20
  trailingIcon?: IconComponent;
14
21
  }
15
22
  export declare function useComponentIcons(componentProps: MaybeRefOrGetter<UseComponentIconsProps>): {
16
23
  isLeading: import("vue").ComputedRef<any>;
17
24
  isTrailing: import("vue").ComputedRef<boolean>;
18
- leadingIconName: import("vue").ComputedRef<IconComponent | undefined>;
19
- trailingIconName: import("vue").ComputedRef<IconComponent | undefined>;
25
+ leadingIconName: import("vue").ComputedRef<import("vue").FunctionalComponent<import("vue").HTMLAttributes & import("vue").VNodeProps, {}, any, {}> | undefined>;
26
+ trailingIconName: import("vue").ComputedRef<import("vue").FunctionalComponent<import("vue").HTMLAttributes & import("vue").VNodeProps, {}, any, {}> | undefined>;
20
27
  };
@@ -1,4 +1,4 @@
1
- import { shallowReactive, reactive, markRaw } from "vue";
1
+ import { reactive, markRaw, shallowReactive } from "vue";
2
2
  import { createSharedComposable } from "@vueuse/core";
3
3
  function _useOverlay() {
4
4
  const overlays = shallowReactive([]);
@@ -1 +1 @@
1
- @plugin "@bitrix24/b24style";@import "#build/b24ui.css";@import "./keyframes.css";@variant light (&:where(.light, .light *));@variant dark (&:where(.dark, .dark *));@layer base{body{@apply antialiased scheme-light dark:scheme-dark}.scrollbar-thin{scrollbar-width:thin}}
1
+ @plugin "@bitrix24/b24style";@import "#build/b24ui.css";@import "./keyframes.css";@variant light (&:where(.light, .light *));@variant dark (&:where(.dark, .dark *));@layer base{--b24ui-header-height:calc(var(--spacing)*16);body{@apply antialiased scheme-light dark:scheme-dark}.scrollbar-thin{scrollbar-width:thin}}@layer theme{:host,:root{--spacing:.25rem}}
@@ -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/prose-h1'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseH1 = _appConfig as AppConfig & { b24ui: { prose: { h1: Partial<typeof theme> } } }
8
+
9
+ const proseH1 = tv({ extend: tv(theme), ...(appConfigProseH1.b24ui?.prose?.h1 || {}) })
10
+
11
+ export interface proseH1Props {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseH1.slots>
14
+ }
15
+
16
+ export interface proseH1Slots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<proseH1Props>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseH1({})
28
+ </script>
29
+
30
+ <template>
31
+ <h1
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </h1>
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/prose-h2'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseH2 = _appConfig as AppConfig & { b24ui: { prose: { h2: Partial<typeof theme> } } }
8
+
9
+ const proseH2 = tv({ extend: tv(theme), ...(appConfigProseH2.b24ui?.prose?.h2 || {}) })
10
+
11
+ export interface proseH2Props {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseH2.slots>
14
+ }
15
+
16
+ export interface proseH2Slots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<proseH2Props>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseH2({})
28
+ </script>
29
+
30
+ <template>
31
+ <h2
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </h2>
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/prose-h3'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigProseH3 = _appConfig as AppConfig & { b24ui: { prose: { h3: Partial<typeof theme> } } }
8
+
9
+ const proseH3 = tv({ extend: tv(theme), ...(appConfigProseH3.b24ui?.prose?.h3 || {}) })
10
+
11
+ export interface proseH3Props {
12
+ class?: any
13
+ b24ui?: Partial<typeof proseH3.slots>
14
+ }
15
+
16
+ export interface proseH3Slots {
17
+ default(props?: {}): any
18
+ }
19
+ </script>
20
+
21
+ <script setup lang="ts">
22
+ defineOptions({ inheritAttrs: false })
23
+
24
+ const props = defineProps<proseH3Props>()
25
+
26
+ // eslint-disable-next-line vue/no-dupe-keys
27
+ const b24ui = proseH3({})
28
+ </script>
29
+
30
+ <template>
31
+ <h3
32
+ :class="b24ui.base({ class: [props.class, props.b24ui?.base] })"
33
+ >
34
+ <slot />
35
+ </h3>
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/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/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/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/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,14 @@ 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/ProseH1.vue';
40
+ export * from '../prose/ProseH2.vue';
41
+ export * from '../prose/ProseH3.vue';
42
+ export * from '../prose/ProseLi.vue';
43
+ export * from '../prose/ProseOl.vue';
44
+ export * from '../prose/ProseP.vue';
45
+ export * from '../prose/ProseUl.vue';
39
46
  export * from './form';
40
47
  export * from './icons';
41
48
  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,14 @@ 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/ProseH1.vue";
40
+ export * from "../prose/ProseH2.vue";
41
+ export * from "../prose/ProseH3.vue";
42
+ export * from "../prose/ProseLi.vue";
43
+ export * from "../prose/ProseOl.vue";
44
+ export * from "../prose/ProseP.vue";
45
+ export * from "../prose/ProseUl.vue";
39
46
  export * from "./form.js";
40
47
  export * from "./icons.js";
41
48
  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) {