@weni/unnnic-system 3.5.3-alpha.1 → 3.6.0

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 (229) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
  3. package/dist/components/Alert/Alert.vue.d.ts +117 -18
  4. package/dist/components/Alert/Alert.vue.d.ts.map +1 -1
  5. package/dist/components/Alert/Version1dot1.vue.d.ts +38 -2
  6. package/dist/components/Alert/Version1dot1.vue.d.ts.map +1 -1
  7. package/dist/components/AudioRecorder/AudioHandler.vue.d.ts +2 -2
  8. package/dist/components/AudioRecorder/AudioPlayer.vue.d.ts +1 -1
  9. package/dist/components/AudioRecorder/AudioRecorder.vue.d.ts +5 -5
  10. package/dist/components/AvatarIcon/AvatarIcon.vue.d.ts +2 -2
  11. package/dist/components/Banner/Banner.vue.d.ts +1 -1
  12. package/dist/components/Banner/InfoBanner.vue.d.ts +1 -1
  13. package/dist/components/Breadcrumb/Breadcrumb.vue.d.ts +1 -1
  14. package/dist/components/Button/Button.vue.d.ts +1 -1
  15. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  16. package/dist/components/Button/ButtonIcon.vue.d.ts +1 -1
  17. package/dist/components/Button/types.d.ts +1 -1
  18. package/dist/components/Button/types.d.ts.map +1 -1
  19. package/dist/components/Card/AccountCard.vue.d.ts +3 -3
  20. package/dist/components/Card/BlankCard.vue.d.ts +1 -1
  21. package/dist/components/Card/Card.vue.d.ts +21 -21
  22. package/dist/components/Card/CardCompany.vue.d.ts +8 -8
  23. package/dist/components/Card/CardData.vue.d.ts +1 -1
  24. package/dist/components/Card/CardStatusesContainer.vue.d.ts +4 -4
  25. package/dist/components/Card/ContentCard.vue.d.ts +2 -2
  26. package/dist/components/Card/DashCard.vue.d.ts +4 -4
  27. package/dist/components/Card/DefaultCard.vue.d.ts +1 -1
  28. package/dist/components/Card/MarketplaceCard.vue.d.ts +2 -2
  29. package/dist/components/Card/SimpleCard.vue.d.ts +3 -3
  30. package/dist/components/Card/StatusCard.vue.d.ts +2 -2
  31. package/dist/components/Card/TitleCard.vue.d.ts +2 -2
  32. package/dist/components/CardImage/CardImage.vue.d.ts +31 -24
  33. package/dist/components/CardInformation/CardInformation.vue.d.ts +4 -4
  34. package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
  35. package/dist/components/Carousel/Carousel.vue.d.ts +11 -11
  36. package/dist/components/Carousel/TagCarousel.vue.d.ts +9 -9
  37. package/dist/components/ChartBar/ChartBar.vue.d.ts +5 -5
  38. package/dist/components/ChartLine/ChartLine.vue.d.ts +1 -1
  39. package/dist/components/ChatText/ChatText.vue.d.ts +2 -2
  40. package/dist/components/ChatsContact/ChatsContact.vue.d.ts +38 -31
  41. package/dist/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue.d.ts +1 -1
  42. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts +1 -1
  43. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts.map +1 -1
  44. package/dist/components/ChatsMessage/ChatsMessage.vue.d.ts +5 -5
  45. package/dist/components/ChatsMessage/ChatsMessageStatusBackdrop.vue.d.ts +2 -2
  46. package/dist/components/ChatsNavbar/ChatsNavbar.vue.d.ts +1 -1
  47. package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +2 -2
  48. package/dist/components/Checkbox/Checkbox.vue.d.ts +26 -19
  49. package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
  50. package/dist/components/Comment/Comment.vue.d.ts +1 -1
  51. package/dist/components/DataArea/DataArea.vue.d.ts +2 -2
  52. package/dist/components/DataTable/index.vue.d.ts +1 -1
  53. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  54. package/dist/components/DateFilter/DateFilter.vue.d.ts +29 -176
  55. package/dist/components/DatePicker/DatePicker.vue.d.ts +3 -3
  56. package/dist/components/Drawer/Drawer.vue.d.ts +4 -4
  57. package/dist/components/Dropdown/Dropdown.vue.d.ts +1 -1
  58. package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
  59. package/dist/components/Flag.vue.d.ts +2 -2
  60. package/dist/components/FormElement/FormElement.vue.d.ts +30 -38
  61. package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
  62. package/dist/components/Icon.vue.d.ts +1 -1
  63. package/dist/components/Icon.vue.d.ts.map +1 -1
  64. package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
  65. package/dist/components/ImportCard/ImportCard.vue.d.ts +4 -4
  66. package/dist/components/Input/BaseInput.vue.d.ts +1 -32
  67. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  68. package/dist/components/Input/Input.vue.d.ts +29 -176
  69. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  70. package/dist/components/Input/TextInput.vue.d.ts +14 -83
  71. package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
  72. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +33 -180
  73. package/dist/components/InputNext/InputNext.vue.d.ts +4 -4
  74. package/dist/components/Label/Label.vue.d.ts +15 -9
  75. package/dist/components/Label/Label.vue.d.ts.map +1 -1
  76. package/dist/components/Modal/Modal.vue.d.ts +2 -2
  77. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +6 -6
  78. package/dist/components/ModalNext/ModalNext.vue.d.ts +34 -181
  79. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +8 -8
  80. package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
  81. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +14 -20
  82. package/dist/components/Pagination/Pagination.vue.d.ts +3 -3
  83. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
  84. package/dist/components/Radio/Radio.vue.d.ts +6 -8
  85. package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
  86. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +51 -113
  87. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +8 -8
  88. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +27 -20
  89. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts.map +1 -1
  90. package/dist/components/SelectTime/index.vue.d.ts +14 -83
  91. package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +2 -2
  92. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  93. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  94. package/dist/components/Switch/Switch.vue.d.ts +21 -55
  95. package/dist/components/Switch/Switch.vue.d.ts.map +1 -1
  96. package/dist/components/Tab/Tab.vue.d.ts +2 -13
  97. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  98. package/dist/components/TableNext/TablePagination.vue.d.ts +3 -3
  99. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  100. package/dist/components/Tag/BrandTag.vue.d.ts +2 -2
  101. package/dist/components/Tag/DefaultTag.vue.d.ts +2 -2
  102. package/dist/components/Tag/IndicatorTag.vue.d.ts +2 -2
  103. package/dist/components/Tag/Tag.vue.d.ts +8 -8
  104. package/dist/components/TextArea/TextArea.vue.d.ts +30 -38
  105. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  106. package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
  107. package/dist/components/Tour/Tour.vue.d.ts +3 -3
  108. package/dist/components/Tour/TourPopover.vue.d.ts +3 -3
  109. package/dist/components/UploadArea/UploadArea.vue.d.ts +4 -4
  110. package/dist/components/index.d.ts +1184 -2540
  111. package/dist/components/index.d.ts.map +1 -1
  112. package/dist/{es-1c7253d4.mjs → es-92fbe460.mjs} +1 -1
  113. package/dist/{index-ff0a404c.mjs → index-0da47957.mjs} +10936 -18388
  114. package/dist/locales/en.json.d.ts +1 -2
  115. package/dist/locales/es.json.d.ts +1 -2
  116. package/dist/locales/pt_br.json.d.ts +1 -2
  117. package/dist/{pt-br-316f1627.mjs → pt-br-c29b6c9a.mjs} +1 -1
  118. package/dist/style.css +1 -1
  119. package/dist/unnnic.mjs +148 -157
  120. package/dist/unnnic.umd.js +51 -53
  121. package/dist/utils/call.d.ts +1 -2
  122. package/dist/utils/call.d.ts.map +1 -1
  123. package/package.json +2 -4
  124. package/src/components/Alert/Alert.vue +135 -26
  125. package/src/components/Alert/AlertBanner.vue +182 -0
  126. package/src/components/Alert/AlertCaller.vue +49 -0
  127. package/src/components/Alert/Version1dot1.vue +36 -0
  128. package/src/components/Alert/__tests__/Alert.spec.js +45 -2
  129. package/src/components/Alert/__tests__/AlertBanner.spec.js +89 -0
  130. package/src/components/Alert/__tests__/AlertCaller.spec.js +98 -0
  131. package/src/components/Alert/__tests__/Version1dot1.spec.js +21 -0
  132. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +7 -11
  133. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +2 -2
  134. package/src/components/Button/Button.vue +107 -64
  135. package/src/components/Button/types.ts +1 -0
  136. package/src/components/Checkbox/Checkbox.vue +64 -98
  137. package/src/components/Checkbox/__tests__/Checkbox.spec.js +21 -6
  138. package/src/components/FormElement/FormElement.vue +91 -51
  139. package/src/components/Icon.vue +1 -23
  140. package/src/components/Input/BaseInput.vue +14 -31
  141. package/src/components/Input/Input.scss +21 -19
  142. package/src/components/Input/Input.vue +30 -94
  143. package/src/components/Input/TextInput.vue +58 -82
  144. package/src/components/Input/__test__/TextInput.spec.js +5 -5
  145. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +3 -16
  146. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -7
  147. package/src/components/Label/Label.vue +21 -52
  148. package/src/components/Label/__tests__/Label.spec.js +1 -1
  149. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  150. package/src/components/Radio/Radio.vue +67 -80
  151. package/src/components/Radio/__test__/Radio.spec.js +20 -14
  152. package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +3 -3
  153. package/src/components/Switch/Switch.vue +97 -120
  154. package/src/components/Switch/__tests__/Switch.spec.js +75 -8
  155. package/src/components/Switch/__tests__/__snapshots__/Switch.spec.js.snap +6 -5
  156. package/src/components/Tab/Tab.vue +23 -37
  157. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
  158. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  159. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  160. package/src/components/TextArea/TextArea.vue +9 -13
  161. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +2 -7
  162. package/src/components/index.ts +9 -30
  163. package/src/locales/en.json +1 -2
  164. package/src/locales/es.json +1 -2
  165. package/src/locales/pt_br.json +1 -2
  166. package/src/stories/Alert.stories.js +67 -6
  167. package/src/stories/Button.stories.js +17 -2
  168. package/src/stories/Checkbox.stories.js +4 -11
  169. package/src/stories/Icon.stories.js +15 -24
  170. package/src/stories/Input.stories.js +3 -16
  171. package/src/stories/Label.stories.js +0 -7
  172. package/src/stories/Switch.stories.js +5 -10
  173. package/src/stories/Tab.stories.js +4 -11
  174. package/src/types/scheme-colors.d.ts +0 -1
  175. package/src/utils/call.js +18 -46
  176. package/dist/assets/tokens/iconSizeTokens.d.ts +0 -2
  177. package/dist/assets/tokens/iconSizeTokens.d.ts.map +0 -1
  178. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts +0 -28
  179. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts.map +0 -1
  180. package/dist/components/Toast/Toast.vue.d.ts +0 -16
  181. package/dist/components/Toast/Toast.vue.d.ts.map +0 -1
  182. package/dist/components/Toast/ToastManager.d.ts +0 -14
  183. package/dist/components/Toast/ToastManager.d.ts.map +0 -1
  184. package/dist/components/Toast/types.d.ts +0 -35
  185. package/dist/components/Toast/types.d.ts.map +0 -1
  186. package/dist/components/ui/popover/Popover.vue.d.ts +0 -23
  187. package/dist/components/ui/popover/Popover.vue.d.ts.map +0 -1
  188. package/dist/components/ui/popover/PopoverContent.vue.d.ts +0 -43
  189. package/dist/components/ui/popover/PopoverContent.vue.d.ts.map +0 -1
  190. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +0 -19
  191. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts.map +0 -1
  192. package/dist/components/ui/popover/index.d.ts +0 -5
  193. package/dist/components/ui/popover/index.d.ts.map +0 -1
  194. package/src/assets/icons/checkbox-checked-disabled.svg +0 -3
  195. package/src/assets/icons/checkbox-checked.svg +0 -3
  196. package/src/assets/icons/checkbox-less-disabled.svg +0 -3
  197. package/src/assets/icons/checkbox-less.svg +0 -3
  198. package/src/assets/icons/radio-checked.svg +0 -3
  199. package/src/assets/icons/switch-checked-disabled.svg +0 -3
  200. package/src/assets/icons/switch-checked.svg +0 -3
  201. package/src/assets/tokens/iconSizeTokens.ts +0 -10
  202. package/src/components/CheckboxGroup/CheckboxGroup.vue +0 -96
  203. package/src/components/Popover/__tests__/Popover.spec.js +0 -147
  204. package/src/components/Popover/__tests__/__snapshots__/Popover.spec.js.snap +0 -8
  205. package/src/components/Popover/index.vue +0 -146
  206. package/src/components/RadioGroup/RadioGroup.vue +0 -142
  207. package/src/components/Select/SelectOption.vue +0 -65
  208. package/src/components/Select/__tests__/Select.spec.js +0 -412
  209. package/src/components/Select/__tests__/SelectItem.spec.js +0 -330
  210. package/src/components/Select/__tests__/SelectOption.spec.js +0 -174
  211. package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +0 -97
  212. package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +0 -15
  213. package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +0 -25
  214. package/src/components/Select/index.vue +0 -245
  215. package/src/components/Toast/Toast.vue +0 -246
  216. package/src/components/Toast/ToastManager.ts +0 -110
  217. package/src/components/Toast/__tests__/Toast.spec.js +0 -284
  218. package/src/components/Toast/__tests__/ToastManager.spec.js +0 -294
  219. package/src/components/Toast/types.ts +0 -57
  220. package/src/components/ui/popover/Popover.vue +0 -19
  221. package/src/components/ui/popover/PopoverContent.vue +0 -98
  222. package/src/components/ui/popover/PopoverTrigger.vue +0 -23
  223. package/src/components/ui/popover/index.ts +0 -4
  224. package/src/stories/CheckboxGroup.stories.js +0 -105
  225. package/src/stories/Popover.stories.js +0 -306
  226. package/src/stories/RadioGroup.stories.js +0 -144
  227. package/src/stories/Select.stories.js +0 -158
  228. package/src/stories/Toast.mdx +0 -123
  229. package/src/stories/Toast.stories.js +0 -126
@@ -1,98 +0,0 @@
1
- <template>
2
- <PopoverPortal>
3
- <PopoverContent
4
- v-bind="{ ...forwarded, ...$attrs }"
5
- :class="
6
- cn(
7
- 'unnnic-popover',
8
- `unnnic-popover--size-${props.size}`,
9
- 'bg-popover text-popover-foreground outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',
10
- )
11
- "
12
- >
13
- <section :class="`unnnic-popover__content ${props.class || ''}`">
14
- <slot />
15
- </section>
16
-
17
- <footer
18
- v-if="$slots.footer"
19
- class="unnnic-popover__footer"
20
- >
21
- <slot name="footer" />
22
- </footer>
23
- </PopoverContent>
24
- </PopoverPortal>
25
- </template>
26
-
27
- <script setup lang="ts">
28
- import type { PopoverContentEmits, PopoverContentProps } from 'reka-ui';
29
- import type { HTMLAttributes } from 'vue';
30
- import { reactiveOmit } from '@vueuse/core';
31
- import { PopoverContent, PopoverPortal, useForwardPropsEmits } from 'reka-ui';
32
- import { cn } from '@/lib/utils';
33
-
34
- defineOptions({
35
- inheritAttrs: false,
36
- });
37
-
38
- const props = withDefaults(
39
- defineProps<
40
- PopoverContentProps & {
41
- class?: HTMLAttributes['class'];
42
- size?: 'small' | 'medium' | 'large';
43
- }
44
- >(),
45
- {
46
- align: 'center',
47
- sideOffset: 4,
48
- size: 'medium',
49
- },
50
- );
51
- const emits = defineEmits<PopoverContentEmits>();
52
-
53
- const delegatedProps = reactiveOmit(props, 'class', 'size');
54
-
55
- const forwarded = useForwardPropsEmits(delegatedProps, emits);
56
- </script>
57
-
58
- <style lang="scss">
59
- @use '@/assets/scss/unnnic' as *;
60
-
61
- $popover-space: $unnnic-space-4;
62
-
63
- .unnnic-popover {
64
- z-index: 10000;
65
-
66
- border-radius: $unnnic-radius-2;
67
- box-shadow: $unnnic-shadow-1;
68
-
69
- &--size-small {
70
- width: 240px;
71
- }
72
- &--size-medium {
73
- width: 320px;
74
- }
75
- &--size-large {
76
- width: 400px;
77
- }
78
-
79
- &__content {
80
- padding: $popover-space;
81
- }
82
-
83
- &__footer {
84
- border-top: 1px solid $unnnic-color-border-soft;
85
-
86
- padding: $popover-space;
87
-
88
- display: flex;
89
- justify-content: center;
90
- align-items: center;
91
- gap: $unnnic-space-2;
92
-
93
- > * {
94
- width: 100%;
95
- }
96
- }
97
- }
98
- </style>
@@ -1,23 +0,0 @@
1
- <script setup lang="ts">
2
- import type { PopoverTriggerProps } from 'reka-ui';
3
- import { PopoverTrigger } from 'reka-ui';
4
-
5
- const props = defineProps<PopoverTriggerProps>();
6
- </script>
7
-
8
- <template>
9
- <PopoverTrigger
10
- v-bind="props"
11
- class="unnnic-popover-trigger"
12
- >
13
- <slot />
14
- </PopoverTrigger>
15
- </template>
16
-
17
- <style scoped>
18
- .unnnic-popover-trigger {
19
- border: none;
20
- background: transparent;
21
- padding: 0;
22
- }
23
- </style>
@@ -1,4 +0,0 @@
1
- export { default as Popover } from './Popover.vue';
2
- export { default as PopoverContent } from './PopoverContent.vue';
3
- export { default as PopoverTrigger } from './PopoverTrigger.vue';
4
- export { PopoverAnchor } from 'reka-ui';
@@ -1,105 +0,0 @@
1
- import { action } from '@storybook/addon-actions';
2
- import UnnnicCheckboxGroup from '../components/CheckboxGroup/CheckboxGroup.vue';
3
- import UnnnicCheckbox from '../components/Checkbox/Checkbox.vue';
4
- import { ref } from 'vue';
5
-
6
- export default {
7
- title: 'Form/CheckboxGroup',
8
- component: UnnnicCheckboxGroup,
9
- tags: ['autodocs'],
10
- parameters: {
11
- docs: {
12
- description: {
13
- component: `Allows the user to select multiple options from a category. It can also be
14
- used to display a single option that may require additional acceptance or confirmation
15
- before submission.`,
16
- },
17
- },
18
- },
19
- argTypes: {
20
- label: { control: { type: 'text' } },
21
- labelTooltip: { control: { type: 'text' } },
22
- labelUseHtmlTooltip: { control: 'boolean' },
23
- helper: { control: { type: 'text' } },
24
- state: { control: 'select', options: ['horizontal', 'vertical'] },
25
- },
26
- };
27
-
28
- export const Default = {
29
- args: {
30
- label: 'Checkbox Group 1',
31
- helper: 'Helper text',
32
- },
33
-
34
- render: (args) => ({
35
- components: {
36
- UnnnicCheckboxGroup,
37
- UnnnicCheckbox,
38
- },
39
-
40
- setup() {
41
- return { args };
42
- },
43
-
44
- template: `
45
- <section>
46
- <UnnnicCheckboxGroup v-bind="args">
47
- <UnnnicCheckbox :modelValue="true" label="Option 1" />
48
- <UnnnicCheckbox :modelValue="false" label="Option 2" />
49
- <UnnnicCheckbox :modelValue="false" label="Option 3" />
50
- </UnnnicCheckboxGroup>
51
- </section>
52
- `,
53
- }),
54
- };
55
-
56
- export const Horizontal = {
57
- args: {
58
- state: 'horizontal',
59
- label: 'Label',
60
- helper: 'Helper text',
61
- },
62
-
63
- render: (args) => ({
64
- components: {
65
- UnnnicCheckboxGroup,
66
- UnnnicCheckbox,
67
- },
68
- setup() {
69
- return { args };
70
- },
71
- template: `
72
- <UnnnicCheckboxGroup v-bind="args">
73
- <UnnnicCheckbox :modelValue="true" label="Option 1" />
74
- <UnnnicCheckbox :modelValue="false" label="Option 2" />
75
- <UnnnicCheckbox :modelValue="false" label="Option 3" />
76
- </UnnnicCheckboxGroup>
77
- `,
78
- }),
79
- };
80
-
81
- export const Vertical = {
82
- args: {
83
- state: 'vertical',
84
- label: 'Label',
85
- helper: 'Helper text',
86
- labelTooltip: 'Tooltip text',
87
- },
88
-
89
- render: (args) => ({
90
- components: {
91
- UnnnicCheckboxGroup,
92
- UnnnicCheckbox,
93
- },
94
- setup() {
95
- return { args };
96
- },
97
- template: `
98
- <UnnnicCheckboxGroup v-bind="args">
99
- <UnnnicCheckbox :modelValue="true" label="Option 1" />
100
- <UnnnicCheckbox :modelValue="false" label="Option 2" />
101
- <UnnnicCheckbox :modelValue="false" label="Option 3" />
102
- </UnnnicCheckboxGroup>
103
- `,
104
- }),
105
- };
@@ -1,306 +0,0 @@
1
- import {
2
- Popover,
3
- PopoverContent,
4
- PopoverTrigger,
5
- } from '../components/ui/popover';
6
- import UnnnicButton from '../components/Button/Button.vue';
7
- import UnnnicInput from '../components/Input/Input.vue';
8
- import UnnnicLabel from '../components/Label/Label.vue';
9
-
10
- export default {
11
- title: 'Misc/Popover',
12
- component: Popover,
13
- tags: ['autodocs'],
14
- parameters: {
15
- docs: {
16
- description: {
17
- component: `A popover component that displays rich content in a portal, floating on top of other content.
18
- <br/>
19
- It supports three sizes (small, medium, large) and optional footer slot for action buttons, for example.
20
- <br/>
21
- API reference: https://www.reka-ui.com/docs/components/popover
22
- `,
23
- },
24
- },
25
- },
26
- argTypes: {
27
- size: {
28
- control: { type: 'select' },
29
- options: ['small', 'medium', 'large'],
30
- description: 'The size of the popover',
31
- },
32
- side: {
33
- control: { type: 'select' },
34
- options: ['top', 'right', 'bottom', 'left'],
35
- description: 'The preferred side of the trigger to render against',
36
- },
37
- align: {
38
- control: { type: 'select' },
39
- options: ['start', 'center', 'end'],
40
- description: 'The preferred alignment against the trigger',
41
- },
42
- },
43
- args: {
44
- size: 'medium',
45
- side: 'bottom',
46
- align: 'center',
47
- },
48
- };
49
-
50
- export const Default = {
51
- render: (args) => ({
52
- components: { Popover, PopoverContent, PopoverTrigger, UnnnicButton },
53
- setup() {
54
- return { args };
55
- },
56
- template: `
57
- <div style="display: flex; justify-content: center; align-items: center; min-height: 300px;">
58
- <Popover>
59
- <PopoverTrigger>
60
- <UnnnicButton text="Open Popover" />
61
- </PopoverTrigger>
62
- <PopoverContent v-bind="args">
63
- <p style="margin: 0;">This is a simple popover with some content inside.</p>
64
- </PopoverContent>
65
- </Popover>
66
- </div>
67
- `,
68
- }),
69
- };
70
-
71
- export const WithFooter = {
72
- parameters: {
73
- docs: {
74
- description: {
75
- story:
76
- 'Popover with action buttons in the footer using the `#footer` slot.',
77
- },
78
- },
79
- },
80
- render: (args) => ({
81
- components: { Popover, PopoverContent, PopoverTrigger, UnnnicButton },
82
- setup() {
83
- return { args };
84
- },
85
- template: `
86
- <div style="display: flex; justify-content: center; align-items: center; min-height: 300px;">
87
- <Popover>
88
- <PopoverTrigger>
89
- <UnnnicButton text="Open Popover" />
90
- </PopoverTrigger>
91
- <PopoverContent v-bind="args">
92
- <p style="margin: 0;">This popover has a footer with action buttons.</p>
93
- <template #footer>
94
- <UnnnicButton text="Cancel" type="tertiary" />
95
- <UnnnicButton text="Save" type="primary" />
96
- </template>
97
- </PopoverContent>
98
- </Popover>
99
- </div>
100
- `,
101
- }),
102
- };
103
-
104
- export const WithForm = {
105
- parameters: {
106
- docs: {
107
- description: {
108
- story: 'Popover containing a form with inputs and footer actions.',
109
- },
110
- },
111
- },
112
- render: (args) => ({
113
- components: {
114
- Popover,
115
- PopoverContent,
116
- PopoverTrigger,
117
- UnnnicButton,
118
- UnnnicInput,
119
- UnnnicLabel,
120
- },
121
- setup() {
122
- return { args };
123
- },
124
- template: `
125
- <div style="display: flex; justify-content: center; align-items: center; min-height: 400px;">
126
- <Popover>
127
- <PopoverTrigger>
128
- <UnnnicButton text="Edit Profile" iconLeft="edit" />
129
- </PopoverTrigger>
130
- <PopoverContent v-bind="args">
131
- <h3 style="margin: 0 0 16px 0; font-size: 16px; font-weight: 700;">Edit Profile</h3>
132
- <form>
133
- <UnnnicLabel label="Name" />
134
- <UnnnicInput placeholder="Enter your name" />
135
- <br />
136
- <UnnnicLabel label="Email" />
137
- <UnnnicInput placeholder="Enter your email" type="email" />
138
- </form>
139
- <template #footer>
140
- <UnnnicButton text="Cancel" type="tertiary" />
141
- <UnnnicButton text="Save" type="primary" />
142
- </template>
143
- </PopoverContent>
144
- </Popover>
145
- </div>
146
- `,
147
- }),
148
- };
149
-
150
- export const Sizes = {
151
- parameters: {
152
- docs: {
153
- description: {
154
- story:
155
- 'The popover comes in three sizes: small (240px), medium (320px), and large (400px).',
156
- },
157
- },
158
- },
159
- render: (args) => ({
160
- components: { Popover, PopoverContent, PopoverTrigger, UnnnicButton },
161
- setup() {
162
- return { args };
163
- },
164
- template: `
165
- <div style="display: flex; justify-content: space-around; align-items: center; min-height: 400px; gap: 32px;">
166
- <Popover>
167
- <PopoverTrigger>
168
- <UnnnicButton text="Small" />
169
- </PopoverTrigger>
170
- <PopoverContent size="small">
171
- <p style="margin: 0;">Small popover (240px)</p>
172
- </PopoverContent>
173
- </Popover>
174
-
175
- <Popover>
176
- <PopoverTrigger>
177
- <UnnnicButton text="Medium" />
178
- </PopoverTrigger>
179
- <PopoverContent size="medium">
180
- <p style="margin: 0;">Medium popover (320px)</p>
181
- </PopoverContent>
182
- </Popover>
183
-
184
- <Popover>
185
- <PopoverTrigger>
186
- <UnnnicButton text="Large" />
187
- </PopoverTrigger>
188
- <PopoverContent size="large">
189
- <p style="margin: 0;">Large popover (400px)</p>
190
- </PopoverContent>
191
- </Popover>
192
- </div>
193
- `,
194
- }),
195
- };
196
-
197
- export const Placements = {
198
- parameters: {
199
- docs: {
200
- description: {
201
- story:
202
- 'The popover can be positioned on any side of the trigger: top, bottom, left, or right.',
203
- },
204
- },
205
- },
206
- render: (args) => ({
207
- components: { Popover, PopoverContent, PopoverTrigger, UnnnicButton },
208
- setup() {
209
- return { args };
210
- },
211
- template: `
212
- <div style="display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; padding: 100px;">
213
- <Popover>
214
- <PopoverTrigger>
215
- <UnnnicButton text="Top" style="width: 100%;" />
216
- </PopoverTrigger>
217
- <PopoverContent side="top" align="center">
218
- <p style="margin: 0;">Popover on top</p>
219
- </PopoverContent>
220
- </Popover>
221
-
222
- <Popover>
223
- <PopoverTrigger>
224
- <UnnnicButton text="Bottom" style="width: 100%;" />
225
- </PopoverTrigger>
226
- <PopoverContent side="bottom" align="center">
227
- <p style="margin: 0;">Popover on bottom</p>
228
- </PopoverContent>
229
- </Popover>
230
-
231
- <Popover>
232
- <PopoverTrigger>
233
- <UnnnicButton text="Right" style="width: 100%;" />
234
- </PopoverTrigger>
235
- <PopoverContent side="right" align="center">
236
- <p style="margin: 0;">Popover on right</p>
237
- </PopoverContent>
238
- </Popover>
239
-
240
- <Popover>
241
- <PopoverTrigger>
242
- <UnnnicButton text="Left" style="width: 100%;" />
243
- </PopoverTrigger>
244
- <PopoverContent side="left" align="center">
245
- <p style="margin: 0;">Popover on left</p>
246
- </PopoverContent>
247
- </Popover>
248
- </div>
249
- `,
250
- }),
251
- };
252
-
253
- export const RichContent = {
254
- args: {
255
- size: 'large',
256
- },
257
- parameters: {
258
- docs: {
259
- description: {
260
- story:
261
- 'Example of a popover with rich, structured content and footer actions.',
262
- },
263
- },
264
- },
265
- render: (args) => ({
266
- components: { Popover, PopoverContent, PopoverTrigger, UnnnicButton },
267
- setup() {
268
- return { args };
269
- },
270
- template: `
271
- <div style="display: flex; justify-content: center; align-items: center; min-height: 400px;">
272
- <Popover>
273
- <PopoverTrigger>
274
- <UnnnicButton text="Show Details" iconLeft="info" />
275
- </PopoverTrigger>
276
- <PopoverContent v-bind="args">
277
- <div>
278
- <h3 style="margin: 0 0 8px 0; font-size: 16px; font-weight: 700;">User Information</h3>
279
- <div style="display: flex; flex-direction: column; gap: 12px;">
280
- <div style="display: flex; gap: 8px;">
281
- <span style="font-weight: 600;">Name:</span>
282
- <span>John Doe</span>
283
- </div>
284
- <div style="display: flex; gap: 8px;">
285
- <span style="font-weight: 600;">Email:</span>
286
- <span>john.doe@example.com</span>
287
- </div>
288
- <div style="display: flex; gap: 8px;">
289
- <span style="font-weight: 600;">Role:</span>
290
- <span>Administrator</span>
291
- </div>
292
- <div style="display: flex; gap: 8px;">
293
- <span style="font-weight: 600;">Status:</span>
294
- <span style="color: #4CAF50;">Active</span>
295
- </div>
296
- </div>
297
- </div>
298
- <template #footer>
299
- <UnnnicButton text="View Profile" type="primary" />
300
- </template>
301
- </PopoverContent>
302
- </Popover>
303
- </div>
304
- `,
305
- }),
306
- };
@@ -1,144 +0,0 @@
1
- import { action } from '@storybook/addon-actions';
2
- import UnnnicRadioGroup from '../components/RadioGroup/RadioGroup.vue';
3
- import UnnnicRadio from '../components/Radio/Radio.vue';
4
- import { ref } from 'vue';
5
-
6
- export default {
7
- title: 'Form/RadioGroup',
8
- component: UnnnicRadioGroup,
9
- tags: ['autodocs'],
10
- parameters: {
11
- docs: {
12
- description: {
13
- component: `Fundamental in forms, used when we present a list of two or more mutually
14
- exclusive options, and the user needs to choose exactly one of them. When you click on
15
- an unselected radio button, it will automatically deselect any other buttons that were
16
- previously selected in the list.
17
- `,
18
- },
19
- },
20
- },
21
- argTypes: {
22
- label: { control: { type: 'text' } },
23
- labelTooltip: { control: { type: 'text' } },
24
- labelUseHtmlTooltip: { control: 'boolean' },
25
- modelValue: { control: { type: ['string', 'number'] } },
26
- name: { control: { type: 'text' } },
27
- state: { control: 'select', options: ['horizontal', 'vertical'] },
28
- helper: { control: { type: 'text' } },
29
- },
30
- };
31
-
32
- export const Default = {
33
- args: {
34
- label: 'Radio Group 1',
35
- helper: 'Helper text',
36
- },
37
-
38
- render: (args) => ({
39
- components: {
40
- UnnnicRadioGroup,
41
- UnnnicRadio,
42
- },
43
-
44
- setup() {
45
- const modelValue = ref('option 1');
46
-
47
- const updateModelValue = (value) => {
48
- action('update:modelValue')(value);
49
- modelValue.value = value;
50
- };
51
-
52
- return { args, modelValue, updateModelValue };
53
- },
54
-
55
- template: `
56
- <section>
57
- <pre>v-model: {{ modelValue }}</pre>
58
-
59
- <UnnnicRadioGroup v-bind="args" :modelValue="modelValue" @update:modelValue="updateModelValue">
60
- <UnnnicRadio value="option 1">
61
- Option 1
62
- </UnnnicRadio>
63
-
64
- <UnnnicRadio value="option 2">
65
- Option 2
66
- </UnnnicRadio>
67
-
68
- <UnnnicRadio value="option 3">
69
- Option 3
70
- </UnnnicRadio>
71
- </UnnnicRadioGroup>
72
- </section>
73
- `,
74
- }),
75
- };
76
-
77
- export const Horizontal = {
78
- args: {
79
- state: 'horizontal',
80
- label: 'Label',
81
- name: 'Radio Group 1',
82
- helper: 'Helper text',
83
- },
84
-
85
- render: (args) => ({
86
- components: {
87
- UnnnicRadioGroup,
88
- UnnnicRadio,
89
- },
90
- setup() {
91
- return { args };
92
- },
93
- template: `
94
- <UnnnicRadioGroup v-bind="args">
95
- <UnnnicRadio value="option 1">
96
- Option 1
97
- </UnnnicRadio>
98
-
99
- <UnnnicRadio value="option 2">
100
- Option 2
101
- </UnnnicRadio>
102
-
103
- <UnnnicRadio value="option 3">
104
- Option 3
105
- </UnnnicRadio>
106
- </UnnnicRadioGroup>
107
- `,
108
- }),
109
- };
110
-
111
- export const Vertical = {
112
- args: {
113
- state: 'vertical',
114
- label: 'Label',
115
- labelTooltip: 'Tooltip',
116
- name: 'Radio Group 2',
117
- helper: 'Helper text',
118
- },
119
-
120
- render: (args) => ({
121
- components: {
122
- UnnnicRadioGroup,
123
- UnnnicRadio,
124
- },
125
- setup() {
126
- return { args };
127
- },
128
- template: `
129
- <UnnnicRadioGroup v-bind="args">
130
- <UnnnicRadio value="option 1">
131
- Option 1
132
- </UnnnicRadio>
133
-
134
- <UnnnicRadio value="option 2">
135
- Option 2
136
- </UnnnicRadio>
137
-
138
- <UnnnicRadio value="option 3">
139
- Option 3
140
- </UnnnicRadio>
141
- </UnnnicRadioGroup>
142
- `,
143
- }),
144
- };