@teammodlr/ui-kit 2.1.51 → 2.1.52

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 (41) hide show
  1. package/lib/components/avatar/Avatar.vue.d.ts +1 -1
  2. package/lib/components/badge/style/Badge.css.d.ts +2 -2
  3. package/lib/components/button/Button.vue.d.ts +1 -1
  4. package/lib/components/button/style/Button.css.d.ts +3 -3
  5. package/lib/components/checkbox/Checkbox.vue.d.ts +1 -1
  6. package/lib/components/collapse/Collapse.vue.d.ts +82 -0
  7. package/lib/components/collapse/CollapseItem.vue.d.ts +43 -0
  8. package/lib/components/collapse/CollapseItemContent.vue.d.ts +29 -0
  9. package/lib/components/collapse/interface.d.ts +9 -0
  10. package/lib/components/collapse/style/Collapse.css.d.ts +8 -0
  11. package/lib/components/collapse/style/index.d.ts +1 -0
  12. package/lib/components/configprovider/ConfigProvider.vue.d.ts +0 -1
  13. package/lib/components/dialog/Dialog.vue.d.ts +1 -1
  14. package/lib/components/dropdown/Dropdown.vue.d.ts +2 -2
  15. package/lib/components/dropdown/DropdownItem.vue.d.ts +1 -1
  16. package/lib/components/dropdown/style/Dropdown.css.d.ts +1 -1
  17. package/lib/components/index.d.ts +3 -0
  18. package/lib/components/input/Input.vue.d.ts +3 -3
  19. package/lib/components/modal/Modal.vue.d.ts +1 -1
  20. package/lib/components/radio/Radio.vue.d.ts +2 -2
  21. package/lib/components/radiobutton/RadioButton.vue.d.ts +3 -3
  22. package/lib/components/select/Select.vue.d.ts +2 -2
  23. package/lib/components/switch/Switch.vue.d.ts +1 -1
  24. package/lib/components/textarea/Textarea.vue.d.ts +4 -4
  25. package/lib/components/tree/Tree.vue.d.ts +1 -1
  26. package/lib/index.cjs.js +7 -7
  27. package/lib/index.es.js +2369 -2127
  28. package/lib/style.css +1 -1
  29. package/lib/styles/theme.css.d.ts +1 -1
  30. package/package.json +3 -2
  31. package/src/call.ts +34 -34
  32. package/src/components/collapse/Collapse.vue +143 -0
  33. package/src/components/collapse/CollapseItem.vue +123 -0
  34. package/src/components/collapse/CollapseItemContent.vue +58 -0
  35. package/src/components/collapse/examples/basic.vue +13 -0
  36. package/src/components/collapse/examples/index.stories.ts +18 -0
  37. package/src/components/collapse/examples/index.ts +1 -0
  38. package/src/components/collapse/interface.ts +38 -0
  39. package/src/components/collapse/style/Collapse.css.ts +87 -0
  40. package/src/components/collapse/style/index.ts +1 -0
  41. package/src/components/index.ts +51 -48
@@ -0,0 +1,58 @@
1
+ <script lang="ts">
2
+ import { computed, defineComponent, ref, toRef, type PropType } from 'vue'
3
+ import { useFalseUntilTruthy } from 'vooks'
4
+ import { collapseItemContentWrapper, collapseItemContentInner } from './style'
5
+ export default defineComponent({
6
+ name: 'CollapseItemContent',
7
+ props: {
8
+ displayDirective: {
9
+ type: String as PropType<'if' | 'show'>,
10
+ required: true
11
+ },
12
+ show: Boolean
13
+ },
14
+ setup(props, { slots }) {
15
+ const onceTrueRef = useFalseUntilTruthy(toRef(props, 'show'))
16
+ const useVShow = ref(props.displayDirective === 'show' && onceTrueRef.value)
17
+
18
+ const wrapperClassesComputed = computed(() => {
19
+ return {
20
+ [collapseItemContentWrapper]: true
21
+ }
22
+ })
23
+
24
+ const innerClassesComputed = computed(() => {
25
+ return {
26
+ [collapseItemContentInner]: true
27
+ }
28
+ })
29
+
30
+ return {
31
+ onceTrue: onceTrueRef,
32
+ useVShow,
33
+ slots,
34
+ wrapperClassesComputed,
35
+ innerClassesComputed
36
+ }
37
+ }
38
+ });
39
+ </script>
40
+
41
+ <template>
42
+ <div>
43
+ <div v-if="displayDirective === 'if' ? show : onceTrue">
44
+ <div :class="wrapperClassesComputed">
45
+ <div :class="innerClassesComputed">
46
+ <slot />
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <div v-show="displayDirective === 'show' && onceTrue" v-if="!show">
51
+ <div :class="wrapperClassesComputed">
52
+ <div :class="innerClassesComputed">
53
+ <slot />
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ </template>
@@ -0,0 +1,13 @@
1
+ <template>
2
+ <m-collapse :default-expanded-names="['1', '2']">
3
+ <m-collapse-item title="Ben is gay" name="1">
4
+ <div>yrs</div>
5
+ </m-collapse-item>
6
+ <m-collapse-item title="right" name="2">
7
+ <div>nice</div>
8
+ </m-collapse-item>
9
+ <m-collapse-item title="right" name="3">
10
+ <div>very good</div>
11
+ </m-collapse-item>
12
+ </m-collapse>
13
+ </template>
@@ -0,0 +1,18 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3';
2
+ import MCollapse from '../Collapse.vue';
3
+ import MCollapseItem from '../CollapseItem.vue';
4
+ import { MCollapseBasic } from './index';
5
+ import { createStory, sizeArgType } from '../../../__storybook__';
6
+
7
+
8
+ const meta: Meta<typeof MCollapse> = {
9
+ title: 'Components/Collapse',
10
+ component: MCollapse,
11
+ subcomponents: { MCollapse },
12
+ argTypes: {
13
+ }
14
+ }
15
+
16
+ export default meta;
17
+ type Story = StoryObj<typeof MCollapse>;
18
+ export const Default = createStory(MCollapseBasic) as Story;
@@ -0,0 +1 @@
1
+ export { default as MCollapseBasic } from './basic.vue';
@@ -0,0 +1,38 @@
1
+ export type OnUpdateExpandedNames = <
2
+ T extends string[] &
3
+ number[] &
4
+ Array<string | number> &
5
+ (string | number | null) &
6
+ (string | null) &
7
+ (number | null)
8
+ >(
9
+ value: T
10
+ ) => void
11
+
12
+ export type OnUpdateExpandedNamesImpl = <
13
+ T extends
14
+ | string[]
15
+ | number[]
16
+ | Array<string | number>
17
+ | (string | number | null)
18
+ | (string | null)
19
+ | (number | null)
20
+ >(
21
+ value: T
22
+ ) => void
23
+
24
+ export type OnItemHeaderClick = <T extends string & number & (string | number) >(
25
+ info: HeaderClickInfo<T>
26
+ ) => void
27
+
28
+ export type OnItemHeaderClickImpl = <
29
+ T extends string | number | (string | number)
30
+ >(
31
+ info: HeaderClickInfo<T>
32
+ ) => void
33
+
34
+ export interface HeaderClickInfo<T> {
35
+ name: T
36
+ expanded: boolean
37
+ event: MouseEvent
38
+ }
@@ -0,0 +1,87 @@
1
+ import {
2
+ createVar,
3
+ style,
4
+ styleVariants
5
+ } from '@vanilla-extract/css';
6
+ import { themeVars } from '../../../styles/theme.css';
7
+
8
+ const vars = {
9
+ gap: createVar(),
10
+ fontSize: createVar(),
11
+ fontColor: createVar(),
12
+ borderColor: createVar(),
13
+ headerPadding: createVar()
14
+ }
15
+
16
+ export const wrapper = style({
17
+ width: '100%',
18
+ display: 'block'
19
+ })
20
+
21
+ export const collapseItem = style({
22
+ vars: {
23
+ [vars.gap]: '16px',
24
+ [vars.fontSize]: '15px',
25
+ [vars.fontColor]: themeVars.color.gray[800],
26
+ [vars.borderColor]: themeVars.color.gray[200],
27
+ [vars.headerPadding]: '16px 0 0 0'
28
+ },
29
+ display: 'block',
30
+ fontSize: vars.fontSize,
31
+ color: vars.fontColor,
32
+ marginTop: vars.gap,
33
+ selectors: {
34
+ '&:not(:first-child)': {
35
+ borderTop: `1px solid ${vars.borderColor}`
36
+ }
37
+
38
+ }
39
+ });
40
+
41
+ export const collapseItemHeader = style({
42
+ fontSize: vars.fontSize,
43
+ display: 'flex',
44
+ flexWrap: 'nowrap',
45
+ alignItems: 'center',
46
+ position: 'relative',
47
+ color: vars.fontColor,
48
+ padding: vars.headerPadding
49
+ });
50
+
51
+
52
+ export const collapseItemHeaderMain = style({
53
+ display: 'flex',
54
+ flexWrap: 'nowrap',
55
+ alignItems: 'center',
56
+ width: '100%',
57
+ cursor: 'pointer',
58
+ flex: 1,
59
+ gap: '6px'
60
+ });
61
+
62
+ export const collapseItemHeaderArrow = style({
63
+ cursor: 'pointer',
64
+ display: 'flex',
65
+ width: '16px',
66
+ height: '16px',
67
+ color: vars.fontColor,
68
+ transform: 'rotate(0deg)',
69
+ transition: 'transform .2s ease-in-out',
70
+ verticalAlign: 'middle',
71
+ position: 'relative',
72
+ top: '1px'
73
+ })
74
+
75
+ export const collapseItemHeaderArrowActive = style({
76
+ transform: 'rotate(90deg)',
77
+ })
78
+
79
+ export const collapseItemContentWrapper = style({
80
+ display: 'block',
81
+ fontSize: vars.fontSize,
82
+ color: vars.fontColor,
83
+ });
84
+
85
+ export const collapseItemContentInner = style({
86
+ paddingTop: vars.gap,
87
+ })
@@ -0,0 +1 @@
1
+ export * from './Collapse.css';
@@ -1,48 +1,51 @@
1
- export { default as MRenderer } from './renderer/renderer';
2
- export { default as MConfigProvider } from './configprovider/ConfigProvider.vue';
3
- export { default as MAvatar } from './avatar/Avatar.vue';
4
- export { default as MAvatarGroup } from './avatargroup/AvatarGroup.vue';
5
- export { default as MBadge } from './badge/Badge.vue';
6
- export { default as MBreadcrumb } from './breadcrumb/Breadcrumb.vue';
7
- export { default as MBreadcrumbItem } from './breadcrumb/BreadcrumbItem.vue';
8
- export { default as MButton } from './button/Button.vue';
9
- export { default as MButtonGroup } from './buttongroup/ButtonGroup.vue';
10
- export { default as MCheckbox } from './checkbox/Checkbox.vue';
11
- export { default as MColorPicker } from './colorpicker/ColorPicker.vue';
12
- export { default as MDropdown } from './dropdown/Dropdown.vue';
13
- export { default as MDropdownItem } from './dropdown/DropdownItem.vue';
14
- export { default as MDropdownList } from './dropdown/DropdownList.vue';
15
- export { default as MDropdownSeperator } from './dropdown/DropdownSeperator.vue';
16
- export { default as MDropdownHeading } from './dropdown/DropdownHeading.vue';
17
- export { default as MDropdownWrapper } from './dropdown/DropdownWrapper.vue';
18
- export { default as MForm } from './form/Form.vue';
19
- export { default as MImage } from './image/Image.vue';
20
- export { default as MInput } from './input/Input.vue';
21
- export { default as MLink } from './link/Link.vue';
22
- export { default as MMessageProvider } from './messageprovider/MessageProvider.vue';
23
- export { default as MModal } from './modal/Modal.vue';
24
- export { default as MPagination } from './pagination/Pagination.vue';
25
- export { default as MRadio } from './radio/Radio.vue';
26
- export { default as MRadioButton } from './radiobutton/RadioButton.vue';
27
- export { default as MRadioButtonGroup } from './radiobuttongroup/RadioButtonGroup.vue';
28
- export { default as MSelect } from './select/Select.vue';
29
- export { default as MSkeleton } from './skeleton/Skeleton.vue';
30
- export { default as MSlider } from './slider/Slider.vue';
31
- export { default as MSwitch } from './switch/Switch.vue';
32
- export { default as MTab } from './tab/Tab.vue';
33
- export { default as MTabGroup } from './tab/TabGroup.vue';
34
- export { default as MTable } from './table/Table.vue';
35
- export { default as MTableBody } from './table/TableBody.vue';
36
- export { default as MTableCell } from './table/TableCell.vue';
37
- export { default as MTableHead } from './table/TableHead.vue';
38
- export { default as MTableHeadRow } from './table/TableHeadRow.vue';
39
- export { default as MTableRow } from './table/TableRow.vue';
40
- export { default as MTag } from './tag/Tag.vue';
41
- export { default as MTextarea } from './textarea/Textarea.vue';
42
- export { default as MTooltip } from './tooltip/Tooltip.vue';
43
- export { default as MTransfer } from './transfer/Transfer.vue';
44
- export { default as MVirtualScroll } from './virtualscroll/VirtualScroll.vue';
45
- export { default as MConfirm } from './confirm/Confirm.vue';
46
- export { default as MConfirmProvider } from './confirm/ConfirmProvider.vue';
47
- export { default as MDialog } from './dialog/Dialog.vue';
48
- export { default as MTree } from './tree/Tree.vue';
1
+ export { default as MRenderer } from './renderer/renderer';
2
+ export { default as MCollapse } from './collapse/Collapse.vue';
3
+ export { default as MCollapseItem } from './collapse/CollapseItem.vue';
4
+ export { default as MCollapseItemContent } from './collapse/CollapseItemContent.vue';
5
+ export { default as MConfigProvider } from './configprovider/ConfigProvider.vue';
6
+ export { default as MAvatar } from './avatar/Avatar.vue';
7
+ export { default as MAvatarGroup } from './avatargroup/AvatarGroup.vue';
8
+ export { default as MBadge } from './badge/Badge.vue';
9
+ export { default as MBreadcrumb } from './breadcrumb/Breadcrumb.vue';
10
+ export { default as MBreadcrumbItem } from './breadcrumb/BreadcrumbItem.vue';
11
+ export { default as MButton } from './button/Button.vue';
12
+ export { default as MButtonGroup } from './buttongroup/ButtonGroup.vue';
13
+ export { default as MCheckbox } from './checkbox/Checkbox.vue';
14
+ export { default as MColorPicker } from './colorpicker/ColorPicker.vue';
15
+ export { default as MDropdown } from './dropdown/Dropdown.vue';
16
+ export { default as MDropdownItem } from './dropdown/DropdownItem.vue';
17
+ export { default as MDropdownList } from './dropdown/DropdownList.vue';
18
+ export { default as MDropdownSeperator } from './dropdown/DropdownSeperator.vue';
19
+ export { default as MDropdownHeading } from './dropdown/DropdownHeading.vue';
20
+ export { default as MDropdownWrapper } from './dropdown/DropdownWrapper.vue';
21
+ export { default as MForm } from './form/Form.vue';
22
+ export { default as MImage } from './image/Image.vue';
23
+ export { default as MInput } from './input/Input.vue';
24
+ export { default as MLink } from './link/Link.vue';
25
+ export { default as MMessageProvider } from './messageprovider/MessageProvider.vue';
26
+ export { default as MModal } from './modal/Modal.vue';
27
+ export { default as MPagination } from './pagination/Pagination.vue';
28
+ export { default as MRadio } from './radio/Radio.vue';
29
+ export { default as MRadioButton } from './radiobutton/RadioButton.vue';
30
+ export { default as MRadioButtonGroup } from './radiobuttongroup/RadioButtonGroup.vue';
31
+ export { default as MSelect } from './select/Select.vue';
32
+ export { default as MSkeleton } from './skeleton/Skeleton.vue';
33
+ export { default as MSlider } from './slider/Slider.vue';
34
+ export { default as MSwitch } from './switch/Switch.vue';
35
+ export { default as MTab } from './tab/Tab.vue';
36
+ export { default as MTabGroup } from './tab/TabGroup.vue';
37
+ export { default as MTable } from './table/Table.vue';
38
+ export { default as MTableBody } from './table/TableBody.vue';
39
+ export { default as MTableCell } from './table/TableCell.vue';
40
+ export { default as MTableHead } from './table/TableHead.vue';
41
+ export { default as MTableHeadRow } from './table/TableHeadRow.vue';
42
+ export { default as MTableRow } from './table/TableRow.vue';
43
+ export { default as MTag } from './tag/Tag.vue';
44
+ export { default as MTextarea } from './textarea/Textarea.vue';
45
+ export { default as MTooltip } from './tooltip/Tooltip.vue';
46
+ export { default as MTransfer } from './transfer/Transfer.vue';
47
+ export { default as MVirtualScroll } from './virtualscroll/VirtualScroll.vue';
48
+ export { default as MConfirm } from './confirm/Confirm.vue';
49
+ export { default as MConfirmProvider } from './confirm/ConfirmProvider.vue';
50
+ export { default as MDialog } from './dialog/Dialog.vue';
51
+ export { default as MTree } from './tree/Tree.vue';