@majapisoftwares/ui 4.0.6 → 4.1.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.
@@ -3,25 +3,25 @@ import { useId } from "react";
3
3
  import * as RAccordion from "@radix-ui/react-accordion";
4
4
  import clsx from "../../utils/clsx";
5
5
  export default function Accordion({ children, className, type = "multiple", }) {
6
- return (<RAccordion.Root type={type} className={clsx("flex flex-col gap-2", className)} collapsible>
7
- {children}
6
+ return (<RAccordion.Root type={type} className={clsx("flex flex-col gap-2", className)} collapsible={type === "single" || undefined}>
7
+ {children}
8
8
  </RAccordion.Root>);
9
9
  }
10
10
  Accordion.Item = AccordionItem;
11
11
  function AccordionItem({ children, title, value, className, triggerClassName, contentClassName, contentInnerClassName, }) {
12
12
  const id = useId();
13
13
  value = value || id;
14
- return (<RAccordion.Item value={value} className={className}>
15
- <RAccordion.Header>
16
- <RAccordion.Trigger className={clsx("group focus-visible:ring-opacity-75 flex w-full justify-between rounded-lg bg-zinc-200 px-4 py-2 text-left text-sm font-medium transition hover:bg-zinc-300 focus:outline-hidden focus-visible:ring-3 focus-visible:ring-purple-500 dark:bg-zinc-800 dark:hover:bg-zinc-700", triggerClassName)}>
17
- {title}
18
- <ChevronUpIcon className="h-5 w-5 transition-transform duration-300 ease-[cubic-bezier(0.87,_0,_0.13,_1)] group-data-[state=open]:rotate-180"/>
19
- </RAccordion.Trigger>
20
- </RAccordion.Header>
21
- <RAccordion.Content className={clsx("data-[state=closed]:animate-slide-up data-[state=open]:animate-slide-down overflow-hidden", contentClassName)}>
22
- <div className={clsx("px-4 pt-2 pb-2", contentInnerClassName)}>
23
- {children}
24
- </div>
25
- </RAccordion.Content>
14
+ return (<RAccordion.Item value={value} className={className}>
15
+ <RAccordion.Header>
16
+ <RAccordion.Trigger className={clsx("group focus-visible:ring-opacity-75 flex w-full justify-between rounded-lg bg-zinc-200 px-4 py-2 text-left text-sm font-medium transition hover:bg-zinc-300 focus:outline-hidden focus-visible:ring-3 focus-visible:ring-purple-500 dark:bg-zinc-800 dark:hover:bg-zinc-700", triggerClassName)}>
17
+ {title}
18
+ <ChevronUpIcon className="h-5 w-5 transition-transform duration-300 ease-[cubic-bezier(0.87,_0,_0.13,_1)] group-data-[state=open]:rotate-180"/>
19
+ </RAccordion.Trigger>
20
+ </RAccordion.Header>
21
+ <RAccordion.Content className={clsx("data-[state=closed]:animate-slide-up data-[state=open]:animate-slide-down overflow-hidden", contentClassName)}>
22
+ <div className={clsx("px-4 pt-2 pb-2", contentInnerClassName)}>
23
+ {children}
24
+ </div>
25
+ </RAccordion.Content>
26
26
  </RAccordion.Item>);
27
27
  }
@@ -1,8 +1,8 @@
1
- import React from "react";
2
- import { ConverterOptions } from "showdown";
1
+ import React, { ComponentProps } from "react";
2
+ import ReactMarkdown from "react-markdown";
3
3
  export type MarkdownProps = {
4
4
  children?: string;
5
5
  className?: string;
6
- options?: ConverterOptions;
6
+ options?: ComponentProps<typeof ReactMarkdown>;
7
7
  };
8
8
  export default function Markdown({ children, className, options, }: MarkdownProps): React.JSX.Element;
@@ -1,13 +1,11 @@
1
- import React, { useMemo } from "react";
1
+ import React from "react";
2
+ import ReactMarkdown from "react-markdown";
2
3
  import clsx from "../../utils/clsx";
3
- import showdown from "showdown";
4
+ import remarkGfm from "remark-gfm";
4
5
  export default function Markdown({ children, className, options, }) {
5
- const converter = useMemo(() => new showdown.Converter(options),
6
- // eslint-disable-next-line react-hooks/exhaustive-deps
7
- [JSON.stringify(options)]);
8
- return (<div className={clsx("prose prose-zinc max-w-full dark:prose-invert", className)} dangerouslySetInnerHTML={children
9
- ? {
10
- __html: converter.makeHtml(children),
11
- }
12
- : undefined}/>);
6
+ return (<div className={clsx("prose prose-zinc dark:prose-invert max-w-full", "[&_.contains-task-list]:list-none [&_.contains-task-list]:pl-0", "[&_.task-list-item_input[type='checkbox']]:-mt-1", className)}>
7
+ <ReactMarkdown remarkPlugins={[remarkGfm, ...(options?.remarkPlugins || [])]} {...options}>
8
+ {children}
9
+ </ReactMarkdown>
10
+ </div>);
13
11
  }
package/package.json CHANGED
@@ -4,6 +4,6 @@
4
4
  "type": "git",
5
5
  "url": "https://github.com/majapisoftwares/ui.git"
6
6
  },
7
- "version": "4.0.6",
7
+ "version": "4.1.1",
8
8
  "type": "module"
9
9
  }