ekm-ui 0.0.13 → 0.0.14

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 (60) hide show
  1. package/.turbo/turbo-build.log +56 -41
  2. package/CHANGELOG.md +6 -0
  3. package/dist/alert.d.ts +7 -0
  4. package/dist/alert.mjs +4 -0
  5. package/dist/alert.mjs.map +1 -0
  6. package/dist/button-group-item.d.ts +9 -0
  7. package/dist/button-group-item.mjs +4 -0
  8. package/dist/button-group-item.mjs.map +1 -0
  9. package/dist/card-payment-block.css +1 -1
  10. package/dist/card-payment-block.css.map +1 -1
  11. package/dist/card-payment-block.mjs +9 -6
  12. package/dist/chunk-JKIN7YAI.mjs +11 -0
  13. package/dist/chunk-JKIN7YAI.mjs.map +1 -0
  14. package/dist/{chunk-WSFN3NS3.mjs → chunk-JWLV57CY.mjs} +1 -1
  15. package/dist/{chunk-WSFN3NS3.mjs.map → chunk-JWLV57CY.mjs.map} +1 -1
  16. package/dist/chunk-KAQJAKQH.mjs +7 -0
  17. package/dist/chunk-KAQJAKQH.mjs.map +1 -0
  18. package/dist/{chunk-KV5UCUDY.mjs → chunk-KYPV6EAR.mjs} +4 -4
  19. package/dist/chunk-KYPV6EAR.mjs.map +1 -0
  20. package/dist/{chunk-V2Y67DG5.mjs → chunk-LWDFKEBO.mjs} +1 -1
  21. package/dist/{chunk-V2Y67DG5.mjs.map → chunk-LWDFKEBO.mjs.map} +1 -1
  22. package/dist/chunk-NBWCYEL6.mjs +9 -0
  23. package/dist/chunk-NBWCYEL6.mjs.map +1 -0
  24. package/dist/chunk-RMX72FR3.mjs +8 -0
  25. package/dist/chunk-RMX72FR3.mjs.map +1 -0
  26. package/dist/{chunk-ADTTJ2WF.mjs → chunk-YTTLKTRL.mjs} +2 -2
  27. package/dist/{chunk-ADTTJ2WF.mjs.map → chunk-YTTLKTRL.mjs.map} +1 -1
  28. package/dist/color-picker.mjs +1 -1
  29. package/dist/drawer.mjs +1 -1
  30. package/dist/form-row.d.ts +1 -1
  31. package/dist/form-row.mjs +1 -1
  32. package/dist/index.css +1 -1
  33. package/dist/index.css.map +1 -1
  34. package/dist/index.d.ts +3 -0
  35. package/dist/index.mjs +9 -6
  36. package/dist/input-addon.d.ts +8 -0
  37. package/dist/input-addon.mjs +4 -0
  38. package/dist/input-addon.mjs.map +1 -0
  39. package/dist/layout/layout.css +1 -1
  40. package/dist/layout/layout.css.map +1 -1
  41. package/dist/layout/layout.mjs +9 -6
  42. package/dist/stacked-list-item.css +1 -1
  43. package/dist/stacked-list-item.css.map +1 -1
  44. package/dist/stacked-list-item.d.ts +3 -2
  45. package/dist/stacked-list-item.mjs +9 -6
  46. package/dist/text-row.d.ts +2 -1
  47. package/dist/text-row.mjs +1 -1
  48. package/package.json +1 -1
  49. package/src/alert.tsx +39 -0
  50. package/src/button-group-item.tsx +26 -0
  51. package/src/color-picker.tsx +1 -1
  52. package/src/drawer.tsx +0 -1
  53. package/src/form-row.tsx +1 -1
  54. package/src/index.tsx +3 -0
  55. package/src/input-addon.tsx +30 -0
  56. package/src/stacked-list-item.tsx +7 -4
  57. package/src/text-row.tsx +4 -3
  58. package/dist/chunk-KV5UCUDY.mjs.map +0 -1
  59. package/dist/chunk-ZHQYEIOT.mjs +0 -8
  60. package/dist/chunk-ZHQYEIOT.mjs.map +0 -1
@@ -1,13 +1,14 @@
1
1
  type Props = {
2
2
  id: number;
3
3
  title: string;
4
- text: string;
4
+ text?: string | JSX.Element;
5
5
  avatarShow?: boolean;
6
6
  avatarColor?: string;
7
7
  avatarBorder?: string;
8
8
  children?: JSX.Element;
9
9
  isLocked?: boolean;
10
+ icon?: JSX.Element;
10
11
  };
11
- declare function StackedListItem({ id, title, text, avatarShow, avatarColor, avatarBorder, children, isLocked, }: Props): JSX.Element;
12
+ declare function StackedListItem({ id, title, text, avatarShow, avatarColor, avatarBorder, children, isLocked, icon, }: Props): JSX.Element;
12
13
 
13
14
  export { StackedListItem };
@@ -1,20 +1,23 @@
1
- export { a as StackedListItem } from './chunk-KV5UCUDY.mjs';
1
+ export { a as StackedListItem } from './chunk-KYPV6EAR.mjs';
2
+ import './chunk-RMX72FR3.mjs';
2
3
  import './chunk-256SAVHD.mjs';
3
4
  import './chunk-3ZCDEN7B.mjs';
4
5
  import './chunk-HAQTLD4G.mjs';
5
6
  import './chunk-QWPN2UNV.mjs';
7
+ import './chunk-LWDFKEBO.mjs';
8
+ import './chunk-KAQJAKQH.mjs';
6
9
  import './chunk-OT256LE6.mjs';
10
+ import './chunk-FRIXS4BL.mjs';
7
11
  import './chunk-FJQEJBBY.mjs';
8
12
  import './chunk-EWNPNF2B.mjs';
9
13
  import './chunk-Y5FSZ56P.mjs';
10
- import './chunk-ZHQYEIOT.mjs';
14
+ import './chunk-NBWCYEL6.mjs';
11
15
  import './chunk-664HOPW7.mjs';
16
+ import './chunk-JKIN7YAI.mjs';
12
17
  import './chunk-G676EBCC.mjs';
13
- import './chunk-ADTTJ2WF.mjs';
14
- import './chunk-WSFN3NS3.mjs';
18
+ import './chunk-YTTLKTRL.mjs';
19
+ import './chunk-JWLV57CY.mjs';
15
20
  import './chunk-ZT7KDTGF.mjs';
16
- import './chunk-FRIXS4BL.mjs';
17
- import './chunk-V2Y67DG5.mjs';
18
21
  import './chunk-RUPJ2ZHA.mjs';
19
22
  //# sourceMappingURL=out.js.map
20
23
  //# sourceMappingURL=stacked-list-item.mjs.map
@@ -3,7 +3,8 @@ type Props = {
3
3
  title: string;
4
4
  text: string;
5
5
  border?: boolean;
6
+ className?: string;
6
7
  };
7
- declare function TextRow({ children, title, text, border }: Props): JSX.Element;
8
+ declare function TextRow({ children, title, text, border, className }: Props): JSX.Element;
8
9
 
9
10
  export { TextRow };
package/dist/text-row.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { a as TextRow } from './chunk-ZHQYEIOT.mjs';
1
+ export { a as TextRow } from './chunk-RMX72FR3.mjs';
2
2
  import './chunk-RUPJ2ZHA.mjs';
3
3
  //# sourceMappingURL=out.js.map
4
4
  //# sourceMappingURL=text-row.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ekm-ui",
3
- "version": "0.0.13",
3
+ "version": "0.0.14",
4
4
  "sideEffects": [
5
5
  "**/*.css"
6
6
  ],
package/src/alert.tsx ADDED
@@ -0,0 +1,39 @@
1
+ import clsx from "clsx";
2
+ import { HiInformationCircle, HiExclamation } from "react-icons/hi";
3
+
4
+ type Props = {
5
+ text: string;
6
+ type: "warning" | "info";
7
+ };
8
+
9
+ export function Alert({ text, type }: Props) {
10
+ return (
11
+ <div
12
+ className={clsx(
13
+ "flex items-center",
14
+ {
15
+ info: " text-blue-500 dark:text-blue-200",
16
+ warning: " text-yellow-500 dark:text-yellow-200",
17
+ }[type]
18
+ )}
19
+ >
20
+ {type == "warning" && (
21
+ <HiExclamation className="ml-4 mr-2 h-auto w-5 flex-shrink-0 " />
22
+ )}
23
+ {type == "info" && (
24
+ <HiInformationCircle className="ml-4 mr-2 h-auto w-5 flex-shrink-0 " />
25
+ )}
26
+ <p
27
+ className={clsx(
28
+ "text-sm font-medium",
29
+ {
30
+ info: " text-gray-500 dark:bg-gray-400 ",
31
+ warning: "",
32
+ }[type]
33
+ )}
34
+ >
35
+ {text}
36
+ </p>
37
+ </div>
38
+ );
39
+ }
@@ -0,0 +1,26 @@
1
+ type Props = {
2
+ text: string;
3
+ border: string;
4
+ active?: boolean;
5
+ onclick?: () => void;
6
+ };
7
+
8
+ export function ButtonGroupItem({ text, border, active, onclick }: Props) {
9
+ return (
10
+ <button
11
+ type="button"
12
+ onClick={onclick}
13
+ className={`"rounded-l-lg dark:focus:ring-blue-500" border border-gray-200 px-4 py-2 text-sm font-medium text-blue-700 hover:bg-gray-100 focus:z-10 focus:text-blue-700 focus:ring-2 focus:ring-blue-700 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:hover:bg-gray-600 dark:hover:text-white dark:focus:text-white
14
+ ${border}
15
+ ${
16
+ active
17
+ ? "bg-primary-600 text-white hover:bg-primary-700 focus:text-white dark:bg-primary-600"
18
+ : ""
19
+ }
20
+
21
+ `}
22
+ >
23
+ {text}
24
+ </button>
25
+ );
26
+ }
@@ -46,7 +46,7 @@ export function ColorPicker({
46
46
  <div className="relative">
47
47
  <button
48
48
  type="button"
49
- className=" h-6 w-6 rounded-md border-2 border-solid border-slate-600"
49
+ className=" h-6 w-6 rounded-md border border-solid border-slate-300"
50
50
  style={{
51
51
  backgroundColor: `${colour}`,
52
52
  }}
package/src/drawer.tsx CHANGED
@@ -69,7 +69,6 @@ export function Drawer({ show, onClose, children, title }: Props) {
69
69
  <span className="sr-only">Close menu</span>
70
70
  </button>
71
71
  </div>
72
-
73
72
  <div className="flex h-full flex-col p-4 pt-20">{children}</div>
74
73
  </div>
75
74
  );
package/src/form-row.tsx CHANGED
@@ -5,7 +5,7 @@ type Props = {
5
5
  children: React.ReactNode;
6
6
  label: string;
7
7
  htmlFor: string;
8
- helperText?: string;
8
+ helperText?: String;
9
9
  className?: string;
10
10
  errorText?: string;
11
11
  };
package/src/index.tsx CHANGED
@@ -15,5 +15,8 @@ export { ColorPicker } from "./color-picker";
15
15
  export { Avatar } from "./avatar";
16
16
  export { TextRow } from "./text-row";
17
17
  export { PageHeader } from "./page-header";
18
+ export { ButtonGroupItem } from "./button-group-item";
19
+ export { InputAddon } from "./input-addon";
20
+ export { Alert } from "./alert";
18
21
 
19
22
  import "./styles.css";
@@ -0,0 +1,30 @@
1
+ type Props = {
2
+ leftAddon?: any;
3
+ inputField:any
4
+ rightAddon?: any;
5
+ };
6
+
7
+ export function InputAddon({
8
+ leftAddon,
9
+ inputField,
10
+ rightAddon,
11
+
12
+ }: Props) {
13
+ return (
14
+ <div className="relative rounded-md shadow-sm">
15
+ {leftAddon && (
16
+ <div className="absolute inset-y-0 left-0 flex items-center pl-3">
17
+ <span className="text-gray-500 sm:text-sm">{leftAddon}</span>
18
+ </div>
19
+ )}
20
+ {inputField}
21
+ {rightAddon && (
22
+ <div className="absolute inset-y-0 right-0 flex items-center pr-3">
23
+ <span className="text-gray-500 sm:text-sm" id="price-currency">
24
+ {rightAddon}
25
+ </span>
26
+ </div>
27
+ )}
28
+ </div>
29
+ );
30
+ }
@@ -4,12 +4,13 @@ import { Badge } from "flowbite-react";
4
4
  type Props = {
5
5
  id: number;
6
6
  title: string;
7
- text: string;
7
+ text?: string | JSX.Element;
8
8
  avatarShow?: boolean;
9
9
  avatarColor?: string;
10
10
  avatarBorder?: string;
11
11
  children?: JSX.Element;
12
12
  isLocked?: boolean;
13
+ icon?: JSX.Element;
13
14
  };
14
15
 
15
16
  export function StackedListItem({
@@ -21,6 +22,7 @@ export function StackedListItem({
21
22
  avatarBorder,
22
23
  children,
23
24
  isLocked,
25
+ icon,
24
26
  }: Props) {
25
27
  function getFirstAndLastLetters(str: string) {
26
28
  var words = str.split(" ");
@@ -40,9 +42,9 @@ export function StackedListItem({
40
42
  return (
41
43
  <li
42
44
  key={id}
43
- className="hover:bg-gray-90 relative flex justify-between gap-x-6 px-4 py-5 dark:hover:bg-gray-900 sm:px-6 lg:px-8"
45
+ className="hover:bg-gray-90 relative flex justify-between gap-x-6 px-4 py-5 dark:hover:bg-gray-900"
44
46
  >
45
- <div className="flex min-w-0 flex-auto gap-x-4">
47
+ <div className="flex min-w-0 flex-auto items-center gap-x-4">
46
48
  {avatarShow && (
47
49
  <Avatar
48
50
  placeholderInitials={avatarLetters}
@@ -50,6 +52,7 @@ export function StackedListItem({
50
52
  border={avatarBorder}
51
53
  />
52
54
  )}
55
+ {icon && icon}
53
56
  <div className="min-w-0 flex-auto">
54
57
  <div className="flex gap-2">
55
58
  <p className="truncate text-sm font-semibold text-gray-900 dark:text-white">
@@ -58,7 +61,7 @@ export function StackedListItem({
58
61
  {isLocked && <Badge color="failure">Locked</Badge>}
59
62
  </div>
60
63
  <p className="mt-1 flex text-xs text-gray-500 dark:text-gray-400">
61
- <span className="relative truncate hover:underline">{text}</span>
64
+ <span className="relative truncate">{text}</span>
62
65
  </p>
63
66
  </div>
64
67
  </div>
package/src/text-row.tsx CHANGED
@@ -3,13 +3,14 @@ type Props = {
3
3
  title: string;
4
4
  text: string;
5
5
  border?: boolean;
6
+ className?: string;
6
7
  };
7
8
 
8
- export function TextRow({ children, title, text, border }: Props) {
9
+ export function TextRow({ children, title, text, border, className }: Props) {
9
10
  return (
10
11
  <div
11
- className={`flex flex-wrap items-center justify-between gap-4 pt-4 sm:flex-nowrap
12
- ${border ? "border-b pb-4 dark:border-gray-900" : ""}`}
12
+ className={`${className} flex flex-wrap items-center justify-between gap-4 sm:flex-nowrap
13
+ ${border ? "border-b pb-4 dark:border-gray-900" : ""} `}
13
14
  >
14
15
  <div>
15
16
  <p className="mb-1 text-sm font-medium dark:text-white">{title}</p>
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/card-payment-block.tsx","../src/layout/layout.tsx","../shared/sidebar-items.tsx","../src/stacked-list-item.tsx"],"names":["TextInput","Card","Radio","Label","HiCreditCard","Fragment","jsx","jsxs","CardPaymentBlock","cardPayment","enablePayPal","FormRow","useMemo","useState","Sidebar","HiChartPie","HiDocument","HiGlobeAlt","HiPaintBrush","HiShoppingBag","HiTag","HiRocketLaunch","HiStar","SidebarItems","currentPage","Layout","children","hasHeader","isSidebarCollapsed","setIsSidebarCollapsed","showNavbarCloseButton","setShowNavbarCloseButton","is_small_screen_default","Navbar","LoveFooter","Badge","StackedListItem","id","title","text","avatarShow","avatarColor","avatarBorder","isLocked","getFirstAndLastLetters","str","words","firstWord","lastWord","firstLetter","lastLetter","avatarLetters","Avatar"],"mappings":"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","sourcesContent":["import { FormRow } from \"./index\";\nimport { TextInput, Card, Radio, Label } from \"flowbite-react\";\nimport { HiCreditCard } from \"react-icons/hi\";\n\nexport function CardPaymentBlock({\n cardPayment,\n enablePayPal,\n}: {\n cardPayment?: boolean;\n enablePayPal?: boolean;\n}) {\n return (\n <Card className=\"border-0 shadow-sm\t\">\n <h3 className=\"text-lg font-semibold dark:text-white\">Billing Details</h3>\n <div className=\"flex items-center justify-between border-b-2 pb-4\">\n <fieldset className=\"flex w-full flex-col gap-4\" id=\"radio\">\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n {enablePayPal && (\n <Radio\n defaultChecked\n id=\"creditDebitCard\"\n name=\"paymentType\"\n value=\"creditDebitCard\"\n />\n )}\n\n <Label htmlFor=\"creditDebitCard\">\n Pay by Credit or Debit card\n </Label>\n </div>\n <div className={enablePayPal ? \"ml-6 flex gap-2\" : \"flex gap-2\"}>\n <img\n src=\"https://shared.ekmcdn.com/images/uifw/cards/visa.png\"\n alt=\"VISA Card Logo\"\n />\n <img\n src=\"https://shared.ekmcdn.com/images/uifw/cards/mastercard.png\"\n alt=\"MasterCard Card Logo\"\n />\n <img\n src=\"https://shared.ekmcdn.com/images/uifw/cards/maestro.png\"\n alt=\"Maestro Card Logo\"\n />\n <img\n src=\"https://shared.ekmcdn.com/images/uifw/cards/amex.png\"\n alt=\"AMEX Card Logo\"\n />\n </div>\n </div>\n {cardPayment && (\n <>\n <div className=\"grid grid-cols-1 content-start gap-6 sm:grid-cols-2\">\n <FormRow\n label=\"Name on Card *\"\n htmlFor=\"nameOnCard\"\n helperText=\"This is your name as is appears on the front of your credit or debit card.\"\n >\n <TextInput\n id=\"nameOnCard\"\n name=\"nameOnCard\"\n placeholder=\"Your name\"\n type=\"text\"\n required\n />\n </FormRow>\n <FormRow\n label=\"Card Number *\"\n htmlFor=\"cardNumber\"\n helperText=\"This is the long number on the front of your credit or debit card.\"\n >\n <TextInput\n id=\"nameOnCard\"\n name=\"nameOnCard\"\n placeholder=\"0000 0000 0000 0000\"\n type=\"number\"\n rightIcon={HiCreditCard}\n required\n />\n </FormRow>\n </div>\n <div className=\"grid grid-cols-1 content-start gap-6 sm:grid-cols-4\">\n <FormRow\n label=\"Expiry Date *\"\n htmlFor=\"nameOnCard\"\n helperText=\"The expiry date as it appears on your card.\"\n >\n <TextInput\n id=\"nameOnCard\"\n name=\"nameOnCard\"\n placeholder=\"MM / YY\"\n type=\"text\"\n required\n />\n </FormRow>\n <FormRow\n label=\"Security Code (CVC) *\"\n htmlFor=\"cardNumber\"\n helperText=\"The last three digits on the back of your card’s signature strip.\"\n >\n <TextInput\n id=\"nameOnCard\"\n name=\"nameOnCard\"\n placeholder=\"123\"\n type=\"number\"\n rightIcon={HiCreditCard}\n required\n />\n </FormRow>\n </div>\n </>\n )}\n {enablePayPal && (\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n <Radio id=\"PayPal\" name=\"paymentType\" value=\"PayPal\" />\n <Label htmlFor=\"PayPal\">PayPal</Label>\n </div>\n <div className=\"ml-6\">\n <img\n src=\"https://shared.ekmcdn.com/images/uifw/cards/paypal.png\"\n alt=\"PayPal Icon\"\n />\n </div>\n </div>\n )}\n </fieldset>\n </div>\n </Card>\n );\n}\n","import { Navbar, Sidebar, LoveFooter } from \"../\";\nimport { useMemo, useState } from \"react\";\nimport isSmallScreen from \"../helpers/is-small-screen\";\nimport { SidebarItems } from \"../../shared/sidebar-items\";\n\ntype Props = {\n children: JSX.Element;\n hasHeader?: boolean;\n};\n\nexport function Layout({ children, hasHeader }: Props) {\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false);\n const [showNavbarCloseButton, setShowNavbarCloseButton] = useState(false);\n\n useMemo(() => {\n if (isSmallScreen() && !isSidebarCollapsed) {\n setShowNavbarCloseButton(true);\n }\n }, [isSidebarCollapsed]);\n\n return (\n <>\n <Navbar\n onMenuButtonClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n }}\n showCloseButton={showNavbarCloseButton}\n avatarImg=\"https://avatars.githubusercontent.com/u/49406022?v=4\"\n />\n <div className=\"flex\">\n <Sidebar collapsed={isSidebarCollapsed}>\n <SidebarItems />\n </Sidebar>\n <div className=\"flex w-3/4 flex-grow flex-col\">\n <main\n className={`\"relative dark:bg-gray-900\" flex h-full flex-grow flex-col gap-4 overflow-y-auto bg-gray-50 ${\n !hasHeader ? \"p-4\" : \"\"\n }`}\n >\n {children}\n </main>\n <LoveFooter />\n </div>\n </div>\n </>\n );\n}\n","import { Sidebar } from \"flowbite-react\";\n\nimport {\n HiChartPie,\n HiClipboard,\n HiDocument,\n HiGlobeAlt,\n HiPaintBrush,\n HiShoppingBag,\n HiTag,\n HiRocketLaunch,\n HiStar,\n} from \"react-icons/hi2\";\n\nexport function SidebarItems() {\n const currentPage = \"/\" as string;\n return (\n <Sidebar.Items>\n <Sidebar.ItemGroup>\n <Sidebar.Item\n href=\"/\"\n icon={HiChartPie}\n className={\"/\" === currentPage ? \"bg-gray-100 dark:bg-gray-700\" : \"\"}\n >\n Dashboard\n </Sidebar.Item>\n <Sidebar.Item\n href=\"/products\"\n icon={HiTag}\n className={\n \"/products\" === currentPage ? \"bg-gray-100 dark:bg-gray-700\" : \"\"\n }\n >\n Products\n </Sidebar.Item>\n <Sidebar.Item\n href=\"/orders\"\n icon={HiShoppingBag}\n label=\"27\"\n className={\n \"/orders\" === currentPage ? \"bg-gray-100 dark:bg-gray-700\" : \"\"\n }\n >\n Orders\n </Sidebar.Item>\n <Sidebar.Collapse icon={HiPaintBrush} label=\"Design\">\n <Sidebar.Item\n href=\"/design/design\"\n className={\n \"/design/theme\" === currentPage\n ? \"bg-gray-100 dark:bg-gray-700\"\n : \"\"\n }\n >\n Theme\n </Sidebar.Item>\n <Sidebar.Item\n href=\"/design/editor\"\n className={\n \"/e-commerce/billing\" === currentPage\n ? \"bg-gray-100 dark:bg-gray-700\"\n : \"\"\n }\n >\n Editor\n </Sidebar.Item>\n <Sidebar.Item\n href=\"/theme/webpages\"\n className={\n \"/e-commerce/invoice\" === currentPage\n ? \"bg-gray-100 dark:bg-gray-700\"\n : \"\"\n }\n >\n Webpages\n </Sidebar.Item>\n </Sidebar.Collapse>\n <Sidebar.Item\n href=\"/features\"\n icon={HiStar}\n className={\n \"/features\" === currentPage ? \"bg-gray-100 dark:bg-gray-700\" : \"\"\n }\n >\n Features\n </Sidebar.Item>\n </Sidebar.ItemGroup>\n <Sidebar.ItemGroup>\n <Sidebar.Item\n href=\"https://github.com/themesberg/flowbite-react/\"\n icon={HiDocument}\n >\n Docs\n </Sidebar.Item>\n <Sidebar.Item href=\"https://flowbite-react.com/\" icon={HiRocketLaunch}>\n What's New\n </Sidebar.Item>\n <Sidebar.Item\n href=\"https://github.com/themesberg/flowbite-react/issues\"\n icon={HiGlobeAlt}\n >\n Support Centre\n </Sidebar.Item>\n </Sidebar.ItemGroup>\n </Sidebar.Items>\n );\n}\n","import { Avatar } from \"./\";\nimport { Badge } from \"flowbite-react\";\n\ntype Props = {\n id: number;\n title: string;\n text: string;\n avatarShow?: boolean;\n avatarColor?: string;\n avatarBorder?: string;\n children?: JSX.Element;\n isLocked?: boolean;\n};\n\nexport function StackedListItem({\n id,\n title,\n text,\n avatarShow,\n avatarColor,\n avatarBorder,\n children,\n isLocked,\n}: Props) {\n function getFirstAndLastLetters(str: string) {\n var words = str.split(\" \");\n var firstWord = words[0];\n var lastWord = words[words.length - 1];\n var firstLetter = firstWord.charAt(0);\n if (firstWord !== lastWord) {\n var lastLetter = lastWord.charAt(0);\n } else {\n var lastLetter = \"\";\n }\n return [firstLetter, lastLetter];\n }\n\n let avatarLetters = getFirstAndLastLetters(title);\n\n return (\n <li\n key={id}\n className=\"hover:bg-gray-90 relative flex justify-between gap-x-6 px-4 py-5 dark:hover:bg-gray-900 sm:px-6 lg:px-8\"\n >\n <div className=\"flex min-w-0 flex-auto gap-x-4\">\n {avatarShow && (\n <Avatar\n placeholderInitials={avatarLetters}\n color={avatarColor}\n border={avatarBorder}\n />\n )}\n <div className=\"min-w-0 flex-auto\">\n <div className=\"flex gap-2\">\n <p className=\"truncate text-sm font-semibold text-gray-900 dark:text-white\">\n {title}\n </p>\n {isLocked && <Badge color=\"failure\">Locked</Badge>}\n </div>\n <p className=\"mt-1 flex text-xs text-gray-500 dark:text-gray-400\">\n <span className=\"relative truncate hover:underline\">{text}</span>\n </p>\n </div>\n </div>\n <div className=\"flex flex-shrink-0 items-center gap-x-4\">\n <div className=\"sm:flex sm:flex-col sm:items-end\">{children}</div>\n </div>\n </li>\n );\n}\n"]}
@@ -1,8 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
-
3
- function n({children:e,title:a,text:s,border:o}){return jsxs("div",{className:`flex flex-wrap items-center justify-between gap-4 pt-4 sm:flex-nowrap
4
- ${o?"border-b pb-4 dark:border-gray-900":""}`,children:[jsxs("div",{children:[jsx("p",{className:"mb-1 text-sm font-medium dark:text-white",children:a}),jsx("p",{className:"flex-shrink text-xs font-normal text-gray-500 dark:text-gray-400",children:s})]}),e&&e]})}
5
-
6
- export { n as a };
7
- //# sourceMappingURL=out.js.map
8
- //# sourceMappingURL=chunk-ZHQYEIOT.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/text-row.tsx"],"names":["jsx","jsxs","TextRow","children","title","text","border"],"mappings":"AAaM,OACE,OAAAA,EADF,QAAAC,MAAA,oBANC,SAASC,EAAQ,CAAE,SAAAC,EAAU,MAAAC,EAAO,KAAAC,EAAM,OAAAC,CAAO,EAAU,CAChE,OACEL,EAAC,OACC,UAAW;AAAA,QACTK,EAAS,qCAAuC,KAElD,UAAAL,EAAC,OACC,UAAAD,EAAC,KAAE,UAAU,2CAA4C,SAAAI,EAAM,EAC/DJ,EAAC,KAAE,UAAU,mEACV,SAAAK,EACH,GACF,EACCF,GAAYA,GACf,CAEJ","sourcesContent":["type Props = {\n children?: JSX.Element;\n title: string;\n text: string;\n border?: boolean;\n};\n\nexport function TextRow({ children, title, text, border }: Props) {\n return (\n <div\n className={`flex flex-wrap items-center justify-between gap-4 pt-4 sm:flex-nowrap \n ${border ? \"border-b pb-4 dark:border-gray-900\" : \"\"}`}\n >\n <div>\n <p className=\"mb-1 text-sm font-medium dark:text-white\">{title}</p>\n <p className=\"flex-shrink text-xs font-normal text-gray-500 dark:text-gray-400\">\n {text}\n </p>\n </div>\n {children && children}\n </div>\n );\n}\n"]}