linkedunion-design-kit 1.9.6-beta.0 → 1.9.6-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/build/types/validator.js +12 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.js +2 -0
  4. package/dist/src/components/Badge/Badge.stories.d.ts +1 -1
  5. package/dist/src/components/Badge/Badge.stories.js +1 -1
  6. package/dist/src/components/Button/Button/Button.module.css +1 -1
  7. package/dist/src/components/Card/MultipleNews/MultiNews.js +2 -2
  8. package/dist/src/components/Pagination/pagination.js +7 -7
  9. package/dist/src/components/Skeleton/skeleton.stories.d.ts +3 -1
  10. package/dist/src/components/Skeleton/skeleton.stories.js +48 -38
  11. package/dist/src/components/Title/Title.module.css +1 -1
  12. package/dist/src/components/Typography/Heading/heading.module.css +1 -1
  13. package/dist/src/components/VerticalTabs/VerticalTabs.d.ts +18 -0
  14. package/dist/src/components/VerticalTabs/VerticalTabs.js +60 -0
  15. package/dist/src/components/VerticalTabs/VerticalTabs.stories.d.ts +11 -0
  16. package/dist/src/components/VerticalTabs/VerticalTabs.stories.js +100 -0
  17. package/dist/src/components/VerticalTabs/VerticalTabs.test.d.ts +1 -0
  18. package/dist/src/components/VerticalTabs/VerticalTabs.test.js +48 -0
  19. package/dist/styles/global.css +118 -6
  20. package/package.json +2 -2
  21. package/dist/app/layout.jsx +0 -13
  22. package/dist/app/page.jsx +0 -5
  23. package/dist/src/components/Accordion/Accordion.stories.jsx +0 -33
  24. package/dist/src/components/Accordion/accordion.jsx +0 -59
  25. package/dist/src/components/Alerts/Alert/alert.jsx +0 -152
  26. package/dist/src/components/Alerts/Alert/alert.stories.jsx +0 -344
  27. package/dist/src/components/Alerts/AlertDialog/alert-dialog.jsx +0 -170
  28. package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.jsx +0 -552
  29. package/dist/src/components/AppIcons/AndroidIcon.jsx +0 -24
  30. package/dist/src/components/AppIcons/AppIcon.jsx +0 -29
  31. package/dist/src/components/AppIcons/AppIcon.stories.jsx +0 -223
  32. package/dist/src/components/AppIcons/AppleIcon.jsx +0 -31
  33. package/dist/src/components/AppIcons/PlayStoreIcon.jsx +0 -29
  34. package/dist/src/components/Avatar/Avatar/Avatar.jsx +0 -45
  35. package/dist/src/components/Avatar/Avatar/Avatar.stories.jsx +0 -95
  36. package/dist/src/components/Avatar/Avatar/Avatar.test.jsx +0 -9
  37. package/dist/src/components/Avatar/Avatar/type.d.ts +0 -12
  38. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.jsx +0 -17
  39. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.jsx +0 -32
  40. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.jsx +0 -20
  41. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.stories.jsx +0 -50
  42. package/dist/src/components/Badge/Badge.jsx +0 -54
  43. package/dist/src/components/Badge/Badge.stories.jsx +0 -201
  44. package/dist/src/components/Button/Button/Button.jsx +0 -96
  45. package/dist/src/components/Button/Button/Button.stories.jsx +0 -283
  46. package/dist/src/components/Button/Button/Button.test.jsx +0 -73
  47. package/dist/src/components/Button/IconButton/IconButton.jsx +0 -63
  48. package/dist/src/components/Button/IconButton/IconButton.stories.jsx +0 -128
  49. package/dist/src/components/Button/IconButton/IconButton.test.jsx +0 -28
  50. package/dist/src/components/Card/MultipleNews/MultiNews.jsx +0 -70
  51. package/dist/src/components/Card/MultipleNews/MultiNews.stories.jsx +0 -101
  52. package/dist/src/components/Card/PostByCategory/PostByCategory.jsx +0 -60
  53. package/dist/src/components/Card/PostByCategory/PostByCategory.stories.jsx +0 -102
  54. package/dist/src/components/Card/SinglePost/SinglePost.jsx +0 -26
  55. package/dist/src/components/Card/SinglePost/SinglePost.stories.jsx +0 -63
  56. package/dist/src/components/Card/card.jsx +0 -20
  57. package/dist/src/components/Card/contactProfile/ContactProfile.jsx +0 -60
  58. package/dist/src/components/Card/contactProfile/ContactProfile.stories.jsx +0 -99
  59. package/dist/src/components/Card/photoAlbum/PhotoAlbum.jsx +0 -41
  60. package/dist/src/components/Card/photoAlbum/PhotoAlbum.stories.jsx +0 -51
  61. package/dist/src/components/Card/photoGallery/PhotoGallery.jsx +0 -17
  62. package/dist/src/components/Card/photoGallery/PhotoGallery.stories.jsx +0 -34
  63. package/dist/src/components/Checkbox/checkbox.jsx +0 -47
  64. package/dist/src/components/Checkbox/checkbox.stories.jsx +0 -113
  65. package/dist/src/components/ColorPicker/ColorPicker.jsx +0 -67
  66. package/dist/src/components/ColorPicker/ColorPicker.stories.jsx +0 -138
  67. package/dist/src/components/Colors/color.jsx +0 -5
  68. package/dist/src/components/Colors/color.stories.jsx +0 -20
  69. package/dist/src/components/Colors/color.test.jsx +0 -23
  70. package/dist/src/components/Dropdown/Combobox/Combobox.jsx +0 -198
  71. package/dist/src/components/Dropdown/Combobox/Combobox.stories.jsx +0 -289
  72. package/dist/src/components/Dropdown/Combobox/utils/renderBadge.jsx +0 -7
  73. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.jsx +0 -102
  74. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.jsx +0 -464
  75. package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.jsx +0 -19
  76. package/dist/src/components/Dropdown/Select.stories.jsx +0 -201
  77. package/dist/src/components/Dropdown/select.jsx +0 -93
  78. package/dist/src/components/Icons/LUIcon.jsx +0 -41
  79. package/dist/src/components/Icons/LUIcon.test.jsx +0 -308
  80. package/dist/src/components/Icons/stories/IconDropdown.jsx +0 -67
  81. package/dist/src/components/Icons/stories/IconGallery.jsx +0 -77
  82. package/dist/src/components/Icons/stories/InteractiveIconSelector.jsx +0 -86
  83. package/dist/src/components/Icons/stories/LUIcon.stories.jsx +0 -108
  84. package/dist/src/components/ImageUploader/ImageUploader.stories.jsx +0 -50
  85. package/dist/src/components/ImageUploader/imageUploader.jsx +0 -94
  86. package/dist/src/components/Images/LuImage.jsx +0 -19
  87. package/dist/src/components/Images/LuImage.stories.jsx +0 -154
  88. package/dist/src/components/Images/LuImage.test.jsx +0 -44
  89. package/dist/src/components/Input/Input.stories.jsx +0 -250
  90. package/dist/src/components/Input/input.jsx +0 -110
  91. package/dist/src/components/Label/Label.jsx +0 -32
  92. package/dist/src/components/Label/Label.stories.jsx +0 -30
  93. package/dist/src/components/Pagination/pagination.jsx +0 -65
  94. package/dist/src/components/Pagination/pagination.stories.jsx +0 -301
  95. package/dist/src/components/RadioGroup/RadioGroup.stories.jsx +0 -146
  96. package/dist/src/components/RadioGroup/radio-group.jsx +0 -49
  97. package/dist/src/components/Slider/Slider.stories.jsx +0 -159
  98. package/dist/src/components/Slider/slider.jsx +0 -31
  99. package/dist/src/components/SweetAlert/SweetAlert.jsx +0 -147
  100. package/dist/src/components/SweetAlert/SweetAlert.stories.jsx +0 -505
  101. package/dist/src/components/Switch/Switch.stories.jsx +0 -66
  102. package/dist/src/components/Switch/switch.jsx +0 -61
  103. package/dist/src/components/Table/Table.jsx +0 -221
  104. package/dist/src/components/Table/Table.stories.jsx +0 -652
  105. package/dist/src/components/Tabs/Tabs.stories.jsx +0 -29
  106. package/dist/src/components/Tabs/tabs.jsx +0 -32
  107. package/dist/src/components/Title/Title.jsx +0 -8
  108. package/dist/src/components/Title/Title.stories.jsx +0 -37
  109. package/dist/src/components/Title/Title.test.jsx +0 -24
  110. package/dist/src/components/ToolTip/Tooltip.jsx +0 -18
  111. package/dist/src/components/ToolTip/Tooltip.stories.jsx +0 -25
  112. package/dist/src/components/Typography/Body/Body.stories.jsx +0 -34
  113. package/dist/src/components/Typography/Body/body.jsx +0 -52
  114. package/dist/src/components/Typography/Caption/Caption.stories.jsx +0 -24
  115. package/dist/src/components/Typography/Caption/caption.jsx +0 -25
  116. package/dist/src/components/Typography/Display/Display.stories.jsx +0 -24
  117. package/dist/src/components/Typography/Display/display.jsx +0 -39
  118. package/dist/src/components/Typography/Heading/Heading.stories.jsx +0 -37
  119. package/dist/src/components/Typography/Heading/heading.jsx +0 -53
  120. package/dist/src/components/ui/avatar.d.ts +0 -6
  121. package/dist/src/components/ui/avatar.js +0 -38
  122. package/dist/src/components/ui/avatar.jsx +0 -27
  123. package/dist/src/components/ui/button.d.ts +0 -10
  124. package/dist/src/components/ui/button.js +0 -56
  125. package/dist/src/components/ui/button.jsx +0 -45
  126. package/dist/src/components/ui/collapsible.jsx +0 -5
  127. package/dist/src/components/ui/command.jsx +0 -67
  128. package/dist/src/components/ui/dialog.jsx +0 -66
  129. package/dist/src/components/ui/popover.jsx +0 -33
  130. package/dist/src/components/ui/tooltip.jsx +0 -38
  131. package/dist/src/components/ui/typography.jsx +0 -56
  132. /package/dist/{src/components/Avatar/Avatar/type.js → build/types/validator.d.ts} +0 -0
@@ -0,0 +1,48 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { render, screen } from "@testing-library/react";
3
+ import { Tabs, TabsList, TabsTrigger, TabsContent, TabsHeading, tabSizes, } from "./VerticalTabs";
4
+ var Dummy_label = "Account";
5
+ describe("VerticalTabs Component", function () {
6
+ it("renders Tabs with TabsHeading", function () {
7
+ render(_jsxs(Tabs, { defaultValue: "account", children: [_jsx(TabsHeading, { children: "Test Heading" }), _jsx(TabsList, { children: _jsx(TabsTrigger, { value: "account", children: Dummy_label }) }), _jsx(TabsContent, { value: "account", children: "Account Settings" })] }));
8
+ expect(screen.getByText("Test Heading")).toBeInTheDocument();
9
+ });
10
+ it("renders TabsHeading with children", function () {
11
+ render(_jsx(TabsHeading, { children: "Custom Heading" }));
12
+ expect(screen.getByText("Custom Heading")).toBeInTheDocument();
13
+ });
14
+ it("renders Tabs with different sizes", function () {
15
+ Object.keys(tabSizes).forEach(function (size) {
16
+ render(_jsxs(Tabs, { defaultValue: "account", size: size, children: [_jsxs(TabsHeading, { children: [size, " Tabs"] }), _jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "account", children: "Account" }), _jsx(TabsTrigger, { value: "password", children: "Password" })] }), _jsx(TabsContent, { value: "account", children: "Account Settings" }), _jsx(TabsContent, { value: "password", children: "Change Password" })] }));
17
+ expect(screen.getByText("".concat(size, " Tabs"))).toBeInTheDocument();
18
+ });
19
+ });
20
+ it("renders TabsList and TabsTrigger", function () {
21
+ render(_jsxs(Tabs, { defaultValue: "account", children: [_jsx(TabsList, { children: _jsx(TabsTrigger, { value: "account", children: Dummy_label }) }), _jsx(TabsContent, { value: "account", children: "Account Settings" })] }));
22
+ expect(screen.getByText(Dummy_label)).toBeInTheDocument();
23
+ });
24
+ it("renders TabsContent when trigger is active", function () {
25
+ render(_jsxs(Tabs, { defaultValue: "account", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "account", children: Dummy_label }), _jsx(TabsTrigger, { value: "password", children: "Password" })] }), _jsx(TabsContent, { value: "account", children: "Account Settings" }), _jsx(TabsContent, { value: "password", children: "Change Password" })] }));
26
+ expect(screen.getByText("Account Settings")).toBeInTheDocument();
27
+ expect(screen.queryByText("Change Password")).not.toBeInTheDocument();
28
+ });
29
+ it("renders without heading prop", function () {
30
+ render(_jsxs(Tabs, { defaultValue: "account", children: [_jsx(TabsList, { children: _jsx(TabsTrigger, { value: "account", children: Dummy_label }) }), _jsx(TabsContent, { value: "account", children: "Account Settings" })] }));
31
+ expect(screen.queryByText("Test Heading")).not.toBeInTheDocument();
32
+ });
33
+ it("renders only active tab content", function () {
34
+ render(_jsxs(Tabs, { defaultValue: "account", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "account", children: "Account" }), _jsx(TabsTrigger, { value: "password", children: "Password" })] }), _jsx(TabsContent, { value: "account", children: "Account Settings" }), _jsx(TabsContent, { value: "password", children: "Change Password" })] }));
35
+ expect(screen.getByText("Account Settings")).toBeInTheDocument();
36
+ expect(screen.queryByText("Change Password")).not.toBeInTheDocument();
37
+ });
38
+ it("applies additional className to TabsTrigger", function () {
39
+ render(_jsxs(Tabs, { defaultValue: "account", children: [_jsx(TabsList, { children: _jsx(TabsTrigger, { value: "account", className: "custom-class", children: Dummy_label }) }), _jsx(TabsContent, { value: "account", children: "Account Settings" })] }));
40
+ var trigger = screen.getByText(Dummy_label);
41
+ expect(trigger).toHaveClass("custom-class");
42
+ });
43
+ it("renders correctly without a className prop", function () {
44
+ render(_jsxs(Tabs, { defaultValue: "account", children: [_jsx(TabsList, { children: _jsx(TabsTrigger, { value: "account", children: Dummy_label }) }), _jsx(TabsContent, { value: "account", children: "Account Settings" })] }));
45
+ var trigger = screen.getByText(Dummy_label);
46
+ expect(trigger.className).not.toMatch(/custom-class/);
47
+ });
48
+ });
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */
2
2
  @layer properties;
3
3
  @layer theme, base, components, utilities;
4
4
  @layer theme {
@@ -51,6 +51,8 @@
51
51
  --radius-2xl: 1rem;
52
52
  --radius-3xl: 1.5rem;
53
53
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
54
+ --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
55
+ --aspect-video: 16 / 9;
54
56
  --default-transition-duration: 150ms;
55
57
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
56
58
  --default-font-family: var(--font-sans);
@@ -189,6 +191,9 @@
189
191
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
190
192
  padding-block: 0;
191
193
  }
194
+ ::-webkit-calendar-picker-indicator {
195
+ line-height: 1;
196
+ }
192
197
  :-moz-ui-invalid {
193
198
  box-shadow: none;
194
199
  }
@@ -219,7 +224,7 @@
219
224
  padding: 0;
220
225
  margin: -1px;
221
226
  overflow: hidden;
222
- clip: rect(0, 0, 0, 0);
227
+ clip-path: inset(50%);
223
228
  white-space: nowrap;
224
229
  border-width: 0;
225
230
  }
@@ -394,6 +399,9 @@
394
399
  .mt-6 {
395
400
  margin-top: calc(var(--spacing) * 6);
396
401
  }
402
+ .mr-1 {
403
+ margin-right: calc(var(--spacing) * 1);
404
+ }
397
405
  .mr-2 {
398
406
  margin-right: calc(var(--spacing) * 2);
399
407
  }
@@ -451,6 +459,9 @@
451
459
  .inline {
452
460
  display: inline;
453
461
  }
462
+ .inline-block {
463
+ display: inline-block;
464
+ }
454
465
  .inline-flex {
455
466
  display: inline-flex;
456
467
  }
@@ -505,9 +516,15 @@
505
516
  .aspect-16\/10 {
506
517
  aspect-ratio: 16/10;
507
518
  }
519
+ .aspect-\[3\/4\] {
520
+ aspect-ratio: 3/4;
521
+ }
508
522
  .aspect-square {
509
523
  aspect-ratio: 1 / 1;
510
524
  }
525
+ .aspect-video {
526
+ aspect-ratio: var(--aspect-video);
527
+ }
511
528
  .\!size-3 {
512
529
  width: calc(var(--spacing) * 3) !important;
513
530
  height: calc(var(--spacing) * 3) !important;
@@ -597,12 +614,18 @@
597
614
  .h-1\.5 {
598
615
  height: calc(var(--spacing) * 1.5);
599
616
  }
617
+ .h-1\/3 {
618
+ height: calc(1/3 * 100%);
619
+ }
600
620
  .h-2 {
601
621
  height: calc(var(--spacing) * 2);
602
622
  }
603
623
  .h-2\.5 {
604
624
  height: calc(var(--spacing) * 2.5);
605
625
  }
626
+ .h-3 {
627
+ height: calc(var(--spacing) * 3);
628
+ }
606
629
  .h-3\.5 {
607
630
  height: calc(var(--spacing) * 3.5);
608
631
  }
@@ -618,6 +641,9 @@
618
641
  .h-6 {
619
642
  height: calc(var(--spacing) * 6);
620
643
  }
644
+ .h-7 {
645
+ height: calc(var(--spacing) * 7);
646
+ }
621
647
  .h-8 {
622
648
  height: calc(var(--spacing) * 8);
623
649
  }
@@ -651,6 +677,15 @@
651
677
  .h-40 {
652
678
  height: calc(var(--spacing) * 40);
653
679
  }
680
+ .h-48 {
681
+ height: calc(var(--spacing) * 48);
682
+ }
683
+ .h-64 {
684
+ height: calc(var(--spacing) * 64);
685
+ }
686
+ .h-\[1\.125rem\] {
687
+ height: 1.125rem;
688
+ }
654
689
  .h-\[var\(--radix-select-trigger-height\)\] {
655
690
  height: var(--radix-select-trigger-height);
656
691
  }
@@ -723,6 +758,9 @@
723
758
  .w-3\.5 {
724
759
  width: calc(var(--spacing) * 3.5);
725
760
  }
761
+ .w-3\/4 {
762
+ width: calc(3/4 * 100%);
763
+ }
726
764
  .w-4 {
727
765
  width: calc(var(--spacing) * 4);
728
766
  }
@@ -759,6 +797,12 @@
759
797
  .w-20 {
760
798
  width: calc(var(--spacing) * 20);
761
799
  }
800
+ .w-24 {
801
+ width: calc(var(--spacing) * 24);
802
+ }
803
+ .w-28 {
804
+ width: calc(var(--spacing) * 28);
805
+ }
762
806
  .w-32 {
763
807
  width: calc(var(--spacing) * 32);
764
808
  }
@@ -780,6 +824,12 @@
780
824
  .w-64 {
781
825
  width: calc(var(--spacing) * 64);
782
826
  }
827
+ .w-80 {
828
+ width: calc(var(--spacing) * 80);
829
+ }
830
+ .w-96 {
831
+ width: calc(var(--spacing) * 96);
832
+ }
783
833
  .w-\[52px\] {
784
834
  width: 52px;
785
835
  }
@@ -795,9 +845,6 @@
795
845
  .max-w-40 {
796
846
  max-width: calc(var(--spacing) * 40);
797
847
  }
798
- .max-w-48 {
799
- max-width: calc(var(--spacing) * 48);
800
- }
801
848
  .max-w-\[17ch\] {
802
849
  max-width: 17ch;
803
850
  }
@@ -900,6 +947,9 @@
900
947
  .animate-in {
901
948
  animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
902
949
  }
950
+ .animate-pulse {
951
+ animation: var(--animate-pulse);
952
+ }
903
953
  .cursor-default {
904
954
  cursor: default;
905
955
  }
@@ -966,6 +1016,9 @@
966
1016
  .justify-center {
967
1017
  justify-content: center;
968
1018
  }
1019
+ .justify-start {
1020
+ justify-content: flex-start;
1021
+ }
969
1022
  .\!gap-1 {
970
1023
  gap: calc(var(--spacing) * 1) !important;
971
1024
  }
@@ -1030,6 +1083,13 @@
1030
1083
  margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
1031
1084
  }
1032
1085
  }
1086
+ .space-y-8 {
1087
+ :where(& > :not(:last-child)) {
1088
+ --tw-space-y-reverse: 0;
1089
+ margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
1090
+ margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
1091
+ }
1092
+ }
1033
1093
  .-space-x-2 {
1034
1094
  :where(& > :not(:last-child)) {
1035
1095
  --tw-space-x-reverse: 0;
@@ -1132,6 +1192,10 @@
1132
1192
  .rounded-xs {
1133
1193
  border-radius: var(--radius-xs);
1134
1194
  }
1195
+ .rounded-t-md {
1196
+ border-top-left-radius: var(--radius-md);
1197
+ border-top-right-radius: var(--radius-md);
1198
+ }
1135
1199
  .\!border {
1136
1200
  border-style: var(--tw-border-style) !important;
1137
1201
  border-width: 1px !important;
@@ -1857,6 +1921,12 @@
1857
1921
  .\!text-black {
1858
1922
  color: #030404 !important;
1859
1923
  }
1924
+ .\!text-gray-50 {
1925
+ color: #fafafa !important;
1926
+ }
1927
+ .\!text-gray-950 {
1928
+ color: #18191A !important;
1929
+ }
1860
1930
  .\!text-primary-foreground {
1861
1931
  color: var(--primary-foreground) !important;
1862
1932
  }
@@ -2169,7 +2239,7 @@
2169
2239
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
2170
2240
  }
2171
2241
  .transition {
2172
- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
2242
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
2173
2243
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2174
2244
  transition-duration: var(--tw-duration, var(--default-transition-duration));
2175
2245
  }
@@ -3488,6 +3558,12 @@
3488
3558
  background-color: #fffdf5;
3489
3559
  }
3490
3560
  }
3561
+ .focus-visible\:ring-2 {
3562
+ &:focus-visible {
3563
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
3564
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3565
+ }
3566
+ }
3491
3567
  .focus-visible\:ring-4 {
3492
3568
  &:focus-visible {
3493
3569
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
@@ -3530,6 +3606,11 @@
3530
3606
  --tw-ring-color: #e0061b;
3531
3607
  }
3532
3608
  }
3609
+ .focus-visible\:ring-ring {
3610
+ &:focus-visible {
3611
+ --tw-ring-color: var(--ring);
3612
+ }
3613
+ }
3533
3614
  .focus-visible\:ring-ring\/50 {
3534
3615
  &:focus-visible {
3535
3616
  --tw-ring-color: var(--ring);
@@ -3543,6 +3624,12 @@
3543
3624
  --tw-ring-color: #ffd333;
3544
3625
  }
3545
3626
  }
3627
+ .focus-visible\:ring-offset-2 {
3628
+ &:focus-visible {
3629
+ --tw-ring-offset-width: 2px;
3630
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
3631
+ }
3632
+ }
3546
3633
  .focus-visible\:outline-hidden {
3547
3634
  &:focus-visible {
3548
3635
  --tw-outline-style: none;
@@ -3915,6 +4002,16 @@
3915
4002
  background-color: #276ab3;
3916
4003
  }
3917
4004
  }
4005
+ .data-\[state\=active\]\:bg-gray-950 {
4006
+ &[data-state="active"] {
4007
+ background-color: #18191A;
4008
+ }
4009
+ }
4010
+ .data-\[state\=active\]\:\!text-gray-50 {
4011
+ &[data-state="active"] {
4012
+ color: #fafafa !important;
4013
+ }
4014
+ }
3918
4015
  .data-\[state\=active\]\:text-blue-50 {
3919
4016
  &[data-state="active"] {
3920
4017
  color: #fbfcfe;
@@ -4059,6 +4156,11 @@
4059
4156
  width: 100%;
4060
4157
  }
4061
4158
  }
4159
+ .max-sm\:flex-col {
4160
+ @media (width < 40rem) {
4161
+ flex-direction: column;
4162
+ }
4163
+ }
4062
4164
  .sm\:col-span-2 {
4063
4165
  @media (width >= 40rem) {
4064
4166
  grid-column: span 2 / span 2;
@@ -4074,6 +4176,11 @@
4074
4176
  max-height: 320px;
4075
4177
  }
4076
4178
  }
4179
+ .sm\:max-w-48 {
4180
+ @media (width >= 40rem) {
4181
+ max-width: calc(var(--spacing) * 48);
4182
+ }
4183
+ }
4077
4184
  .sm\:max-w-lg {
4078
4185
  @media (width >= 40rem) {
4079
4186
  max-width: var(--container-lg);
@@ -4913,6 +5020,11 @@
4913
5020
  syntax: "*";
4914
5021
  inherits: false;
4915
5022
  }
5023
+ @keyframes pulse {
5024
+ 50% {
5025
+ opacity: 0.5;
5026
+ }
5027
+ }
4916
5028
  @keyframes enter {
4917
5029
  from {
4918
5030
  opacity: var(--tw-enter-opacity,1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkedunion-design-kit",
3
- "version": "1.9.6-beta.0",
3
+ "version": "1.9.6-beta.1",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist",
@@ -53,7 +53,7 @@
53
53
  "@radix-ui/react-slider": "^1.3.5",
54
54
  "@radix-ui/react-slot": "^1.2.3",
55
55
  "@radix-ui/react-switch": "^1.1.4",
56
- "@radix-ui/react-tabs": "^1.1.12",
56
+ "@radix-ui/react-tabs": "^1.1.13",
57
57
  "@radix-ui/react-tooltip": "^1.2.3",
58
58
  "@storybook/testing-library": "^0.2.2",
59
59
  "@tailwindcss/cli": "^4.1.3",
@@ -1,13 +0,0 @@
1
- import { Inter } from "next/font/google";
2
- import "@/styles/globals.css";
3
- var inter = Inter({ subsets: ["latin"] });
4
- export var metadata = {
5
- title: "Create Next App",
6
- description: "Generated by create next app",
7
- };
8
- export default function RootLayout(_a) {
9
- var children = _a.children;
10
- return (<html lang="en">
11
- <body className={inter.className}>{children}</body>
12
- </html>);
13
- }
package/dist/app/page.jsx DELETED
@@ -1,5 +0,0 @@
1
- export default function Home() {
2
- return (<div className="text-center flex flex-col items-center justify-center min-h-screen p-24 gap-5">
3
- <h1> Welcome to Linkedunion Design kit</h1>
4
- </div>);
5
- }
@@ -1,33 +0,0 @@
1
- import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "../../components/Accordion/accordion";
2
- import ColorPicker from "../ColorPicker/ColorPicker";
3
- export default {
4
- title: "Components/Accordion",
5
- component: Accordion,
6
- tags: ["autodocs"],
7
- };
8
- var Template = function (args) { return (<Accordion type="single" collapsible defaultValue="menus" {...args}></Accordion>); };
9
- export var _Accordion = Template.bind({});
10
- _Accordion.args = {
11
- children: (<>
12
- <AccordionItem value="menus">
13
- <AccordionTrigger>Menus</AccordionTrigger>
14
- <AccordionContent>
15
- <ColorPicker value="#000000" onChange={function () { return console.log("color"); }}/>
16
- </AccordionContent>
17
- </AccordionItem>
18
- <AccordionItem value="second">
19
- <AccordionTrigger>Menus</AccordionTrigger>
20
- <AccordionContent>
21
- <ColorPicker value="#000000" onChange={function () { return console.log("color"); }}/>
22
- </AccordionContent>
23
- </AccordionItem>
24
- </>),
25
- };
26
- _Accordion.argTypes = {
27
- children: {
28
- description: "Pass `AccordionItem` components as children. Each item includes an `AccordionTrigger` (the clickable label) and `AccordionContent` (collapsible body). You can customize both with any valid React nodes \n\nFor more details and usage examples, refer to the [ShadCN Accordion documentation](https://ui.shadcn.com/docs/components/accordion).",
29
- table: {
30
- type: { summary: "React.ReactNode" },
31
- },
32
- },
33
- };
@@ -1,59 +0,0 @@
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
- import * as React from "react";
13
- import * as AccordionPrimitive from "@radix-ui/react-accordion";
14
- import { cn } from "../../lib/utils";
15
- import LUIcon from "../Icons/LUIcon";
16
- function Accordion(_a) {
17
- var props = __rest(_a, []);
18
- return <AccordionPrimitive.Root data-slot="accordion" {...props}/>;
19
- }
20
- function AccordionItem(_a) {
21
- var className = _a.className, props = __rest(_a, ["className"]);
22
- return (<AccordionPrimitive.Item data-slot="accordion-item" className={cn("!py-5 !border-b last:!border-b !border-gray-100", className)} {...props}/>);
23
- }
24
- function AccordionTrigger(_a) {
25
- var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
26
- var ref = React.useRef(null);
27
- var _b = React.useState(false), isOpen = _b[0], setIsOpen = _b[1];
28
- React.useEffect(function () {
29
- var updateOpenState = function () {
30
- if (ref.current) {
31
- var state = ref.current.getAttribute("data-state");
32
- setIsOpen(state === "open");
33
- }
34
- };
35
- updateOpenState();
36
- // Create a mutation observer to watch for attribute changes
37
- var observer = new MutationObserver(updateOpenState);
38
- if (ref.current) {
39
- observer.observe(ref.current, {
40
- attributes: true,
41
- attributeFilter: ["data-state"],
42
- });
43
- }
44
- return function () { return observer.disconnect(); };
45
- }, []);
46
- return (<AccordionPrimitive.Header className="flex">
47
- <AccordionPrimitive.Trigger ref={ref} data-slot="accordion-trigger" className={cn("flex items-center gap-2 cursor-pointer !text-sm !font-normal !leading-normal grow m-0", className)} {...props}>
48
- <LUIcon color="light-gray" icon={isOpen ? "minus" : "plus"} size="md" className="pointer-events-none shrink-0"/>
49
- {children}
50
- </AccordionPrimitive.Trigger>
51
- </AccordionPrimitive.Header>);
52
- }
53
- function AccordionContent(_a) {
54
- var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
55
- return (<AccordionPrimitive.Content data-slot="accordion-content" className="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down !overflow-visible !text-sm !py-2" {...props}>
56
- <div className={cn(className)}>{children}</div>
57
- </AccordionPrimitive.Content>);
58
- }
59
- export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
@@ -1,152 +0,0 @@
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
- import * as React from "react";
13
- import { createContext, useContext, Children, isValidElement, cloneElement, } from "react";
14
- import { cva } from "class-variance-authority";
15
- import { cn } from "../../../lib/utils";
16
- import LUIcon from "../../Icons/LUIcon";
17
- import { Button } from "../../Button/Button/Button";
18
- var alertVariants = cva("grid w-full gap-4 rounded-lg border-l-4 p-4", {
19
- variants: {
20
- size: {
21
- lg: "[&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-size)]:size-9 gap-4 [&_h2[data-slot='alert-dialog-title']]:text-2xl [&_h2[data-slot='alert-dialog-title']]:font-medium [&_p[data-slot='alert-dialog-description']]:text-lg [&_p[data-slot='alert-dialog-description']]:font-normal",
22
- md: "[&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-size)]:size-8 gap-3 [&_h2[data-slot='alert-dialog-title']]:text-xl [&_h2[data-slot='alert-dialog-title']]:font-medium [&_p[data-slot='alert-dialog-description']]:text-base [&_p[data-slot='alert-dialog-description']]:font-normal",
23
- sm: "[&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-size)]:size-7 gap-2 [&_h2[data-slot='alert-dialog-title']]:text-lg [&_h2[data-slot='alert-dialog-title']]:font-medium [&_p[data-slot='alert-dialog-description']]:text-sm [&_p[data-slot='alert-dialog-description']]:font-normal",
24
- },
25
- shadow: {
26
- none: "",
27
- lg: "shadow-lg",
28
- },
29
- color: {
30
- blue: "bg-gray-50 text-blue-900 border-blue-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-blue-600 [&_h2[data-slot='alert-dialog-title']]:text-blue-600",
31
- red: "bg-gray-50 text-red-900 border-red-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-red-600 [&_h2[data-slot='alert-dialog-title']]:text-red-600",
32
- indigo: "bg-gray-50 text-indigo-900 border-indigo-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-indigo-600 [&_h2[data-slot='alert-dialog-title']]:text-indigo-600",
33
- yellow: "bg-gray-50 text-yellow-900 border-yellow-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-yellow-600 [&_h2[data-slot='alert-dialog-title']]:text-yellow-600",
34
- green: "bg-gray-50 text-green-900 border-green-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-green-600 [&_h2[data-slot='alert-dialog-title']]:text-green-600",
35
- gray: "bg-gray-50 text-gray-900 border-gray-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-gray-600 [&_h2[data-slot='alert-dialog-title']]:text-gray-600",
36
- },
37
- variant: {
38
- outline: "",
39
- fill: "",
40
- },
41
- },
42
- defaultVariants: {
43
- size: "md",
44
- shadow: "none",
45
- color: "blue",
46
- variant: "outline",
47
- },
48
- compoundVariants: [
49
- {
50
- color: "blue",
51
- variant: "fill",
52
- class: "bg-blue-100 text-blue-900 border-blue-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-blue-600 [&_h2[data-slot='alert-dialog-title']]:text-blue-600",
53
- },
54
- {
55
- color: "red",
56
- variant: "fill",
57
- class: "bg-red-100 text-red-900 border-red-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-red-600 [&_h2[data-slot='alert-dialog-title']]:text-red-600",
58
- },
59
- {
60
- color: "indigo",
61
- variant: "fill",
62
- class: "bg-indigo-100 text-indigo-900 border-indigo-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-indigo-600 [&_h2[data-slot='alert-dialog-title']]:text-indigo-600",
63
- },
64
- {
65
- color: "yellow",
66
- variant: "fill",
67
- class: "bg-yellow-100 text-yellow-900 border-yellow-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-yellow-600 [&_h2[data-slot='alert-dialog-title']]:text-yellow-600",
68
- },
69
- {
70
- color: "green",
71
- variant: "fill",
72
- class: "bg-green-100 text-green-900 border-green-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-green-600 [&_h2[data-slot='alert-dialog-title']]:text-green-600",
73
- },
74
- {
75
- color: "gray",
76
- variant: "fill",
77
- class: "bg-gray-100 text-gray-900 border-gray-600 [&_[data-slot='alert-dialog-header']_svg:not(.lu-icon-custom-color)]:text-gray-600 [&_h2[data-slot='alert-dialog-title']]:text-gray-600",
78
- },
79
- ],
80
- });
81
- // Create context for Alert color
82
- var AlertContext = createContext({});
83
- var useAlertContext = function () { return useContext(AlertContext); };
84
- export function Alert(_a) {
85
- var className = _a.className, size = _a.size, shadow = _a.shadow, color = _a.color, variant = _a.variant, props = __rest(_a, ["className", "size", "shadow", "color", "variant"]);
86
- return (<AlertContext.Provider value={{ color: color || undefined }}>
87
- <div data-slot="inline-alert" className={cn(alertVariants({
88
- size: size,
89
- shadow: shadow,
90
- color: color,
91
- variant: variant,
92
- }), className)} {...props}/>
93
- </AlertContext.Provider>);
94
- }
95
- export function AlertHeader(_a) {
96
- var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
97
- // Check if children contains LUIcon
98
- var childrenArray = Children.toArray(children);
99
- var hasIcon = childrenArray.some(function (child) { return isValidElement(child) && child.type === LUIcon; });
100
- if (hasIcon) {
101
- var iconWithClass_1 = null;
102
- var otherChildren_1 = [];
103
- childrenArray.forEach(function (child) {
104
- if (isValidElement(child) && child.type === LUIcon) {
105
- var iconElement = child;
106
- // If LUIcon has a size prop, add .lu-icon-custom-size to className
107
- var hasSizeProp = !!iconElement.props.size;
108
- // If LUIcon has a color prop, add .lu-icon-custom-color to className
109
- var hasColorProp = !!iconElement.props.color;
110
- iconWithClass_1 = cloneElement(iconElement, {
111
- className: cn(iconElement.props.className, hasSizeProp && "lu-icon-custom-size", hasColorProp && "lu-icon-custom-color"),
112
- });
113
- }
114
- else {
115
- otherChildren_1.push(child);
116
- }
117
- });
118
- return (<div data-slot="alert-dialog-header" className={cn("flex flex-row gap-3 items-start text-left", className)} {...props}>
119
- {iconWithClass_1}
120
- <div>{otherChildren_1}</div>
121
- </div>);
122
- }
123
- return (<div data-slot="alert-dialog-header" className={cn("flex flex-col gap-2 text-center sm:text-left", className)} {...props}>
124
- {children}
125
- </div>);
126
- }
127
- export function AlertTitle(_a) {
128
- var className = _a.className, props = __rest(_a, ["className"]);
129
- return (<h2 data-slot="alert-dialog-title" className={cn("text-lg font-semibold", className)} {...props}/>);
130
- }
131
- export function AlertDescription(_a) {
132
- var className = _a.className, props = __rest(_a, ["className"]);
133
- return (<p data-slot="alert-dialog-description" className={cn("text-black text-sm", className)} {...props}/>);
134
- }
135
- export function AlertFooter(_a) {
136
- var className = _a.className, props = __rest(_a, ["className"]);
137
- return (<div data-slot="alert-dialog-footer" className={cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className)} {...props}/>);
138
- }
139
- // Also create a simple button component that matches the style of AlertDialogAction
140
- export var AlertAction = function (_a) {
141
- var className = _a.className, colorProp = _a.color, props = __rest(_a, ["className", "color"]);
142
- var contextColor = useAlertContext().color;
143
- var color = colorProp || contextColor || undefined;
144
- return (<Button variant="link" color={color} data-slot="alert-dialog-action" className={cn("h-auto p-0", className)} {...props}/>);
145
- };
146
- // And a cancel button that matches AlertDialogCancel
147
- export var AlertCancel = function (_a) {
148
- var className = _a.className, colorProp = _a.color, props = __rest(_a, ["className", "color"]);
149
- var contextColor = useAlertContext().color;
150
- var color = colorProp || contextColor || undefined;
151
- return (<Button variant="link" color={color} data-slot="alert-dialog-cancel" className={cn("h-auto p-0", className)} {...props}/>);
152
- };