linkedunion-design-kit 1.11.6 → 1.11.8
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.
- package/dist/app/layout.d.ts +1 -1
- package/dist/app/{layout.js → layout.jsx} +3 -2
- package/dist/app/page.d.ts +1 -1
- package/dist/app/page.jsx +5 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/src/components/Accordion/Accordion.stories.jsx +33 -0
- package/dist/src/components/Accordion/accordion.d.ts +4 -4
- package/dist/src/components/Accordion/{accordion.js → accordion.jsx} +11 -16
- package/dist/src/components/Alerts/Alert/alert.d.ts +7 -7
- package/dist/src/components/Alerts/Alert/{alert.js → alert.jsx} +21 -25
- package/dist/src/components/Alerts/Alert/alert.stories.d.ts +8 -8
- package/dist/src/components/Alerts/Alert/alert.stories.jsx +344 -0
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.d.ts +11 -11
- package/dist/src/components/Alerts/AlertDialog/{alert-dialog.js → alert-dialog.jsx} +26 -24
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.d.ts +10 -10
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.jsx +552 -0
- package/dist/src/components/AppIcons/AndroidIcon.jsx +24 -0
- package/dist/src/components/AppIcons/{AppIcon.js → AppIcon.jsx} +4 -15
- package/dist/src/components/AppIcons/AppleIcon.jsx +31 -0
- package/dist/src/components/AppIcons/PlayStoreIcon.jsx +29 -0
- package/dist/src/components/Avatar/Avatar/{Avatar.js → Avatar.jsx} +13 -18
- package/dist/src/components/Avatar/Avatar/Avatar.stories.d.ts +7 -7
- package/dist/src/components/Avatar/Avatar/Avatar.stories.jsx +95 -0
- package/dist/src/components/Avatar/Avatar/{Avatar.test.js → Avatar.test.jsx} +1 -2
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.d.ts +1 -1
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.jsx +17 -0
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.jsx +32 -0
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.jsx +20 -0
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.stories.d.ts +2 -2
- package/dist/src/components/Avatar/StatusIndicator/{StatusIndicator.stories.js → StatusIndicator.stories.jsx} +12 -3
- package/dist/src/components/Badge/Badge.d.ts +1 -1
- package/dist/src/components/Badge/{Badge.js → Badge.jsx} +8 -13
- package/dist/src/components/Badge/Badge.stories.d.ts +10 -10
- package/dist/src/components/Badge/Badge.stories.jsx +201 -0
- package/dist/src/components/Button/Button/Button.d.ts +3 -2
- package/dist/src/components/Button/Button/{Button.js → Button.jsx} +24 -8
- package/dist/src/components/Button/Button/Button.stories.d.ts +5 -3
- package/dist/src/components/Button/Button/{Button.stories.js → Button.stories.jsx} +1 -13
- package/dist/src/components/Button/Button/Button.test.jsx +73 -0
- package/dist/src/components/Button/IconButton/IconButton.d.ts +1 -1
- package/dist/src/components/Button/IconButton/{IconButton.js → IconButton.jsx} +4 -13
- package/dist/src/components/Button/IconButton/IconButton.stories.d.ts +1 -1
- package/dist/src/components/Button/IconButton/{IconButton.stories.js → IconButton.stories.jsx} +1 -13
- package/dist/src/components/Button/IconButton/{IconButton.test.js → IconButton.test.jsx} +5 -6
- package/dist/src/components/Button/index.d.ts +1 -0
- package/dist/src/components/Button/index.js +3 -2
- package/dist/src/components/Card/MultipleNews/MultiNews.d.ts +1 -1
- package/dist/src/components/Card/MultipleNews/MultiNews.jsx +71 -0
- package/dist/src/components/Card/MultipleNews/{MultiNews.stories.js → MultiNews.stories.jsx} +1 -2
- package/dist/src/components/Card/PostByCategory/PostByCategory.d.ts +1 -1
- package/dist/src/components/Card/PostByCategory/PostByCategory.jsx +57 -0
- package/dist/src/components/Card/PostByCategory/{PostByCategory.stories.js → PostByCategory.stories.jsx} +1 -2
- package/dist/src/components/Card/SinglePost/SinglePost.d.ts +1 -1
- package/dist/src/components/Card/SinglePost/SinglePost.jsx +26 -0
- package/dist/src/components/Card/card.d.ts +2 -1
- package/dist/src/components/Card/{card.js → card.jsx} +2 -13
- package/dist/src/components/Card/contactProfile/ContactProfile.d.ts +1 -1
- package/dist/src/components/Card/contactProfile/ContactProfile.jsx +76 -0
- package/dist/src/components/Card/contactProfile/{ContactProfile.stories.js → ContactProfile.stories.jsx} +1 -2
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.d.ts +1 -1
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.jsx +41 -0
- package/dist/src/components/Card/photoAlbum/{PhotoAlbum.stories.js → PhotoAlbum.stories.jsx} +1 -13
- package/dist/src/components/Card/photoGallery/PhotoGallery.d.ts +1 -1
- package/dist/src/components/Card/photoGallery/PhotoGallery.jsx +17 -0
- package/dist/src/components/Card/photoGallery/{PhotoGallery.stories.js → PhotoGallery.stories.jsx} +1 -13
- package/dist/src/components/Checkbox/checkbox.d.ts +1 -1
- package/dist/src/components/Checkbox/{checkbox.js → checkbox.jsx} +6 -13
- package/dist/src/components/Checkbox/checkbox.stories.jsx +113 -0
- package/dist/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/dist/src/components/ColorPicker/{ColorPicker.js → ColorPicker.jsx} +6 -13
- package/dist/src/components/ColorPicker/ColorPicker.stories.d.ts +5 -5
- package/dist/src/components/ColorPicker/ColorPicker.stories.jsx +138 -0
- package/dist/src/components/Colors/color.d.ts +1 -1
- package/dist/src/components/Colors/{color.js → color.jsx} +1 -2
- package/dist/src/components/Colors/color.stories.jsx +20 -0
- package/dist/src/components/Colors/{color.test.js → color.test.jsx} +3 -4
- package/dist/src/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/src/components/DatePicker/DatePicker.jsx +67 -0
- package/dist/src/components/DatePicker/DatePicker.stories.d.ts +9 -9
- package/dist/src/components/DatePicker/DatePicker.stories.jsx +291 -0
- package/dist/src/components/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/dist/src/components/DateRangePicker/{DateRangePicker.js → DateRangePicker.jsx} +92 -44
- package/dist/src/components/DateRangePicker/DateRangePicker.stories.d.ts +19 -19
- package/dist/src/components/DateRangePicker/DateRangePicker.stories.jsx +582 -0
- package/dist/src/components/Dropdown/Combobox/Combobox.d.ts +1 -1
- package/dist/src/components/Dropdown/Combobox/{Combobox.js → Combobox.jsx} +67 -29
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.d.ts +8 -8
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.jsx +289 -0
- package/dist/src/components/Dropdown/Combobox/dialog.d.ts +10 -10
- package/dist/src/components/Dropdown/Combobox/dialog.jsx +66 -0
- package/dist/src/components/Dropdown/Combobox/utils/renderBadge.jsx +7 -0
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.d.ts +7 -3
- package/dist/src/components/Dropdown/DropdownMenu/{DropdownMenu.js → DropdownMenu.jsx} +29 -22
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.d.ts +19 -12
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.jsx +552 -0
- package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.jsx +19 -0
- package/dist/src/components/Dropdown/DropdownMenu/index.d.ts +5 -0
- package/dist/src/components/Dropdown/DropdownMenu/index.js +5 -0
- package/dist/src/components/Dropdown/Select.stories.d.ts +7 -6
- package/dist/src/components/Dropdown/{Select.stories.js → Select.stories.jsx} +71 -8
- package/dist/src/components/Dropdown/select.d.ts +10 -10
- package/dist/src/components/Dropdown/select.jsx +94 -0
- package/dist/src/components/Icons/LUIcon.d.ts +1 -1
- package/dist/src/components/Icons/{LUIcon.js → LUIcon.jsx} +10 -13
- package/dist/src/components/Icons/stories/IconDropdown.jsx +67 -0
- package/dist/src/components/Icons/stories/IconGallery.jsx +77 -0
- package/dist/src/components/Icons/stories/InteractiveIconSelector.jsx +86 -0
- package/dist/src/components/Icons/stories/LUIcon.stories.d.ts +5 -5
- package/dist/src/components/Icons/stories/{LUIcon.stories.js → LUIcon.stories.jsx} +23 -8
- package/dist/src/components/ImageUploader/imageUploader.d.ts +1 -1
- package/dist/src/components/ImageUploader/{imageUploader.js → imageUploader.jsx} +28 -13
- package/dist/src/components/Images/LuImage.d.ts +1 -1
- package/dist/src/components/Images/{LuImage.js → LuImage.jsx} +1 -13
- package/dist/src/components/Images/{LuImage.stories.js → LuImage.stories.jsx} +1 -13
- package/dist/src/components/Images/{LuImage.test.js → LuImage.test.jsx} +6 -18
- package/dist/src/components/Input/Input.stories.d.ts +9 -8
- package/dist/src/components/Input/Input.stories.jsx +250 -0
- package/dist/src/components/Input/input.d.ts +1 -1
- package/dist/src/components/Input/{input.js → input.jsx} +10 -13
- package/dist/src/components/Label/Label.d.ts +1 -1
- package/dist/src/components/Label/{Label.js → Label.jsx} +2 -13
- package/dist/src/components/Label/{Label.stories.js → Label.stories.jsx} +1 -13
- package/dist/src/components/Modal/Modal.d.ts +3 -3
- package/dist/src/components/Modal/{Modal.js → Modal.jsx} +20 -19
- package/dist/src/components/Modal/Modal.stories.d.ts +15 -15
- package/dist/src/components/Modal/Modal.stories.jsx +487 -0
- package/dist/src/components/Pagination/pagination.d.ts +5 -5
- package/dist/src/components/Pagination/{pagination.js → pagination.jsx} +18 -21
- package/dist/src/components/Pagination/pagination.stories.d.ts +6 -6
- package/dist/src/components/Pagination/pagination.stories.jsx +301 -0
- package/dist/src/components/RadioGroup/{RadioGroup.stories.js → RadioGroup.stories.jsx} +52 -22
- package/dist/src/components/RadioGroup/radio-group.d.ts +1 -1
- package/dist/src/components/RadioGroup/{radio-group.js → radio-group.jsx} +6 -14
- package/dist/src/components/Separator/Separator.stories.d.ts +15 -0
- package/dist/src/components/Separator/Separator.stories.jsx +94 -0
- package/dist/src/components/Separator/index.d.ts +1 -0
- package/dist/src/components/Separator/index.js +1 -0
- package/dist/src/components/Separator/separator.d.ts +4 -0
- package/dist/src/components/Separator/separator.jsx +20 -0
- package/dist/src/components/Sheet/index.d.ts +1 -0
- package/dist/src/components/Sheet/index.js +1 -0
- package/dist/src/components/Sheet/sheet.d.ts +25 -0
- package/dist/src/components/Sheet/sheet.jsx +73 -0
- package/dist/src/components/Sheet/sheet.stories.d.ts +4 -0
- package/dist/src/components/Sheet/sheet.stories.jsx +34 -0
- package/dist/src/components/Skeleton/skeleton.d.ts +14 -14
- package/dist/src/components/Skeleton/{skeleton.js → skeleton.jsx} +23 -27
- package/dist/src/components/Skeleton/skeleton.stories.d.ts +14 -14
- package/dist/src/components/Skeleton/skeleton.stories.jsx +734 -0
- package/dist/src/components/Slider/slider.d.ts +1 -1
- package/dist/src/components/Slider/slider.jsx +31 -0
- package/dist/src/components/SweetAlert/SweetAlert.d.ts +9 -9
- package/dist/src/components/SweetAlert/{SweetAlert.js → SweetAlert.jsx} +18 -21
- package/dist/src/components/SweetAlert/SweetAlert.stories.d.ts +7 -7
- package/dist/src/components/SweetAlert/{SweetAlert.stories.js → SweetAlert.stories.jsx} +215 -15
- package/dist/src/components/Switch/{Switch.stories.js → Switch.stories.jsx} +1 -13
- package/dist/src/components/Switch/switch.d.ts +1 -1
- package/dist/src/components/Switch/{switch.js → switch.jsx} +4 -13
- package/dist/src/components/Table/{Table.js → Table.jsx} +111 -58
- package/dist/src/components/Table/Table.stories.d.ts +13 -13
- package/dist/src/components/Table/{Table.stories.js → Table.stories.jsx} +299 -45
- package/dist/src/components/Table/{Table.test.js → Table.test.jsx} +39 -7
- package/dist/src/components/Tabs/{Tabs.stories.js → Tabs.stories.jsx} +10 -3
- package/dist/src/components/Tabs/tabs.d.ts +4 -4
- package/dist/src/components/Tabs/tabs.jsx +32 -0
- package/dist/src/components/TimePicker/TimePicker.d.ts +1 -1
- package/dist/src/components/TimePicker/{TimePicker.js → TimePicker.jsx} +54 -30
- package/dist/src/components/TimePicker/TimePicker.stories.d.ts +10 -10
- package/dist/src/components/TimePicker/TimePicker.stories.jsx +298 -0
- package/dist/src/components/Title/Title.d.ts +1 -1
- package/dist/src/components/Title/{Title.js → Title.jsx} +2 -2
- package/dist/src/components/Title/{Title.stories.js → Title.stories.jsx} +1 -13
- package/dist/src/components/Title/{Title.test.js → Title.test.jsx} +4 -5
- package/dist/src/components/ToolTip/Tooltip.d.ts +1 -1
- package/dist/src/components/ToolTip/Tooltip.jsx +18 -0
- package/dist/src/components/ToolTip/{Tooltip.stories.js → Tooltip.stories.jsx} +2 -14
- package/dist/src/components/Typography/Body/{Body.stories.js → Body.stories.jsx} +1 -13
- package/dist/src/components/Typography/Body/body.d.ts +1 -1
- package/dist/src/components/Typography/Body/{body.js → body.jsx} +4 -13
- package/dist/src/components/Typography/Caption/{Caption.stories.js → Caption.stories.jsx} +1 -13
- package/dist/src/components/Typography/Caption/caption.d.ts +1 -1
- package/dist/src/components/Typography/Caption/{caption.js → caption.jsx} +4 -13
- package/dist/src/components/Typography/Display/{Display.stories.js → Display.stories.jsx} +1 -13
- package/dist/src/components/Typography/Display/display.d.ts +1 -1
- package/dist/src/components/Typography/Display/{display.js → display.jsx} +4 -13
- package/dist/src/components/Typography/Heading/Heading.stories.d.ts +6 -6
- package/dist/src/components/Typography/Heading/Heading.stories.jsx +85 -0
- package/dist/src/components/Typography/Heading/{heading.js → heading.jsx} +5 -14
- package/dist/src/components/VerticalTabs/{VerticalTabs.js → VerticalTabs.jsx} +9 -17
- package/dist/src/components/VerticalTabs/VerticalTabs.stories.jsx +154 -0
- package/dist/src/components/VerticalTabs/VerticalTabs.test.jsx +97 -0
- package/dist/src/components/ui/calendar.d.ts +2 -2
- package/dist/src/components/ui/{calendar.js → calendar.jsx} +36 -22
- package/dist/src/components/ui/command.d.ts +9 -9
- package/dist/src/components/ui/command.jsx +67 -0
- package/dist/src/components/ui/popover.d.ts +4 -4
- package/dist/src/components/ui/popover.jsx +33 -0
- package/dist/src/components/ui/tooltip.d.ts +4 -4
- package/dist/src/components/ui/tooltip.jsx +38 -0
- package/dist/src/components/ui/typography.d.ts +1 -1
- package/dist/src/components/ui/{typography.js → typography.jsx} +4 -13
- package/dist/styles/global.css +107 -5
- package/package.json +4 -3
- package/dist/app/page.js +0 -4
- package/dist/src/components/Accordion/Accordion.stories.js +0 -32
- package/dist/src/components/Alerts/Alert/alert.stories.js +0 -166
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.js +0 -213
- package/dist/src/components/AppIcons/AndroidIcon.js +0 -28
- package/dist/src/components/AppIcons/AppleIcon.js +0 -28
- package/dist/src/components/AppIcons/PlayStoreIcon.js +0 -28
- package/dist/src/components/Avatar/Avatar/Avatar.stories.js +0 -69
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.js +0 -8
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.js +0 -14
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.js +0 -18
- package/dist/src/components/Badge/Badge.stories.js +0 -145
- package/dist/src/components/Button/Button/Button.test.js +0 -10
- package/dist/src/components/Card/MultipleNews/MultiNews.js +0 -46
- package/dist/src/components/Card/PostByCategory/PostByCategory.js +0 -37
- package/dist/src/components/Card/SinglePost/SinglePost.js +0 -10
- package/dist/src/components/Card/contactProfile/ContactProfile.js +0 -39
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.js +0 -16
- package/dist/src/components/Card/photoGallery/PhotoGallery.js +0 -8
- package/dist/src/components/Checkbox/checkbox.stories.js +0 -78
- package/dist/src/components/ColorPicker/ColorPicker.stories.js +0 -77
- package/dist/src/components/Colors/color.stories.js +0 -32
- package/dist/src/components/DatePicker/DatePicker.js +0 -64
- package/dist/src/components/DatePicker/DatePicker.stories.js +0 -171
- package/dist/src/components/DateRangePicker/DateRangePicker.stories.js +0 -318
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.js +0 -225
- package/dist/src/components/Dropdown/Combobox/dialog.js +0 -68
- package/dist/src/components/Dropdown/Combobox/utils/renderBadge.js +0 -5
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.js +0 -253
- package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.js +0 -9
- package/dist/src/components/Dropdown/select.js +0 -87
- package/dist/src/components/Icons/stories/IconDropdown.js +0 -38
- package/dist/src/components/Icons/stories/IconGallery.js +0 -31
- package/dist/src/components/Icons/stories/InteractiveIconSelector.js +0 -26
- package/dist/src/components/Input/Input.stories.js +0 -133
- package/dist/src/components/Modal/Modal.stories.js +0 -115
- package/dist/src/components/Pagination/pagination.stories.js +0 -168
- package/dist/src/components/Skeleton/skeleton.stories.js +0 -414
- package/dist/src/components/Slider/slider.js +0 -38
- package/dist/src/components/Tabs/tabs.js +0 -43
- package/dist/src/components/TimePicker/TimePicker.stories.js +0 -176
- package/dist/src/components/ToolTip/Tooltip.js +0 -8
- package/dist/src/components/Typography/Heading/Heading.stories.js +0 -67
- package/dist/src/components/VerticalTabs/VerticalTabs.stories.js +0 -100
- package/dist/src/components/VerticalTabs/VerticalTabs.test.js +0 -48
- package/dist/src/components/ui/command.js +0 -65
- package/dist/src/components/ui/popover.js +0 -42
- package/dist/src/components/ui/tooltip.js +0 -42
- /package/dist/src/components/AppIcons/{AppIcon.stories.js → AppIcon.stories.jsx} +0 -0
- /package/dist/src/components/Card/SinglePost/{SinglePost.stories.js → SinglePost.stories.jsx} +0 -0
- /package/dist/src/components/Icons/{LUIcon.test.js → LUIcon.test.jsx} +0 -0
- /package/dist/src/components/ImageUploader/{ImageUploader.stories.js → ImageUploader.stories.jsx} +0 -0
- /package/dist/src/components/Slider/{Slider.stories.js → Slider.stories.jsx} +0 -0
- /package/dist/src/components/ui/{collapsible.js → collapsible.jsx} +0 -0
|
@@ -0,0 +1,552 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
13
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
14
|
+
if (ar || !(i in from)) {
|
|
15
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
16
|
+
ar[i] = from[i];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
|
+
};
|
|
21
|
+
import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuCheckboxItem, DropdownMenuLabel, DropdownMenuSubTrigger, DropdownMenuSub, DropdownMenuSubContent, } from "./DropdownMenu";
|
|
22
|
+
import { Button } from "../../../components/Button/Button/Button";
|
|
23
|
+
import LUIcon from "../../../components/Icons/LUIcon";
|
|
24
|
+
import { useState } from "react";
|
|
25
|
+
import { dropdownContentPosition, dropdownMenuSize } from ".";
|
|
26
|
+
import { IconButton } from "../../../components/Button/IconButton/IconButton";
|
|
27
|
+
import { Checkbox } from "../../../components/Checkbox/checkbox";
|
|
28
|
+
import { Label } from "../../../components/Label/Label";
|
|
29
|
+
import { Caption } from "../../../components/Typography/Caption/caption";
|
|
30
|
+
import { Input } from "../../../components/Input";
|
|
31
|
+
import { SelectAllSection } from "./SelectAllSection";
|
|
32
|
+
import { Avatar, AvatarFallback, AvatarImage, } from "../../../components/Avatar/Avatar/Avatar";
|
|
33
|
+
import { Badge } from "../../../components/Badge/Badge";
|
|
34
|
+
export default {
|
|
35
|
+
title: "Components/Dropdown/DropdownMenu",
|
|
36
|
+
component: DropdownMenu,
|
|
37
|
+
tags: ["autodocs"],
|
|
38
|
+
argTypes: {
|
|
39
|
+
size: {
|
|
40
|
+
control: { type: "select" },
|
|
41
|
+
options: Object.keys(dropdownMenuSize),
|
|
42
|
+
description: "Dropdown menu size",
|
|
43
|
+
table: {
|
|
44
|
+
type: { summary: "string" },
|
|
45
|
+
defaultValue: { summary: "md" },
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
disabled: {
|
|
49
|
+
control: { type: "boolean" },
|
|
50
|
+
description: "Disable the dropdown menu item",
|
|
51
|
+
table: {
|
|
52
|
+
type: { summary: "boolean" },
|
|
53
|
+
defaultValue: { summary: false },
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
align: {
|
|
57
|
+
control: { type: "select" },
|
|
58
|
+
options: Object.keys(dropdownContentPosition),
|
|
59
|
+
description: "Alignment of the dropdown menu",
|
|
60
|
+
table: {
|
|
61
|
+
type: { summary: "string" },
|
|
62
|
+
defaultValue: { summary: "start" },
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
var Template = function (args) {
|
|
68
|
+
var menuItems = [
|
|
69
|
+
{ label: "Option 1" },
|
|
70
|
+
{ label: "Option 2" },
|
|
71
|
+
{ label: "Option 3" },
|
|
72
|
+
];
|
|
73
|
+
var size = args.size, align = args.align, rest = __rest(args, ["size", "align"]);
|
|
74
|
+
return (<DropdownMenu {...rest}>
|
|
75
|
+
<DropdownMenuTrigger>
|
|
76
|
+
<Button>Open Menu</Button>
|
|
77
|
+
</DropdownMenuTrigger>
|
|
78
|
+
<DropdownMenuContent size={size} align={align}>
|
|
79
|
+
{menuItems.map(function (item, index) { return (<DropdownMenuItem key={index} onSelect={function () { return alert("".concat(item.label, " selected")); }}>
|
|
80
|
+
{item.label}
|
|
81
|
+
</DropdownMenuItem>); })}
|
|
82
|
+
</DropdownMenuContent>
|
|
83
|
+
</DropdownMenu>);
|
|
84
|
+
};
|
|
85
|
+
export var Default = Template.bind({});
|
|
86
|
+
export var Sizes = function () {
|
|
87
|
+
var menuItems = [
|
|
88
|
+
{
|
|
89
|
+
label: "Home",
|
|
90
|
+
icon: "chart-simple",
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
label: "Profile",
|
|
94
|
+
icon: "chart-pie",
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
label: "Settings",
|
|
98
|
+
icon: "square-poll-horizontal",
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
label: "Logout",
|
|
102
|
+
icon: "square-poll-vertical",
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
return (<div className="flex flex-row space-x-2">
|
|
106
|
+
<DropdownMenu>
|
|
107
|
+
<DropdownMenuTrigger>
|
|
108
|
+
<Button>Small Menu</Button>
|
|
109
|
+
</DropdownMenuTrigger>
|
|
110
|
+
<DropdownMenuContent size="sm">
|
|
111
|
+
{menuItems.map(function (item, index) { return (<DropdownMenuItem key={index} onSelect={function () { return alert("".concat(item.label, " selected")); }}>
|
|
112
|
+
<LUIcon icon={item.icon} size="sm"/> {item.label}
|
|
113
|
+
</DropdownMenuItem>); })}
|
|
114
|
+
</DropdownMenuContent>
|
|
115
|
+
</DropdownMenu>
|
|
116
|
+
|
|
117
|
+
<DropdownMenu>
|
|
118
|
+
<DropdownMenuTrigger>
|
|
119
|
+
<Button>Medium Menu</Button>
|
|
120
|
+
</DropdownMenuTrigger>
|
|
121
|
+
<DropdownMenuContent size="md">
|
|
122
|
+
{menuItems.map(function (item, index) { return (<DropdownMenuItem key={index} onSelect={function () { return alert("".concat(item.label, " selected")); }}>
|
|
123
|
+
<LUIcon icon={item.icon} size="md"/> {item.label}
|
|
124
|
+
</DropdownMenuItem>); })}
|
|
125
|
+
</DropdownMenuContent>
|
|
126
|
+
</DropdownMenu>
|
|
127
|
+
|
|
128
|
+
<DropdownMenu>
|
|
129
|
+
<DropdownMenuTrigger>
|
|
130
|
+
<Button>Large Menu</Button>
|
|
131
|
+
</DropdownMenuTrigger>
|
|
132
|
+
<DropdownMenuContent size="lg">
|
|
133
|
+
{menuItems.map(function (item, index) { return (<DropdownMenuItem key={index} onSelect={function () { return alert("".concat(item.label, " selected")); }}>
|
|
134
|
+
<LUIcon icon={item.icon} size="lg"/> {item.label}
|
|
135
|
+
</DropdownMenuItem>); })}
|
|
136
|
+
</DropdownMenuContent>
|
|
137
|
+
</DropdownMenu>
|
|
138
|
+
</div>);
|
|
139
|
+
};
|
|
140
|
+
export var WithIcons = function () {
|
|
141
|
+
var menuItems = [
|
|
142
|
+
{
|
|
143
|
+
label: "Home",
|
|
144
|
+
icon: "chart-simple",
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
label: "Profile",
|
|
148
|
+
icon: "chart-pie",
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
label: "Settings",
|
|
152
|
+
icon: "square-poll-horizontal",
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
label: "Logout",
|
|
156
|
+
icon: "square-poll-vertical",
|
|
157
|
+
},
|
|
158
|
+
];
|
|
159
|
+
return (<DropdownMenu>
|
|
160
|
+
<DropdownMenuTrigger>
|
|
161
|
+
<Button>Menu with Icons</Button>
|
|
162
|
+
</DropdownMenuTrigger>
|
|
163
|
+
<DropdownMenuContent>
|
|
164
|
+
{menuItems.map(function (item, index) { return (<DropdownMenuItem key={index} onSelect={function () { return alert("".concat(item.label, " selected")); }}>
|
|
165
|
+
<LUIcon icon={item.icon} size="sm"/> {item.label}
|
|
166
|
+
</DropdownMenuItem>); })}
|
|
167
|
+
</DropdownMenuContent>
|
|
168
|
+
</DropdownMenu>);
|
|
169
|
+
};
|
|
170
|
+
export var DisabledItems = function () { return (<DropdownMenu>
|
|
171
|
+
<DropdownMenuTrigger>
|
|
172
|
+
<Button>Menu with Disabled Items</Button>
|
|
173
|
+
</DropdownMenuTrigger>
|
|
174
|
+
<DropdownMenuContent>
|
|
175
|
+
<DropdownMenuItem onSelect={function () { return alert("Enabled selected"); }}>
|
|
176
|
+
Enabled
|
|
177
|
+
</DropdownMenuItem>
|
|
178
|
+
<DropdownMenuItem disabled>Disabled</DropdownMenuItem>
|
|
179
|
+
<DropdownMenuSeparator />
|
|
180
|
+
<DropdownMenuItem onSelect={function () { return alert("Another enabled selected"); }}>
|
|
181
|
+
Another Enabled
|
|
182
|
+
</DropdownMenuItem>
|
|
183
|
+
</DropdownMenuContent>
|
|
184
|
+
</DropdownMenu>); };
|
|
185
|
+
export var NestedMenu = function () {
|
|
186
|
+
var menuItems = [
|
|
187
|
+
{ label: "Open conversation details", icon: "eye", items: [] },
|
|
188
|
+
{ label: "View full profile", icon: "user", items: [] },
|
|
189
|
+
{ label: "Start conversation", icon: "address-book", items: [] },
|
|
190
|
+
{
|
|
191
|
+
label: "Copy",
|
|
192
|
+
icon: "copy",
|
|
193
|
+
items: [
|
|
194
|
+
{ label: "Copy name", icon: "copy" },
|
|
195
|
+
{ label: "Copy email", icon: "copy" },
|
|
196
|
+
{ label: "Copy link", icon: "copy" },
|
|
197
|
+
],
|
|
198
|
+
},
|
|
199
|
+
{ label: "Search in conversation", icon: "magnifying-glass" },
|
|
200
|
+
{ label: "Open in new window", icon: "arrow-right-to-bracket" },
|
|
201
|
+
];
|
|
202
|
+
return (<DropdownMenu>
|
|
203
|
+
<DropdownMenuTrigger asChild>
|
|
204
|
+
<IconButton variant="outline" icon="plus"/>
|
|
205
|
+
</DropdownMenuTrigger>
|
|
206
|
+
<DropdownMenuContent className="mt-2">
|
|
207
|
+
{menuItems.map(function (item, index) {
|
|
208
|
+
if (item.items && item.items.length > 0) {
|
|
209
|
+
return (<DropdownMenuSub key={index}>
|
|
210
|
+
<DropdownMenuSubTrigger>
|
|
211
|
+
<LUIcon icon={item.icon}/> {item.label}
|
|
212
|
+
</DropdownMenuSubTrigger>
|
|
213
|
+
<DropdownMenuSubContent>
|
|
214
|
+
{item.items.map(function (subItem, subIndex) { return (<DropdownMenuItem key={subIndex}>
|
|
215
|
+
<LUIcon icon={subItem.icon}/> {subItem.label}
|
|
216
|
+
</DropdownMenuItem>); })}
|
|
217
|
+
</DropdownMenuSubContent>
|
|
218
|
+
</DropdownMenuSub>);
|
|
219
|
+
}
|
|
220
|
+
return (<DropdownMenuItem key={index}>
|
|
221
|
+
<LUIcon icon={item.icon}/> {item.label}
|
|
222
|
+
</DropdownMenuItem>);
|
|
223
|
+
})}
|
|
224
|
+
</DropdownMenuContent>
|
|
225
|
+
</DropdownMenu>);
|
|
226
|
+
};
|
|
227
|
+
export var DropdownMenuWithSelectAll = function () {
|
|
228
|
+
var tags = ["Sport", "Music", "Food", "Travel", "Tech", "Science", "Art"];
|
|
229
|
+
var _a = useState([]), selectedTags = _a[0], setSelectedTags = _a[1];
|
|
230
|
+
var handleTagChange = function (tag, checked) {
|
|
231
|
+
if (checked) {
|
|
232
|
+
setSelectedTags(__spreadArray(__spreadArray([], selectedTags, true), [tag], false));
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
setSelectedTags(selectedTags.filter(function (t) { return t !== tag; }));
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
var handleSelectAll = function () {
|
|
239
|
+
var allSelected = selectedTags.length === tags.length;
|
|
240
|
+
var next = allSelected ? [] : __spreadArray([], tags, true);
|
|
241
|
+
setSelectedTags(next);
|
|
242
|
+
};
|
|
243
|
+
return (<DropdownMenu>
|
|
244
|
+
<DropdownMenuTrigger asChild>
|
|
245
|
+
<Button variant="outline">Select Tags</Button>
|
|
246
|
+
</DropdownMenuTrigger>
|
|
247
|
+
<DropdownMenuContent className="w-50" size="lg">
|
|
248
|
+
<DropdownMenuLabel>Select Tags</DropdownMenuLabel>
|
|
249
|
+
<div className="flex flex-col gap-1 rounded-sm bg-gray-50 text-gray-800 py-3 px-4">
|
|
250
|
+
<div className="flex items-center gap-2">
|
|
251
|
+
<Checkbox id="dm-select-all" checked={selectedTags.length === tags.length} onCheckedChange={function () { return handleSelectAll(); }} onClick={function (e) { return e.stopPropagation(); }} size="md"/>
|
|
252
|
+
<Label htmlFor="dm-select-all">Select All</Label>
|
|
253
|
+
</div>
|
|
254
|
+
<Caption className="text-gray-500">
|
|
255
|
+
Selected ({selectedTags.length})
|
|
256
|
+
</Caption>
|
|
257
|
+
</div>
|
|
258
|
+
<DropdownMenuSeparator />
|
|
259
|
+
{tags.map(function (tag) { return (<DropdownMenuCheckboxItem checked={selectedTags.includes(tag)} key={tag} onCheckedChange={function (checked) { return handleTagChange(tag, checked); }}
|
|
260
|
+
// Prevent the dropdown menu from closing when the checkbox is clicked
|
|
261
|
+
onSelect={function (e) { return e.preventDefault(); }}>
|
|
262
|
+
{tag}
|
|
263
|
+
</DropdownMenuCheckboxItem>); })}
|
|
264
|
+
</DropdownMenuContent>
|
|
265
|
+
</DropdownMenu>);
|
|
266
|
+
};
|
|
267
|
+
export var MultipleSelections = function () {
|
|
268
|
+
var tags = ["Sport", "Music", "Food", "Travel", "Tech", "Science", "Art"];
|
|
269
|
+
var _a = useState([
|
|
270
|
+
tags[0],
|
|
271
|
+
tags[4],
|
|
272
|
+
]), selectedTags = _a[0], setSelectedTags = _a[1];
|
|
273
|
+
var handleTagChange = function (tag, checked) {
|
|
274
|
+
if (checked) {
|
|
275
|
+
setSelectedTags(__spreadArray(__spreadArray([], selectedTags, true), [tag], false));
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
setSelectedTags(selectedTags.filter(function (t) { return t !== tag; }));
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
return (<DropdownMenu>
|
|
282
|
+
<DropdownMenuTrigger asChild>
|
|
283
|
+
<Button variant="outline">Select Tags</Button>
|
|
284
|
+
</DropdownMenuTrigger>
|
|
285
|
+
<DropdownMenuContent className="w-44" size="lg">
|
|
286
|
+
<DropdownMenuLabel>Select Tags</DropdownMenuLabel>
|
|
287
|
+
<DropdownMenuSeparator />
|
|
288
|
+
{tags.map(function (tag) { return (<DropdownMenuCheckboxItem checked={selectedTags.includes(tag)} key={tag} onCheckedChange={function (checked) { return handleTagChange(tag, checked); }}
|
|
289
|
+
// Prevent the dropdown menu from closing when the checkbox is clicked
|
|
290
|
+
onSelect={function (e) { return e.preventDefault(); }}>
|
|
291
|
+
{tag}
|
|
292
|
+
</DropdownMenuCheckboxItem>); })}
|
|
293
|
+
</DropdownMenuContent>
|
|
294
|
+
</DropdownMenu>);
|
|
295
|
+
};
|
|
296
|
+
export var DropdownMenuWithSearch = function () {
|
|
297
|
+
var menuItems = [
|
|
298
|
+
{ label: "Open conversation details", icon: "eye" },
|
|
299
|
+
{ label: "View full profile", icon: "user" },
|
|
300
|
+
{ label: "Start conversation", icon: "address-book" },
|
|
301
|
+
];
|
|
302
|
+
var _a = useState(false), open = _a[0], setOpen = _a[1];
|
|
303
|
+
var _b = useState(""), query = _b[0], setQuery = _b[1];
|
|
304
|
+
var filteredItems = menuItems.filter(function (item) {
|
|
305
|
+
return item.label.toLowerCase().includes(query.toLowerCase());
|
|
306
|
+
});
|
|
307
|
+
return (<DropdownMenu open={open} onOpenChange={setOpen}>
|
|
308
|
+
<DropdownMenuTrigger asChild>
|
|
309
|
+
<Button variant="outline">Select an Option</Button>
|
|
310
|
+
</DropdownMenuTrigger>
|
|
311
|
+
<DropdownMenuContent className="p-0" size="lg">
|
|
312
|
+
<div className="p-2">
|
|
313
|
+
<Input placeholder="Search..." value={query} onChange={function (e) { return setQuery(e.target.value); }} onKeyDownCapture={function (e) { return e.stopPropagation(); }} startIcon="magnifying-glass"/>
|
|
314
|
+
</div>
|
|
315
|
+
{filteredItems.length === 0 ? (<div className="py-6 text-center text-sm text-muted-foreground">
|
|
316
|
+
No results found.
|
|
317
|
+
</div>) : (filteredItems.map(function (option) { return (<DropdownMenuItem key={option.label} onSelect={function () { return setOpen(false); }}>
|
|
318
|
+
<LUIcon icon={option.icon}/> {option.label}
|
|
319
|
+
</DropdownMenuItem>); }))}
|
|
320
|
+
</DropdownMenuContent>
|
|
321
|
+
</DropdownMenu>);
|
|
322
|
+
};
|
|
323
|
+
DropdownMenuWithSearch.parameters = {
|
|
324
|
+
docs: {
|
|
325
|
+
description: {
|
|
326
|
+
story: "DropdownMenuWithSearch provides a dropdown menu that includes a search box. Users can type into the box to filter the menu items. For larger dropdowns, a large search input should be used; for medium dropdowns, a medium input; and for small dropdowns, a small input.",
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
};
|
|
330
|
+
export var DropdownMenuWithSelectAllAndSearch = function () {
|
|
331
|
+
var tags = ["Sport", "Music", "Food", "Travel", "Tech", "Science", "Art"];
|
|
332
|
+
var _a = useState([]), selectedTags = _a[0], setSelectedTags = _a[1];
|
|
333
|
+
var _b = useState(""), query = _b[0], setQuery = _b[1];
|
|
334
|
+
var toggleTag = function (tag) {
|
|
335
|
+
setSelectedTags(function (prev) {
|
|
336
|
+
return prev.includes(tag) ? prev.filter(function (t) { return t !== tag; }) : __spreadArray(__spreadArray([], prev, true), [tag], false);
|
|
337
|
+
});
|
|
338
|
+
};
|
|
339
|
+
var handleSelectAll = function () {
|
|
340
|
+
var allSelected = selectedTags.length === tags.length;
|
|
341
|
+
setSelectedTags(allSelected ? [] : __spreadArray([], tags, true));
|
|
342
|
+
};
|
|
343
|
+
var filtered = tags.filter(function (t) {
|
|
344
|
+
return t.toLowerCase().includes(query.toLowerCase());
|
|
345
|
+
});
|
|
346
|
+
return (<DropdownMenu>
|
|
347
|
+
<DropdownMenuTrigger asChild>
|
|
348
|
+
<Button variant="outline">Select Tags</Button>
|
|
349
|
+
</DropdownMenuTrigger>
|
|
350
|
+
<DropdownMenuContent size="lg">
|
|
351
|
+
<div className="mb-2">
|
|
352
|
+
<Input placeholder="Search..." value={query} onChange={function (e) { return setQuery(e.target.value); }} onKeyDownCapture={function (e) { return e.stopPropagation(); }} size="lg" startIcon="magnifying-glass"/>
|
|
353
|
+
</div>
|
|
354
|
+
|
|
355
|
+
<SelectAllSection checked={selectedTags.length === tags.length && tags.length > 0} onToggleAll={handleSelectAll} selectedCount={selectedTags.length} size="lg"/>
|
|
356
|
+
<DropdownMenuSeparator />
|
|
357
|
+
{filtered.length === 0 ? (<div className="py-6 text-center text-sm text-muted-foreground">
|
|
358
|
+
No results found.
|
|
359
|
+
</div>) : (filtered.map(function (tag) {
|
|
360
|
+
var isSelected = selectedTags.includes(tag);
|
|
361
|
+
return (<DropdownMenuCheckboxItem key={tag} checked={isSelected}
|
|
362
|
+
// Prevent DropdownMenu from closing in multi-select scenario
|
|
363
|
+
onSelect={function (e) { return e.preventDefault(); }} onCheckedChange={function () { return toggleTag(tag); }} className={isSelected ? "bg-blue-50 text-blue-600" : ""}>
|
|
364
|
+
{tag}
|
|
365
|
+
</DropdownMenuCheckboxItem>);
|
|
366
|
+
}))}
|
|
367
|
+
</DropdownMenuContent>
|
|
368
|
+
</DropdownMenu>);
|
|
369
|
+
};
|
|
370
|
+
export var WorkSpaceSwitcher = function () {
|
|
371
|
+
var workspaces = [
|
|
372
|
+
{
|
|
373
|
+
id: 1,
|
|
374
|
+
name: "Workspace 1",
|
|
375
|
+
createdBy: "abc@example.com",
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
id: 2,
|
|
379
|
+
name: "Workspace 2",
|
|
380
|
+
createdBy: "def@example.com",
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
id: 3,
|
|
384
|
+
name: "Workspace 3",
|
|
385
|
+
createdBy: "ghi@example.com",
|
|
386
|
+
},
|
|
387
|
+
];
|
|
388
|
+
var _a = useState(workspaces[0]), selectedWorkspace = _a[0], setSelectedWorkspace = _a[1];
|
|
389
|
+
return (<DropdownMenu>
|
|
390
|
+
<DropdownMenuTrigger className="flex items-center gap-2 bg-accent py-2.5 px-3 rounded-lg">
|
|
391
|
+
<Avatar>
|
|
392
|
+
<AvatarImage alt="Avatar" src="/images/avatar.png"/>
|
|
393
|
+
<AvatarFallback>AB</AvatarFallback>
|
|
394
|
+
</Avatar>
|
|
395
|
+
<div className="text-start flex flex-col gap-1 leading-none">
|
|
396
|
+
<span className="text-sm leading-none font-semibold truncate max-w-[17ch]">
|
|
397
|
+
{selectedWorkspace.name}
|
|
398
|
+
</span>
|
|
399
|
+
<span className="text-xs text-muted-foreground truncate max-w-[20ch]">
|
|
400
|
+
{selectedWorkspace.createdBy}
|
|
401
|
+
</span>
|
|
402
|
+
</div>
|
|
403
|
+
<LUIcon icon="angle-down"/>
|
|
404
|
+
</DropdownMenuTrigger>
|
|
405
|
+
<DropdownMenuContent>
|
|
406
|
+
<DropdownMenuLabel>Workspaces</DropdownMenuLabel>
|
|
407
|
+
{workspaces.map(function (workspace) { return (<DropdownMenuItem key={workspace.id} onClick={function () { return setSelectedWorkspace(workspace); }}>
|
|
408
|
+
<div className="flex items-center gap-2">
|
|
409
|
+
<Avatar>
|
|
410
|
+
<AvatarImage alt="Avatar" src="/images/avatar.png"/>
|
|
411
|
+
<AvatarFallback>AB</AvatarFallback>
|
|
412
|
+
</Avatar>
|
|
413
|
+
<div className="flex flex-col">
|
|
414
|
+
<span>{workspace.name}</span>
|
|
415
|
+
<span className="text-xs text-muted-foreground">
|
|
416
|
+
{workspace.createdBy}
|
|
417
|
+
</span>
|
|
418
|
+
</div>
|
|
419
|
+
</div>
|
|
420
|
+
{selectedWorkspace.id === workspace.id && (<LUIcon icon="check" className="ml-auto"/>)}
|
|
421
|
+
</DropdownMenuItem>); })}
|
|
422
|
+
</DropdownMenuContent>
|
|
423
|
+
</DropdownMenu>);
|
|
424
|
+
};
|
|
425
|
+
export var LanguageDropdownMenu = function () {
|
|
426
|
+
var languages = ["English", "Spanish", "French", "German", "Chinese"];
|
|
427
|
+
var _a = useState(languages[0]), selectedLanguage = _a[0], setSelectedLanguage = _a[1];
|
|
428
|
+
var _b = useState(false), isOpen = _b[0], setIsOpen = _b[1];
|
|
429
|
+
return (<DropdownMenu open={isOpen} onOpenChange={setIsOpen}>
|
|
430
|
+
<DropdownMenuTrigger asChild>
|
|
431
|
+
<Button shape="rounded-full" startIcon="language" endIcon={isOpen ? "angle-up" : "angle-down"}>
|
|
432
|
+
{selectedLanguage}
|
|
433
|
+
</Button>
|
|
434
|
+
</DropdownMenuTrigger>
|
|
435
|
+
<DropdownMenuContent className="w-50">
|
|
436
|
+
{languages.map(function (language) { return (<DropdownMenuItem key={language} onSelect={function () { return setSelectedLanguage(language); }}>
|
|
437
|
+
{language}
|
|
438
|
+
</DropdownMenuItem>); })}
|
|
439
|
+
</DropdownMenuContent>
|
|
440
|
+
</DropdownMenu>);
|
|
441
|
+
};
|
|
442
|
+
export var Alignments = function () {
|
|
443
|
+
return (<div className="flex flex-row space-x-4">
|
|
444
|
+
<DropdownMenu>
|
|
445
|
+
<DropdownMenuTrigger>
|
|
446
|
+
<Button>Align Start</Button>
|
|
447
|
+
</DropdownMenuTrigger>
|
|
448
|
+
<DropdownMenuContent align="start">
|
|
449
|
+
<DropdownMenuItem>Option 1</DropdownMenuItem>
|
|
450
|
+
<DropdownMenuItem>Option 2</DropdownMenuItem>
|
|
451
|
+
<DropdownMenuItem>Option 3</DropdownMenuItem>
|
|
452
|
+
</DropdownMenuContent>
|
|
453
|
+
</DropdownMenu>
|
|
454
|
+
|
|
455
|
+
<DropdownMenu>
|
|
456
|
+
<DropdownMenuTrigger>
|
|
457
|
+
<Button>Align Center</Button>
|
|
458
|
+
</DropdownMenuTrigger>
|
|
459
|
+
<DropdownMenuContent align="center">
|
|
460
|
+
<DropdownMenuItem>Option 1</DropdownMenuItem>
|
|
461
|
+
<DropdownMenuItem>Option 2</DropdownMenuItem>
|
|
462
|
+
<DropdownMenuItem>Option 3</DropdownMenuItem>
|
|
463
|
+
</DropdownMenuContent>
|
|
464
|
+
</DropdownMenu>
|
|
465
|
+
|
|
466
|
+
<DropdownMenu>
|
|
467
|
+
<DropdownMenuTrigger>
|
|
468
|
+
<Button>Align End</Button>
|
|
469
|
+
</DropdownMenuTrigger>
|
|
470
|
+
<DropdownMenuContent align="end">
|
|
471
|
+
<DropdownMenuItem>Option 1</DropdownMenuItem>
|
|
472
|
+
<DropdownMenuItem>Option 2</DropdownMenuItem>
|
|
473
|
+
<DropdownMenuItem>Option 3</DropdownMenuItem>
|
|
474
|
+
</DropdownMenuContent>
|
|
475
|
+
</DropdownMenu>
|
|
476
|
+
</div>);
|
|
477
|
+
};
|
|
478
|
+
export var MasterDropdownMenu = function () {
|
|
479
|
+
var menuItems = [
|
|
480
|
+
{ type: "item", label: "Text Label 1" },
|
|
481
|
+
{ type: "item", label: "Text Label 2" },
|
|
482
|
+
{ type: "submenu", label: "Text Label 3", subItems: ["Submenu Item 1", "Submenu Item 2", "Submenu Item 3"] },
|
|
483
|
+
{ type: "submenu", label: "Text Label 4", subItems: ["Submenu Item 1", "Submenu Item 2", "Submenu Item 3"] },
|
|
484
|
+
{ type: "item", label: "Text Label 5" },
|
|
485
|
+
{ type: "badge", label: "Text Label 6", badge: "09" },
|
|
486
|
+
{ type: "avatar", label: "Text Label 7" },
|
|
487
|
+
{ type: "item", label: "Text Label 8" },
|
|
488
|
+
// Second column starts after 8 items
|
|
489
|
+
{ type: "item", label: "Text Label 9" },
|
|
490
|
+
{ type: "submenu", label: "Text Label 10", subItems: ["Submenu Item 1", "Submenu Item 2", "Submenu Item 3"] },
|
|
491
|
+
{ type: "item", label: "Text Label 11" },
|
|
492
|
+
{ type: "badge", label: "Text Label 12", badge: "09" },
|
|
493
|
+
{ type: "avatar", label: "Text Label 13" },
|
|
494
|
+
];
|
|
495
|
+
var renderMenuItem = function (item, index) {
|
|
496
|
+
var _a;
|
|
497
|
+
switch (item.type) {
|
|
498
|
+
case "submenu":
|
|
499
|
+
return (<DropdownMenuSub key={index}>
|
|
500
|
+
<DropdownMenuSubTrigger>{item.label}</DropdownMenuSubTrigger>
|
|
501
|
+
<DropdownMenuSubContent>
|
|
502
|
+
{(_a = item.subItems) === null || _a === void 0 ? void 0 : _a.map(function (subItem, subIndex) { return (<DropdownMenuItem key={subIndex}>{subItem}</DropdownMenuItem>); })}
|
|
503
|
+
</DropdownMenuSubContent>
|
|
504
|
+
</DropdownMenuSub>);
|
|
505
|
+
case "badge":
|
|
506
|
+
return (<DropdownMenuItem key={index} onSelect={function () { return alert("".concat(item.label, " selected")); }}>
|
|
507
|
+
<div className="flex items-center justify-between w-full">
|
|
508
|
+
{item.label}
|
|
509
|
+
<Badge color="light-blue">{item.badge}</Badge>
|
|
510
|
+
</div>
|
|
511
|
+
</DropdownMenuItem>);
|
|
512
|
+
case "avatar":
|
|
513
|
+
return (<DropdownMenuItem key={index} onSelect={function () { return alert("".concat(item.label, " selected")); }}>
|
|
514
|
+
<div className="flex items-center gap-2">
|
|
515
|
+
<Avatar>
|
|
516
|
+
<AvatarImage alt="Avatar" src="/images/avatar.png"/>
|
|
517
|
+
<AvatarFallback>AB</AvatarFallback>
|
|
518
|
+
</Avatar>
|
|
519
|
+
{item.label}
|
|
520
|
+
</div>
|
|
521
|
+
</DropdownMenuItem>);
|
|
522
|
+
default:
|
|
523
|
+
return (<DropdownMenuItem key={index} onSelect={function () { return alert("".concat(item.label, " selected")); }}>
|
|
524
|
+
{item.label}
|
|
525
|
+
</DropdownMenuItem>);
|
|
526
|
+
}
|
|
527
|
+
};
|
|
528
|
+
return (<DropdownMenu>
|
|
529
|
+
<DropdownMenuTrigger asChild>
|
|
530
|
+
<Button shape="rounded-full">Text Label</Button>
|
|
531
|
+
</DropdownMenuTrigger>
|
|
532
|
+
<DropdownMenuContent className="w-auto" size="lg">
|
|
533
|
+
<div className={"grid gap-0 ".concat(menuItems.length > 8 ? 'grid-cols-1 md:grid-cols-2' : 'grid-cols-1')}>
|
|
534
|
+
{/* First Column */}
|
|
535
|
+
<div className="flex flex-col">
|
|
536
|
+
<DropdownMenuLabel className="mb-1">
|
|
537
|
+
Group Heading
|
|
538
|
+
</DropdownMenuLabel>
|
|
539
|
+
{menuItems.slice(0, 8).map(function (item, index) { return renderMenuItem(item, index); })}
|
|
540
|
+
</div>
|
|
541
|
+
|
|
542
|
+
{/* Second Column - Automatically renders if there are more than 8 items */}
|
|
543
|
+
{menuItems.length > 8 && (<div className="flex flex-col md:pl-2">
|
|
544
|
+
<DropdownMenuLabel className="mb-1">
|
|
545
|
+
Group Heading
|
|
546
|
+
</DropdownMenuLabel>
|
|
547
|
+
{menuItems.slice(8).map(function (item, index) { return renderMenuItem(item, index + 8); })}
|
|
548
|
+
</div>)}
|
|
549
|
+
</div>
|
|
550
|
+
</DropdownMenuContent>
|
|
551
|
+
</DropdownMenu>);
|
|
552
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Checkbox } from "../../../components/Checkbox/checkbox";
|
|
3
|
+
import { Label } from "../../../components/Label/Label";
|
|
4
|
+
import { Caption } from "../../../components/Typography/Caption/caption";
|
|
5
|
+
export var SelectAllSection = function (_a) {
|
|
6
|
+
var _b = _a.id, id = _b === void 0 ? "dm-select-all" : _b, checked = _a.checked, onToggleAll = _a.onToggleAll, selectedCount = _a.selectedCount, _c = _a.size, size = _c === void 0 ? "md" : _c;
|
|
7
|
+
var labelVariant = size === "lg" ? "label-lg" : size === "md" ? "label-md" : "label-sm";
|
|
8
|
+
return (<div className="flex flex-col gap-1 rounded-sm bg-gray-50 text-gray-800 py-3 px-4">
|
|
9
|
+
<div className="flex items-center gap-2">
|
|
10
|
+
<Checkbox id={id} checked={checked} onCheckedChange={onToggleAll} onClick={function (e) { return e.stopPropagation(); }} size={size}/>
|
|
11
|
+
<Label htmlFor={id} variant={labelVariant}>
|
|
12
|
+
Select All
|
|
13
|
+
</Label>
|
|
14
|
+
</div>
|
|
15
|
+
<Caption className="text-gray-500" variant="sm">
|
|
16
|
+
Selected ({selectedCount})
|
|
17
|
+
</Caption>
|
|
18
|
+
</div>);
|
|
19
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Select } from "./select";
|
|
2
2
|
import { SelectColor, SelectShape, SelectSize, SelectType } from ".";
|
|
3
|
+
import React from "react";
|
|
3
4
|
declare const meta: {
|
|
4
5
|
title: string;
|
|
5
6
|
component: typeof Select;
|
|
@@ -136,10 +137,10 @@ export declare const Default: (args: {
|
|
|
136
137
|
color?: SelectColor;
|
|
137
138
|
disabled?: boolean;
|
|
138
139
|
onValueChange?: (value: string) => void;
|
|
139
|
-
}) =>
|
|
140
|
-
export declare const Group: () =>
|
|
140
|
+
}) => React.JSX.Element;
|
|
141
|
+
export declare const Group: () => React.JSX.Element;
|
|
141
142
|
export declare const KeyValue: {
|
|
142
|
-
():
|
|
143
|
+
(): React.JSX.Element;
|
|
143
144
|
story: {
|
|
144
145
|
parameters: {
|
|
145
146
|
docs: {
|
|
@@ -157,6 +158,6 @@ export declare const Disabled: (args: {
|
|
|
157
158
|
placeholder?: string;
|
|
158
159
|
disabled?: boolean;
|
|
159
160
|
onValueChange?: (value: string) => void;
|
|
160
|
-
}) =>
|
|
161
|
-
export declare const LargeDropdown: () =>
|
|
162
|
-
export declare const WithDisabledItem: () =>
|
|
161
|
+
}) => React.JSX.Element;
|
|
162
|
+
export declare const LargeDropdown: () => React.JSX.Element;
|
|
163
|
+
export declare const WithDisabledItem: () => React.JSX.Element;
|