notra-editor 0.8.1 → 0.8.3
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/components/blockquote-button/blockquote-button.cjs +5 -3
- package/dist/components/blockquote-button/blockquote-button.cjs.map +1 -1
- package/dist/components/blockquote-button/blockquote-button.mjs +5 -3
- package/dist/components/blockquote-button/blockquote-button.mjs.map +1 -1
- package/dist/components/code-block-button/code-block-button.cjs +5 -3
- package/dist/components/code-block-button/code-block-button.cjs.map +1 -1
- package/dist/components/code-block-button/code-block-button.mjs +5 -3
- package/dist/components/code-block-button/code-block-button.mjs.map +1 -1
- package/dist/components/code-block-view/code-block-shell.cjs +4 -2
- package/dist/components/code-block-view/code-block-shell.cjs.map +1 -1
- package/dist/components/code-block-view/code-block-shell.mjs +3 -2
- package/dist/components/code-block-view/code-block-shell.mjs.map +1 -1
- package/dist/components/code-block-view/code-block-view.cjs +6 -4
- package/dist/components/code-block-view/code-block-view.cjs.map +1 -1
- package/dist/components/code-block-view/code-block-view.mjs +6 -4
- package/dist/components/code-block-view/code-block-view.mjs.map +1 -1
- package/dist/components/code-block-view/language-select.cjs +9 -7
- package/dist/components/code-block-view/language-select.cjs.map +1 -1
- package/dist/components/code-block-view/language-select.mjs +9 -7
- package/dist/components/code-block-view/language-select.mjs.map +1 -1
- package/dist/components/copy-button.cjs +6 -4
- package/dist/components/copy-button.cjs.map +1 -1
- package/dist/components/copy-button.mjs +6 -4
- package/dist/components/copy-button.mjs.map +1 -1
- package/dist/components/heading-dropdown-menu/heading-dropdown-menu.cjs +8 -6
- package/dist/components/heading-dropdown-menu/heading-dropdown-menu.cjs.map +1 -1
- package/dist/components/heading-dropdown-menu/heading-dropdown-menu.mjs +8 -6
- package/dist/components/heading-dropdown-menu/heading-dropdown-menu.mjs.map +1 -1
- package/dist/components/heading-dropdown-menu/heading-menu-item.cjs +6 -4
- package/dist/components/heading-dropdown-menu/heading-menu-item.cjs.map +1 -1
- package/dist/components/heading-dropdown-menu/heading-menu-item.mjs +5 -4
- package/dist/components/heading-dropdown-menu/heading-menu-item.mjs.map +1 -1
- package/dist/components/heading-dropdown-menu/use-heading.cjs +4 -2
- package/dist/components/heading-dropdown-menu/use-heading.cjs.map +1 -1
- package/dist/components/heading-dropdown-menu/use-heading.mjs +3 -2
- package/dist/components/heading-dropdown-menu/use-heading.mjs.map +1 -1
- package/dist/components/image-popover/image-input-form.cjs +127 -0
- package/dist/components/image-popover/image-input-form.cjs.map +1 -0
- package/dist/components/image-popover/image-input-form.d.cts +16 -0
- package/dist/components/image-popover/image-input-form.d.ts +16 -0
- package/dist/components/image-popover/image-input-form.mjs +103 -0
- package/dist/components/image-popover/image-input-form.mjs.map +1 -0
- package/dist/components/image-popover/image-popover.cjs +35 -92
- package/dist/components/image-popover/image-popover.cjs.map +1 -1
- package/dist/components/image-popover/image-popover.mjs +36 -93
- package/dist/components/image-popover/image-popover.mjs.map +1 -1
- package/dist/components/image-popover/use-image-popover.cjs +2 -0
- package/dist/components/image-popover/use-image-popover.cjs.map +1 -1
- package/dist/components/image-popover/use-image-popover.mjs +1 -0
- package/dist/components/image-popover/use-image-popover.mjs.map +1 -1
- package/dist/components/link-popover/link-popover.cjs +9 -7
- package/dist/components/link-popover/link-popover.cjs.map +1 -1
- package/dist/components/link-popover/link-popover.mjs +9 -7
- package/dist/components/link-popover/link-popover.mjs.map +1 -1
- package/dist/components/link-popover/use-link-popover.cjs +2 -0
- package/dist/components/link-popover/use-link-popover.cjs.map +1 -1
- package/dist/components/link-popover/use-link-popover.mjs +1 -0
- package/dist/components/link-popover/use-link-popover.mjs.map +1 -1
- package/dist/components/list-dropdown-menu/list-dropdown-menu.cjs +8 -6
- package/dist/components/list-dropdown-menu/list-dropdown-menu.cjs.map +1 -1
- package/dist/components/list-dropdown-menu/list-dropdown-menu.mjs +8 -6
- package/dist/components/list-dropdown-menu/list-dropdown-menu.mjs.map +1 -1
- package/dist/components/list-dropdown-menu/list-menu-item.cjs +6 -4
- package/dist/components/list-dropdown-menu/list-menu-item.cjs.map +1 -1
- package/dist/components/list-dropdown-menu/list-menu-item.mjs +5 -4
- package/dist/components/list-dropdown-menu/list-menu-item.mjs.map +1 -1
- package/dist/components/list-dropdown-menu/use-list.cjs +5 -3
- package/dist/components/list-dropdown-menu/use-list.cjs.map +1 -1
- package/dist/components/list-dropdown-menu/use-list.mjs +4 -3
- package/dist/components/list-dropdown-menu/use-list.mjs.map +1 -1
- package/dist/components/mark-button/mark-button.cjs +6 -4
- package/dist/components/mark-button/mark-button.cjs.map +1 -1
- package/dist/components/mark-button/mark-button.mjs +6 -4
- package/dist/components/mark-button/mark-button.mjs.map +1 -1
- package/dist/components/mark-button/use-mark.cjs +4 -2
- package/dist/components/mark-button/use-mark.cjs.map +1 -1
- package/dist/components/mark-button/use-mark.mjs +3 -2
- package/dist/components/mark-button/use-mark.mjs.map +1 -1
- package/dist/components/slash-dropdown-menu/filter-slash-items.cjs +46 -0
- package/dist/components/slash-dropdown-menu/filter-slash-items.cjs.map +1 -0
- package/dist/components/slash-dropdown-menu/filter-slash-items.d.cts +15 -0
- package/dist/components/slash-dropdown-menu/filter-slash-items.d.ts +15 -0
- package/dist/components/slash-dropdown-menu/filter-slash-items.mjs +21 -0
- package/dist/components/slash-dropdown-menu/filter-slash-items.mjs.map +1 -0
- package/dist/components/slash-dropdown-menu/slash-dropdown-menu.cjs +294 -0
- package/dist/components/slash-dropdown-menu/slash-dropdown-menu.cjs.map +1 -0
- package/dist/components/slash-dropdown-menu/slash-dropdown-menu.d.cts +9 -0
- package/dist/components/slash-dropdown-menu/slash-dropdown-menu.d.ts +9 -0
- package/dist/components/slash-dropdown-menu/slash-dropdown-menu.mjs +292 -0
- package/dist/components/slash-dropdown-menu/slash-dropdown-menu.mjs.map +1 -0
- package/dist/components/slash-dropdown-menu/slash-image-popover.cjs +80 -0
- package/dist/components/slash-dropdown-menu/slash-image-popover.cjs.map +1 -0
- package/dist/components/slash-dropdown-menu/slash-image-popover.d.cts +11 -0
- package/dist/components/slash-dropdown-menu/slash-image-popover.d.ts +11 -0
- package/dist/components/slash-dropdown-menu/slash-image-popover.mjs +56 -0
- package/dist/components/slash-dropdown-menu/slash-image-popover.mjs.map +1 -0
- package/dist/components/slash-dropdown-menu/types.cjs +19 -0
- package/dist/components/slash-dropdown-menu/types.cjs.map +1 -0
- package/dist/components/slash-dropdown-menu/types.d.cts +22 -0
- package/dist/components/slash-dropdown-menu/types.d.ts +22 -0
- package/dist/components/slash-dropdown-menu/types.mjs +1 -0
- package/dist/components/slash-dropdown-menu/types.mjs.map +1 -0
- package/dist/components/slash-dropdown-menu/use-slash-items.cjs +138 -0
- package/dist/components/slash-dropdown-menu/use-slash-items.cjs.map +1 -0
- package/dist/components/slash-dropdown-menu/use-slash-items.d.cts +11 -0
- package/dist/components/slash-dropdown-menu/use-slash-items.d.ts +11 -0
- package/dist/components/slash-dropdown-menu/use-slash-items.mjs +125 -0
- package/dist/components/slash-dropdown-menu/use-slash-items.mjs.map +1 -0
- package/dist/components/toolbar/toolbar.cjs +4 -2
- package/dist/components/toolbar/toolbar.cjs.map +1 -1
- package/dist/components/toolbar/toolbar.mjs +3 -2
- package/dist/components/toolbar/toolbar.mjs.map +1 -1
- package/dist/components/ui/button.cjs +5 -3
- package/dist/components/ui/button.cjs.map +1 -1
- package/dist/components/ui/button.mjs +4 -3
- package/dist/components/ui/button.mjs.map +1 -1
- package/dist/components/ui/command.cjs +7 -6
- package/dist/components/ui/command.cjs.map +1 -1
- package/dist/components/ui/command.mjs +6 -6
- package/dist/components/ui/command.mjs.map +1 -1
- package/dist/components/ui/dialog.cjs +5 -4
- package/dist/components/ui/dialog.cjs.map +1 -1
- package/dist/components/ui/dialog.mjs +4 -4
- package/dist/components/ui/dialog.mjs.map +1 -1
- package/dist/components/ui/dropdown-menu.cjs +4 -3
- package/dist/components/ui/dropdown-menu.cjs.map +1 -1
- package/dist/components/ui/dropdown-menu.mjs +3 -3
- package/dist/components/ui/dropdown-menu.mjs.map +1 -1
- package/dist/components/ui/input-group.cjs +9 -7
- package/dist/components/ui/input-group.cjs.map +1 -1
- package/dist/components/ui/input-group.mjs +9 -7
- package/dist/components/ui/input-group.mjs.map +1 -1
- package/dist/components/ui/input.cjs +3 -1
- package/dist/components/ui/input.cjs.map +1 -1
- package/dist/components/ui/input.mjs +2 -1
- package/dist/components/ui/input.mjs.map +1 -1
- package/dist/components/ui/popover.cjs +4 -3
- package/dist/components/ui/popover.cjs.map +1 -1
- package/dist/components/ui/popover.mjs +3 -3
- package/dist/components/ui/popover.mjs.map +1 -1
- package/dist/components/ui/separator.cjs +4 -3
- package/dist/components/ui/separator.cjs.map +1 -1
- package/dist/components/ui/separator.mjs +3 -3
- package/dist/components/ui/separator.mjs.map +1 -1
- package/dist/components/ui/spacer.cjs +2 -0
- package/dist/components/ui/spacer.cjs.map +1 -1
- package/dist/components/ui/spacer.mjs +1 -0
- package/dist/components/ui/spacer.mjs.map +1 -1
- package/dist/components/ui/textarea.cjs +3 -1
- package/dist/components/ui/textarea.cjs.map +1 -1
- package/dist/components/ui/textarea.mjs +2 -1
- package/dist/components/ui/textarea.mjs.map +1 -1
- package/dist/components/undo-redo-button/undo-redo-button.cjs +6 -4
- package/dist/components/undo-redo-button/undo-redo-button.cjs.map +1 -1
- package/dist/components/undo-redo-button/undo-redo-button.mjs +6 -4
- package/dist/components/undo-redo-button/undo-redo-button.mjs.map +1 -1
- package/dist/components/undo-redo-button/use-undo-redo.cjs +4 -2
- package/dist/components/undo-redo-button/use-undo-redo.cjs.map +1 -1
- package/dist/components/undo-redo-button/use-undo-redo.mjs +3 -2
- package/dist/components/undo-redo-button/use-undo-redo.mjs.map +1 -1
- package/dist/extensions/code-block.cjs +8 -6
- package/dist/extensions/code-block.cjs.map +1 -1
- package/dist/extensions/code-block.mjs +7 -6
- package/dist/extensions/code-block.mjs.map +1 -1
- package/dist/extensions/editor.cjs +5 -3
- package/dist/extensions/editor.cjs.map +1 -1
- package/dist/extensions/editor.mjs +4 -3
- package/dist/extensions/editor.mjs.map +1 -1
- package/dist/extensions/index.cjs +4 -2
- package/dist/extensions/index.cjs.map +1 -1
- package/dist/extensions/index.mjs +3 -2
- package/dist/extensions/index.mjs.map +1 -1
- package/dist/extensions/shared.cjs +5 -3
- package/dist/extensions/shared.cjs.map +1 -1
- package/dist/extensions/shared.mjs +4 -3
- package/dist/extensions/shared.mjs.map +1 -1
- package/dist/hooks/use-copy-to-clipboard.cjs +3 -2
- package/dist/hooks/use-copy-to-clipboard.cjs.map +1 -1
- package/dist/hooks/use-copy-to-clipboard.mjs +2 -2
- package/dist/hooks/use-copy-to-clipboard.mjs.map +1 -1
- package/dist/hooks/use-markdown-editor.cjs +6 -1
- package/dist/hooks/use-markdown-editor.cjs.map +1 -1
- package/dist/hooks/use-markdown-editor.d.cts +1 -1
- package/dist/hooks/use-markdown-editor.d.ts +1 -1
- package/dist/hooks/use-markdown-editor.mjs +5 -1
- package/dist/hooks/use-markdown-editor.mjs.map +1 -1
- package/dist/index.cjs +18 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +17 -16
- package/dist/index.mjs.map +1 -1
- package/dist/lib/highlight-code-to-html.cjs +2 -0
- package/dist/lib/highlight-code-to-html.cjs.map +1 -1
- package/dist/lib/highlight-code-to-html.mjs +1 -0
- package/dist/lib/highlight-code-to-html.mjs.map +1 -1
- package/dist/lib/languages.cjs +4 -2
- package/dist/lib/languages.cjs.map +1 -1
- package/dist/lib/languages.mjs +3 -2
- package/dist/lib/languages.mjs.map +1 -1
- package/dist/lib/utils.cjs +2 -0
- package/dist/lib/utils.cjs.map +1 -1
- package/dist/lib/utils.mjs +1 -0
- package/dist/lib/utils.mjs.map +1 -1
- package/dist/notra-editor.cjs +17 -13
- package/dist/notra-editor.cjs.map +1 -1
- package/dist/notra-editor.mjs +17 -13
- package/dist/notra-editor.mjs.map +1 -1
- package/dist/notra-reader.cjs +9 -7
- package/dist/notra-reader.cjs.map +1 -1
- package/dist/notra-reader.mjs +8 -7
- package/dist/notra-reader.mjs.map +1 -1
- package/dist/styles/globals.css +4 -2
- package/dist/themes/default/editor.css +68 -6
- package/dist/utils/markdown-to-json.cjs +5 -3
- package/dist/utils/markdown-to-json.cjs.map +1 -1
- package/dist/utils/markdown-to-json.mjs +4 -3
- package/dist/utils/markdown-to-json.mjs.map +1 -1
- package/package.json +5 -1
|
@@ -17,6 +17,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
return to;
|
|
18
18
|
};
|
|
19
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// src/components/ui/input-group.tsx
|
|
20
22
|
var input_group_exports = {};
|
|
21
23
|
__export(input_group_exports, {
|
|
22
24
|
InputGroup: () => InputGroup,
|
|
@@ -27,12 +29,12 @@ __export(input_group_exports, {
|
|
|
27
29
|
InputGroupTextarea: () => InputGroupTextarea
|
|
28
30
|
});
|
|
29
31
|
module.exports = __toCommonJS(input_group_exports);
|
|
30
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
31
32
|
var import_class_variance_authority = require("class-variance-authority");
|
|
32
|
-
var import_button = require("./button");
|
|
33
|
-
var import_input = require("./input");
|
|
34
|
-
var import_textarea = require("./textarea");
|
|
35
|
-
var import_utils = require("../../lib/utils");
|
|
33
|
+
var import_button = require("./button.cjs");
|
|
34
|
+
var import_input = require("./input.cjs");
|
|
35
|
+
var import_textarea = require("./textarea.cjs");
|
|
36
|
+
var import_utils = require("../../lib/utils.cjs");
|
|
37
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
38
|
function InputGroup({ className, ...props }) {
|
|
37
39
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
38
40
|
"div",
|
|
@@ -47,7 +49,7 @@ function InputGroup({ className, ...props }) {
|
|
|
47
49
|
}
|
|
48
50
|
);
|
|
49
51
|
}
|
|
50
|
-
|
|
52
|
+
var inputGroupAddonVariants = (0, import_class_variance_authority.cva)(
|
|
51
53
|
"nt:flex nt:h-auto nt:cursor-text nt:items-center nt:justify-center nt:gap-2 nt:py-1.5 nt:text-sm nt:font-medium nt:text-muted-foreground nt:select-none nt:group-data-[disabled=true]/input-group:opacity-50 nt:[&>kbd]:rounded-[calc(var(--radius)-5px)] nt:[&>svg:not([class*=size-])]:size-4",
|
|
52
54
|
{
|
|
53
55
|
variants: {
|
|
@@ -85,7 +87,7 @@ function InputGroupAddon({
|
|
|
85
87
|
}
|
|
86
88
|
);
|
|
87
89
|
}
|
|
88
|
-
|
|
90
|
+
var inputGroupButtonVariants = (0, import_class_variance_authority.cva)(
|
|
89
91
|
"nt:flex nt:items-center nt:gap-2 nt:text-sm nt:shadow-none",
|
|
90
92
|
{
|
|
91
93
|
variants: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/input-group.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Textarea } from './textarea';\nimport { cn } from '../../lib/utils';\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'nt:group/input-group nt:relative nt:flex nt:h-8 nt:w-full nt:min-w-0 nt:items-center nt:rounded-lg nt:border nt:border-input nt:transition-colors nt:outline-none nt:in-data-[slot=combobox-content]:focus-within:border-inherit nt:in-data-[slot=combobox-content]:focus-within:ring-0 nt:has-disabled:bg-input/50 nt:has-disabled:opacity-50 nt:has-[[data-slot=input-group-control]:focus-visible]:border-ring nt:has-[[data-slot=input-group-control]:focus-visible]:ring-3 nt:has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 nt:has-[[data-slot][aria-invalid=true]]:border-destructive nt:has-[[data-slot][aria-invalid=true]]:ring-3 nt:has-[[data-slot][aria-invalid=true]]:ring-destructive/20 nt:has-[>[data-align=block-end]]:h-auto nt:has-[>[data-align=block-end]]:flex-col nt:has-[>[data-align=block-start]]:h-auto nt:has-[>[data-align=block-start]]:flex-col nt:has-[>textarea]:h-auto nt:dark:bg-input/30 nt:dark:has-disabled:bg-input/80 nt:dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 nt:has-[>[data-align=block-end]]:[&>input]:pt-3 nt:has-[>[data-align=block-start]]:[&>input]:pb-3 nt:has-[>[data-align=inline-end]]:[&>input]:pr-1.5 nt:has-[>[data-align=inline-start]]:[&>input]:pl-1.5',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group\"\n\t\t\trole=\"group\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst inputGroupAddonVariants = cva(\n\t'nt:flex nt:h-auto nt:cursor-text nt:items-center nt:justify-center nt:gap-2 nt:py-1.5 nt:text-sm nt:font-medium nt:text-muted-foreground nt:select-none nt:group-data-[disabled=true]/input-group:opacity-50 nt:[&>kbd]:rounded-[calc(var(--radius)-5px)] nt:[&>svg:not([class*=size-])]:size-4',\n\t{\n\t\tvariants: {\n\t\t\talign: {\n\t\t\t\t'inline-start':\n\t\t\t\t\t'nt:order-first nt:pl-2 nt:has-[>button]:ml-[-0.3rem] nt:has-[>kbd]:ml-[-0.15rem]',\n\t\t\t\t'inline-end':\n\t\t\t\t\t'nt:order-last nt:pr-2 nt:has-[>button]:mr-[-0.3rem] nt:has-[>kbd]:mr-[-0.15rem]',\n\t\t\t\t'block-start':\n\t\t\t\t\t'nt:order-first nt:w-full nt:justify-start nt:px-2.5 nt:pt-2 nt:group-has-[>input]/input-group:pt-2 nt:[.border-b]:pb-2',\n\t\t\t\t'block-end':\n\t\t\t\t\t'nt:order-last nt:w-full nt:justify-start nt:px-2.5 nt:pb-2 nt:group-has-[>input]/input-group:pb-2 nt:[.border-t]:pt-2'\n\t\t\t}\n\t\t},\n\t\tdefaultVariants: {\n\t\t\talign: 'inline-start'\n\t\t}\n\t}\n);\n\nfunction InputGroupAddon({\n\tclassName,\n\talign = 'inline-start',\n\t...props\n}: React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(inputGroupAddonVariants({ align }), className)}\n\t\t\tdata-align={align}\n\t\t\tdata-slot=\"input-group-addon\"\n\t\t\trole=\"group\"\n\t\t\tonClick={(e) => {\n\t\t\t\tif ((e.target as HTMLElement).closest('button')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.currentTarget.parentElement?.querySelector('input')?.focus();\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst inputGroupButtonVariants = cva(\n\t'nt:flex nt:items-center nt:gap-2 nt:text-sm nt:shadow-none',\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: 'nt:h-6 nt:gap-1 nt:rounded-[calc(var(--radius)-3px)] nt:px-1.5 nt:[&>svg:not([class*=size-])]:size-3.5',\n\t\t\t\tsm: 'nt:',\n\t\t\t\t'icon-xs':\n\t\t\t\t\t'nt:size-6 nt:rounded-[calc(var(--radius)-3px)] nt:p-0 nt:has-[>svg]:p-0',\n\t\t\t\t'icon-sm': 'nt:size-8 nt:p-0 nt:has-[>svg]:p-0'\n\t\t\t}\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: 'xs'\n\t\t}\n\t}\n);\n\nfunction InputGroupButton({\n\tclassName,\n\ttype = 'button',\n\tvariant = 'ghost',\n\tsize = 'xs',\n\t...props\n}: Omit<React.ComponentProps<typeof Button>, 'size'> &\n\tVariantProps<typeof inputGroupButtonVariants>) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={cn(inputGroupButtonVariants({ size }), className)}\n\t\t\tdata-size={size}\n\t\t\ttype={type}\n\t\t\tvariant={variant}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<'span'>) {\n\treturn (\n\t\t<span\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex nt:items-center nt:gap-2 nt:text-sm nt:text-muted-foreground nt:[&_svg]:pointer-events-none nt:[&_svg:not([class*=size-])]:size-4',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupInput({\n\tclassName,\n\t...props\n}: React.ComponentProps<'input'>) {\n\treturn (\n\t\t<Input\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex-1 nt:rounded-none nt:border-0 nt:bg-transparent nt:shadow-none nt:ring-0 nt:focus-visible:ring-0 nt:disabled:bg-transparent nt:aria-invalid:ring-0 nt:dark:bg-transparent nt:dark:disabled:bg-transparent',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group-control\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupTextarea({\n\tclassName,\n\t...props\n}: React.ComponentProps<'textarea'>) {\n\treturn (\n\t\t<Textarea\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex-1 nt:resize-none nt:rounded-none nt:border-0 nt:bg-transparent nt:py-2 nt:shadow-none nt:ring-0 nt:focus-visible:ring-0 nt:disabled:bg-transparent nt:aria-invalid:ring-0 nt:dark:bg-transparent nt:dark:disabled:bg-transparent',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group-control\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tInputGroup,\n\tInputGroupAddon,\n\tInputGroupButton,\n\tInputGroupText,\n\tInputGroupInput,\n\tInputGroupTextarea\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/input-group.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { Button } from './button.js';\nimport { Input } from './input.js';\nimport { Textarea } from './textarea.js';\nimport { cn } from '../../lib/utils.js';\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'nt:group/input-group nt:relative nt:flex nt:h-8 nt:w-full nt:min-w-0 nt:items-center nt:rounded-lg nt:border nt:border-input nt:transition-colors nt:outline-none nt:in-data-[slot=combobox-content]:focus-within:border-inherit nt:in-data-[slot=combobox-content]:focus-within:ring-0 nt:has-disabled:bg-input/50 nt:has-disabled:opacity-50 nt:has-[[data-slot=input-group-control]:focus-visible]:border-ring nt:has-[[data-slot=input-group-control]:focus-visible]:ring-3 nt:has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 nt:has-[[data-slot][aria-invalid=true]]:border-destructive nt:has-[[data-slot][aria-invalid=true]]:ring-3 nt:has-[[data-slot][aria-invalid=true]]:ring-destructive/20 nt:has-[>[data-align=block-end]]:h-auto nt:has-[>[data-align=block-end]]:flex-col nt:has-[>[data-align=block-start]]:h-auto nt:has-[>[data-align=block-start]]:flex-col nt:has-[>textarea]:h-auto nt:dark:bg-input/30 nt:dark:has-disabled:bg-input/80 nt:dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 nt:has-[>[data-align=block-end]]:[&>input]:pt-3 nt:has-[>[data-align=block-start]]:[&>input]:pb-3 nt:has-[>[data-align=inline-end]]:[&>input]:pr-1.5 nt:has-[>[data-align=inline-start]]:[&>input]:pl-1.5',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group\"\n\t\t\trole=\"group\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst inputGroupAddonVariants = cva(\n\t'nt:flex nt:h-auto nt:cursor-text nt:items-center nt:justify-center nt:gap-2 nt:py-1.5 nt:text-sm nt:font-medium nt:text-muted-foreground nt:select-none nt:group-data-[disabled=true]/input-group:opacity-50 nt:[&>kbd]:rounded-[calc(var(--radius)-5px)] nt:[&>svg:not([class*=size-])]:size-4',\n\t{\n\t\tvariants: {\n\t\t\talign: {\n\t\t\t\t'inline-start':\n\t\t\t\t\t'nt:order-first nt:pl-2 nt:has-[>button]:ml-[-0.3rem] nt:has-[>kbd]:ml-[-0.15rem]',\n\t\t\t\t'inline-end':\n\t\t\t\t\t'nt:order-last nt:pr-2 nt:has-[>button]:mr-[-0.3rem] nt:has-[>kbd]:mr-[-0.15rem]',\n\t\t\t\t'block-start':\n\t\t\t\t\t'nt:order-first nt:w-full nt:justify-start nt:px-2.5 nt:pt-2 nt:group-has-[>input]/input-group:pt-2 nt:[.border-b]:pb-2',\n\t\t\t\t'block-end':\n\t\t\t\t\t'nt:order-last nt:w-full nt:justify-start nt:px-2.5 nt:pb-2 nt:group-has-[>input]/input-group:pb-2 nt:[.border-t]:pt-2'\n\t\t\t}\n\t\t},\n\t\tdefaultVariants: {\n\t\t\talign: 'inline-start'\n\t\t}\n\t}\n);\n\nfunction InputGroupAddon({\n\tclassName,\n\talign = 'inline-start',\n\t...props\n}: React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(inputGroupAddonVariants({ align }), className)}\n\t\t\tdata-align={align}\n\t\t\tdata-slot=\"input-group-addon\"\n\t\t\trole=\"group\"\n\t\t\tonClick={(e) => {\n\t\t\t\tif ((e.target as HTMLElement).closest('button')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.currentTarget.parentElement?.querySelector('input')?.focus();\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst inputGroupButtonVariants = cva(\n\t'nt:flex nt:items-center nt:gap-2 nt:text-sm nt:shadow-none',\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: 'nt:h-6 nt:gap-1 nt:rounded-[calc(var(--radius)-3px)] nt:px-1.5 nt:[&>svg:not([class*=size-])]:size-3.5',\n\t\t\t\tsm: 'nt:',\n\t\t\t\t'icon-xs':\n\t\t\t\t\t'nt:size-6 nt:rounded-[calc(var(--radius)-3px)] nt:p-0 nt:has-[>svg]:p-0',\n\t\t\t\t'icon-sm': 'nt:size-8 nt:p-0 nt:has-[>svg]:p-0'\n\t\t\t}\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: 'xs'\n\t\t}\n\t}\n);\n\nfunction InputGroupButton({\n\tclassName,\n\ttype = 'button',\n\tvariant = 'ghost',\n\tsize = 'xs',\n\t...props\n}: Omit<React.ComponentProps<typeof Button>, 'size'> &\n\tVariantProps<typeof inputGroupButtonVariants>) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={cn(inputGroupButtonVariants({ size }), className)}\n\t\t\tdata-size={size}\n\t\t\ttype={type}\n\t\t\tvariant={variant}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<'span'>) {\n\treturn (\n\t\t<span\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex nt:items-center nt:gap-2 nt:text-sm nt:text-muted-foreground nt:[&_svg]:pointer-events-none nt:[&_svg:not([class*=size-])]:size-4',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupInput({\n\tclassName,\n\t...props\n}: React.ComponentProps<'input'>) {\n\treturn (\n\t\t<Input\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex-1 nt:rounded-none nt:border-0 nt:bg-transparent nt:shadow-none nt:ring-0 nt:focus-visible:ring-0 nt:disabled:bg-transparent nt:aria-invalid:ring-0 nt:dark:bg-transparent nt:dark:disabled:bg-transparent',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group-control\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupTextarea({\n\tclassName,\n\t...props\n}: React.ComponentProps<'textarea'>) {\n\treturn (\n\t\t<Textarea\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex-1 nt:resize-none nt:rounded-none nt:border-0 nt:bg-transparent nt:py-2 nt:shadow-none nt:ring-0 nt:focus-visible:ring-0 nt:disabled:bg-transparent nt:aria-invalid:ring-0 nt:dark:bg-transparent nt:dark:disabled:bg-transparent',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group-control\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tInputGroup,\n\tInputGroupAddon,\n\tInputGroupButton,\n\tInputGroupText,\n\tInputGroupInput,\n\tInputGroupTextarea\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sCAAuC;AAGvC,oBAAuB;AACvB,mBAAsB;AACtB,sBAAyB;AACzB,mBAAmB;AAIjB;AAFF,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAgC;AACzE,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACV,MAAK;AAAA,MACJ,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,IAAM,8BAA0B;AAAA,EAC/B;AAAA,EACA;AAAA,IACC,UAAU;AAAA,MACT,OAAO;AAAA,QACN,gBACC;AAAA,QACD,cACC;AAAA,QACD,eACC;AAAA,QACD,aACC;AAAA,MACF;AAAA,IACD;AAAA,IACA,iBAAiB;AAAA,MAChB,OAAO;AAAA,IACR;AAAA,EACD;AACD;AAEA,SAAS,gBAAgB;AAAA,EACxB;AAAA,EACA,QAAQ;AAAA,EACR,GAAG;AACJ,GAA+E;AAC9E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW,iBAAG,wBAAwB,EAAE,MAAM,CAAC,GAAG,SAAS;AAAA,MAC3D,cAAY;AAAA,MACZ,aAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAS,CAAC,MAAM;AACf,YAAK,EAAE,OAAuB,QAAQ,QAAQ,GAAG;AAChD;AAAA,QACD;AAEA,UAAE,cAAc,eAAe,cAAc,OAAO,GAAG,MAAM;AAAA,MAC9D;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,IAAM,+BAA2B;AAAA,EAChC;AAAA,EACA;AAAA,IACC,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WACC;AAAA,QACD,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IACP;AAAA,EACD;AACD;AAEA,SAAS,iBAAiB;AAAA,EACzB;AAAA,EACA,OAAO;AAAA,EACP,UAAU;AAAA,EACV,OAAO;AAAA,EACP,GAAG;AACJ,GACgD;AAC/C,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW,iBAAG,yBAAyB,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,MAC3D,aAAW;AAAA,MACX;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,eAAe,EAAE,WAAW,GAAG,MAAM,GAAiC;AAC9E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,gBAAgB;AAAA,EACxB;AAAA,EACA,GAAG;AACJ,GAAkC;AACjC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,mBAAmB;AAAA,EAC3B;AAAA,EACA,GAAG;AACJ,GAAqC;AACpC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;","names":[]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
// src/components/ui/input-group.tsx
|
|
3
4
|
import { cva } from "class-variance-authority";
|
|
4
|
-
import { Button } from "./button";
|
|
5
|
-
import { Input } from "./input";
|
|
6
|
-
import { Textarea } from "./textarea";
|
|
7
|
-
import { cn } from "../../lib/utils";
|
|
5
|
+
import { Button } from "./button.mjs";
|
|
6
|
+
import { Input } from "./input.mjs";
|
|
7
|
+
import { Textarea } from "./textarea.mjs";
|
|
8
|
+
import { cn } from "../../lib/utils.mjs";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
10
|
function InputGroup({ className, ...props }) {
|
|
9
11
|
return /* @__PURE__ */ jsx(
|
|
10
12
|
"div",
|
|
@@ -19,7 +21,7 @@ function InputGroup({ className, ...props }) {
|
|
|
19
21
|
}
|
|
20
22
|
);
|
|
21
23
|
}
|
|
22
|
-
|
|
24
|
+
var inputGroupAddonVariants = cva(
|
|
23
25
|
"nt:flex nt:h-auto nt:cursor-text nt:items-center nt:justify-center nt:gap-2 nt:py-1.5 nt:text-sm nt:font-medium nt:text-muted-foreground nt:select-none nt:group-data-[disabled=true]/input-group:opacity-50 nt:[&>kbd]:rounded-[calc(var(--radius)-5px)] nt:[&>svg:not([class*=size-])]:size-4",
|
|
24
26
|
{
|
|
25
27
|
variants: {
|
|
@@ -57,7 +59,7 @@ function InputGroupAddon({
|
|
|
57
59
|
}
|
|
58
60
|
);
|
|
59
61
|
}
|
|
60
|
-
|
|
62
|
+
var inputGroupButtonVariants = cva(
|
|
61
63
|
"nt:flex nt:items-center nt:gap-2 nt:text-sm nt:shadow-none",
|
|
62
64
|
{
|
|
63
65
|
variants: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/input-group.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Textarea } from './textarea';\nimport { cn } from '../../lib/utils';\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'nt:group/input-group nt:relative nt:flex nt:h-8 nt:w-full nt:min-w-0 nt:items-center nt:rounded-lg nt:border nt:border-input nt:transition-colors nt:outline-none nt:in-data-[slot=combobox-content]:focus-within:border-inherit nt:in-data-[slot=combobox-content]:focus-within:ring-0 nt:has-disabled:bg-input/50 nt:has-disabled:opacity-50 nt:has-[[data-slot=input-group-control]:focus-visible]:border-ring nt:has-[[data-slot=input-group-control]:focus-visible]:ring-3 nt:has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 nt:has-[[data-slot][aria-invalid=true]]:border-destructive nt:has-[[data-slot][aria-invalid=true]]:ring-3 nt:has-[[data-slot][aria-invalid=true]]:ring-destructive/20 nt:has-[>[data-align=block-end]]:h-auto nt:has-[>[data-align=block-end]]:flex-col nt:has-[>[data-align=block-start]]:h-auto nt:has-[>[data-align=block-start]]:flex-col nt:has-[>textarea]:h-auto nt:dark:bg-input/30 nt:dark:has-disabled:bg-input/80 nt:dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 nt:has-[>[data-align=block-end]]:[&>input]:pt-3 nt:has-[>[data-align=block-start]]:[&>input]:pb-3 nt:has-[>[data-align=inline-end]]:[&>input]:pr-1.5 nt:has-[>[data-align=inline-start]]:[&>input]:pl-1.5',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group\"\n\t\t\trole=\"group\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst inputGroupAddonVariants = cva(\n\t'nt:flex nt:h-auto nt:cursor-text nt:items-center nt:justify-center nt:gap-2 nt:py-1.5 nt:text-sm nt:font-medium nt:text-muted-foreground nt:select-none nt:group-data-[disabled=true]/input-group:opacity-50 nt:[&>kbd]:rounded-[calc(var(--radius)-5px)] nt:[&>svg:not([class*=size-])]:size-4',\n\t{\n\t\tvariants: {\n\t\t\talign: {\n\t\t\t\t'inline-start':\n\t\t\t\t\t'nt:order-first nt:pl-2 nt:has-[>button]:ml-[-0.3rem] nt:has-[>kbd]:ml-[-0.15rem]',\n\t\t\t\t'inline-end':\n\t\t\t\t\t'nt:order-last nt:pr-2 nt:has-[>button]:mr-[-0.3rem] nt:has-[>kbd]:mr-[-0.15rem]',\n\t\t\t\t'block-start':\n\t\t\t\t\t'nt:order-first nt:w-full nt:justify-start nt:px-2.5 nt:pt-2 nt:group-has-[>input]/input-group:pt-2 nt:[.border-b]:pb-2',\n\t\t\t\t'block-end':\n\t\t\t\t\t'nt:order-last nt:w-full nt:justify-start nt:px-2.5 nt:pb-2 nt:group-has-[>input]/input-group:pb-2 nt:[.border-t]:pt-2'\n\t\t\t}\n\t\t},\n\t\tdefaultVariants: {\n\t\t\talign: 'inline-start'\n\t\t}\n\t}\n);\n\nfunction InputGroupAddon({\n\tclassName,\n\talign = 'inline-start',\n\t...props\n}: React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(inputGroupAddonVariants({ align }), className)}\n\t\t\tdata-align={align}\n\t\t\tdata-slot=\"input-group-addon\"\n\t\t\trole=\"group\"\n\t\t\tonClick={(e) => {\n\t\t\t\tif ((e.target as HTMLElement).closest('button')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.currentTarget.parentElement?.querySelector('input')?.focus();\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst inputGroupButtonVariants = cva(\n\t'nt:flex nt:items-center nt:gap-2 nt:text-sm nt:shadow-none',\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: 'nt:h-6 nt:gap-1 nt:rounded-[calc(var(--radius)-3px)] nt:px-1.5 nt:[&>svg:not([class*=size-])]:size-3.5',\n\t\t\t\tsm: 'nt:',\n\t\t\t\t'icon-xs':\n\t\t\t\t\t'nt:size-6 nt:rounded-[calc(var(--radius)-3px)] nt:p-0 nt:has-[>svg]:p-0',\n\t\t\t\t'icon-sm': 'nt:size-8 nt:p-0 nt:has-[>svg]:p-0'\n\t\t\t}\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: 'xs'\n\t\t}\n\t}\n);\n\nfunction InputGroupButton({\n\tclassName,\n\ttype = 'button',\n\tvariant = 'ghost',\n\tsize = 'xs',\n\t...props\n}: Omit<React.ComponentProps<typeof Button>, 'size'> &\n\tVariantProps<typeof inputGroupButtonVariants>) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={cn(inputGroupButtonVariants({ size }), className)}\n\t\t\tdata-size={size}\n\t\t\ttype={type}\n\t\t\tvariant={variant}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<'span'>) {\n\treturn (\n\t\t<span\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex nt:items-center nt:gap-2 nt:text-sm nt:text-muted-foreground nt:[&_svg]:pointer-events-none nt:[&_svg:not([class*=size-])]:size-4',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupInput({\n\tclassName,\n\t...props\n}: React.ComponentProps<'input'>) {\n\treturn (\n\t\t<Input\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex-1 nt:rounded-none nt:border-0 nt:bg-transparent nt:shadow-none nt:ring-0 nt:focus-visible:ring-0 nt:disabled:bg-transparent nt:aria-invalid:ring-0 nt:dark:bg-transparent nt:dark:disabled:bg-transparent',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group-control\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupTextarea({\n\tclassName,\n\t...props\n}: React.ComponentProps<'textarea'>) {\n\treturn (\n\t\t<Textarea\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex-1 nt:resize-none nt:rounded-none nt:border-0 nt:bg-transparent nt:py-2 nt:shadow-none nt:ring-0 nt:focus-visible:ring-0 nt:disabled:bg-transparent nt:aria-invalid:ring-0 nt:dark:bg-transparent nt:dark:disabled:bg-transparent',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group-control\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tInputGroup,\n\tInputGroupAddon,\n\tInputGroupButton,\n\tInputGroupText,\n\tInputGroupInput,\n\tInputGroupTextarea\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/input-group.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { Button } from './button.js';\nimport { Input } from './input.js';\nimport { Textarea } from './textarea.js';\nimport { cn } from '../../lib/utils.js';\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'nt:group/input-group nt:relative nt:flex nt:h-8 nt:w-full nt:min-w-0 nt:items-center nt:rounded-lg nt:border nt:border-input nt:transition-colors nt:outline-none nt:in-data-[slot=combobox-content]:focus-within:border-inherit nt:in-data-[slot=combobox-content]:focus-within:ring-0 nt:has-disabled:bg-input/50 nt:has-disabled:opacity-50 nt:has-[[data-slot=input-group-control]:focus-visible]:border-ring nt:has-[[data-slot=input-group-control]:focus-visible]:ring-3 nt:has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 nt:has-[[data-slot][aria-invalid=true]]:border-destructive nt:has-[[data-slot][aria-invalid=true]]:ring-3 nt:has-[[data-slot][aria-invalid=true]]:ring-destructive/20 nt:has-[>[data-align=block-end]]:h-auto nt:has-[>[data-align=block-end]]:flex-col nt:has-[>[data-align=block-start]]:h-auto nt:has-[>[data-align=block-start]]:flex-col nt:has-[>textarea]:h-auto nt:dark:bg-input/30 nt:dark:has-disabled:bg-input/80 nt:dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 nt:has-[>[data-align=block-end]]:[&>input]:pt-3 nt:has-[>[data-align=block-start]]:[&>input]:pb-3 nt:has-[>[data-align=inline-end]]:[&>input]:pr-1.5 nt:has-[>[data-align=inline-start]]:[&>input]:pl-1.5',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group\"\n\t\t\trole=\"group\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst inputGroupAddonVariants = cva(\n\t'nt:flex nt:h-auto nt:cursor-text nt:items-center nt:justify-center nt:gap-2 nt:py-1.5 nt:text-sm nt:font-medium nt:text-muted-foreground nt:select-none nt:group-data-[disabled=true]/input-group:opacity-50 nt:[&>kbd]:rounded-[calc(var(--radius)-5px)] nt:[&>svg:not([class*=size-])]:size-4',\n\t{\n\t\tvariants: {\n\t\t\talign: {\n\t\t\t\t'inline-start':\n\t\t\t\t\t'nt:order-first nt:pl-2 nt:has-[>button]:ml-[-0.3rem] nt:has-[>kbd]:ml-[-0.15rem]',\n\t\t\t\t'inline-end':\n\t\t\t\t\t'nt:order-last nt:pr-2 nt:has-[>button]:mr-[-0.3rem] nt:has-[>kbd]:mr-[-0.15rem]',\n\t\t\t\t'block-start':\n\t\t\t\t\t'nt:order-first nt:w-full nt:justify-start nt:px-2.5 nt:pt-2 nt:group-has-[>input]/input-group:pt-2 nt:[.border-b]:pb-2',\n\t\t\t\t'block-end':\n\t\t\t\t\t'nt:order-last nt:w-full nt:justify-start nt:px-2.5 nt:pb-2 nt:group-has-[>input]/input-group:pb-2 nt:[.border-t]:pt-2'\n\t\t\t}\n\t\t},\n\t\tdefaultVariants: {\n\t\t\talign: 'inline-start'\n\t\t}\n\t}\n);\n\nfunction InputGroupAddon({\n\tclassName,\n\talign = 'inline-start',\n\t...props\n}: React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(inputGroupAddonVariants({ align }), className)}\n\t\t\tdata-align={align}\n\t\t\tdata-slot=\"input-group-addon\"\n\t\t\trole=\"group\"\n\t\t\tonClick={(e) => {\n\t\t\t\tif ((e.target as HTMLElement).closest('button')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\te.currentTarget.parentElement?.querySelector('input')?.focus();\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst inputGroupButtonVariants = cva(\n\t'nt:flex nt:items-center nt:gap-2 nt:text-sm nt:shadow-none',\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: 'nt:h-6 nt:gap-1 nt:rounded-[calc(var(--radius)-3px)] nt:px-1.5 nt:[&>svg:not([class*=size-])]:size-3.5',\n\t\t\t\tsm: 'nt:',\n\t\t\t\t'icon-xs':\n\t\t\t\t\t'nt:size-6 nt:rounded-[calc(var(--radius)-3px)] nt:p-0 nt:has-[>svg]:p-0',\n\t\t\t\t'icon-sm': 'nt:size-8 nt:p-0 nt:has-[>svg]:p-0'\n\t\t\t}\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: 'xs'\n\t\t}\n\t}\n);\n\nfunction InputGroupButton({\n\tclassName,\n\ttype = 'button',\n\tvariant = 'ghost',\n\tsize = 'xs',\n\t...props\n}: Omit<React.ComponentProps<typeof Button>, 'size'> &\n\tVariantProps<typeof inputGroupButtonVariants>) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={cn(inputGroupButtonVariants({ size }), className)}\n\t\t\tdata-size={size}\n\t\t\ttype={type}\n\t\t\tvariant={variant}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<'span'>) {\n\treturn (\n\t\t<span\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex nt:items-center nt:gap-2 nt:text-sm nt:text-muted-foreground nt:[&_svg]:pointer-events-none nt:[&_svg:not([class*=size-])]:size-4',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupInput({\n\tclassName,\n\t...props\n}: React.ComponentProps<'input'>) {\n\treturn (\n\t\t<Input\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex-1 nt:rounded-none nt:border-0 nt:bg-transparent nt:shadow-none nt:ring-0 nt:focus-visible:ring-0 nt:disabled:bg-transparent nt:aria-invalid:ring-0 nt:dark:bg-transparent nt:dark:disabled:bg-transparent',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group-control\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupTextarea({\n\tclassName,\n\t...props\n}: React.ComponentProps<'textarea'>) {\n\treturn (\n\t\t<Textarea\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex-1 nt:resize-none nt:rounded-none nt:border-0 nt:bg-transparent nt:py-2 nt:shadow-none nt:ring-0 nt:focus-visible:ring-0 nt:disabled:bg-transparent nt:aria-invalid:ring-0 nt:dark:bg-transparent nt:dark:disabled:bg-transparent',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input-group-control\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tInputGroup,\n\tInputGroupAddon,\n\tInputGroupButton,\n\tInputGroupText,\n\tInputGroupInput,\n\tInputGroupTextarea\n};\n"],"mappings":";;;AAEA,SAAS,WAA8B;AAGvC,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,gBAAgB;AACzB,SAAS,UAAU;AAIjB;AAFF,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAgC;AACzE,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACV,MAAK;AAAA,MACJ,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,IAAM,0BAA0B;AAAA,EAC/B;AAAA,EACA;AAAA,IACC,UAAU;AAAA,MACT,OAAO;AAAA,QACN,gBACC;AAAA,QACD,cACC;AAAA,QACD,eACC;AAAA,QACD,aACC;AAAA,MACF;AAAA,IACD;AAAA,IACA,iBAAiB;AAAA,MAChB,OAAO;AAAA,IACR;AAAA,EACD;AACD;AAEA,SAAS,gBAAgB;AAAA,EACxB;AAAA,EACA,QAAQ;AAAA,EACR,GAAG;AACJ,GAA+E;AAC9E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW,GAAG,wBAAwB,EAAE,MAAM,CAAC,GAAG,SAAS;AAAA,MAC3D,cAAY;AAAA,MACZ,aAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAS,CAAC,MAAM;AACf,YAAK,EAAE,OAAuB,QAAQ,QAAQ,GAAG;AAChD;AAAA,QACD;AAEA,UAAE,cAAc,eAAe,cAAc,OAAO,GAAG,MAAM;AAAA,MAC9D;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,IAAM,2BAA2B;AAAA,EAChC;AAAA,EACA;AAAA,IACC,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WACC;AAAA,QACD,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IACP;AAAA,EACD;AACD;AAEA,SAAS,iBAAiB;AAAA,EACzB;AAAA,EACA,OAAO;AAAA,EACP,UAAU;AAAA,EACV,OAAO;AAAA,EACP,GAAG;AACJ,GACgD;AAC/C,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW,GAAG,yBAAyB,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,MAC3D,aAAW;AAAA,MACX;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,eAAe,EAAE,WAAW,GAAG,MAAM,GAAiC;AAC9E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,gBAAgB;AAAA,EACxB;AAAA,EACA,GAAG;AACJ,GAAkC;AACjC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,mBAAmB;AAAA,EAC3B;AAAA,EACA,GAAG;AACJ,GAAqC;AACpC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;","names":[]}
|
|
@@ -16,13 +16,15 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/ui/input.tsx
|
|
19
21
|
var input_exports = {};
|
|
20
22
|
__export(input_exports, {
|
|
21
23
|
Input: () => Input
|
|
22
24
|
});
|
|
23
25
|
module.exports = __toCommonJS(input_exports);
|
|
26
|
+
var import_utils = require("../../lib/utils.cjs");
|
|
24
27
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
-
var import_utils = require("../../lib/utils");
|
|
26
28
|
function Input({ className, type, ...props }) {
|
|
27
29
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28
30
|
"input",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/input.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '../../lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n\treturn (\n\t\t<input\n\t\t\tclassName={cn(\n\t\t\t\t'nt:h-8 nt:w-full nt:min-w-0 nt:rounded-lg nt:border nt:border-input nt:bg-transparent nt:px-2.5 nt:py-1 nt:text-base nt:transition-colors nt:outline-none nt:file:inline-flex nt:file:h-6 nt:file:border-0 nt:file:bg-transparent nt:file:text-sm nt:file:font-medium nt:file:text-foreground nt:placeholder:text-muted-foreground nt:focus-visible:border-ring nt:focus-visible:ring-3 nt:focus-visible:ring-ring/50 nt:disabled:pointer-events-none nt:disabled:cursor-not-allowed nt:disabled:bg-input/50 nt:disabled:opacity-50 nt:aria-invalid:border-destructive nt:aria-invalid:ring-3 nt:aria-invalid:ring-destructive/20 nt:md:text-sm nt:dark:bg-input/30 nt:dark:disabled:bg-input/80 nt:dark:aria-invalid:border-destructive/50 nt:dark:aria-invalid:ring-destructive/40',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input\"\n\t\t\ttype={type}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Input };\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/input.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '../../lib/utils.js';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n\treturn (\n\t\t<input\n\t\t\tclassName={cn(\n\t\t\t\t'nt:h-8 nt:w-full nt:min-w-0 nt:rounded-lg nt:border nt:border-input nt:bg-transparent nt:px-2.5 nt:py-1 nt:text-base nt:transition-colors nt:outline-none nt:file:inline-flex nt:file:h-6 nt:file:border-0 nt:file:bg-transparent nt:file:text-sm nt:file:font-medium nt:file:text-foreground nt:placeholder:text-muted-foreground nt:focus-visible:border-ring nt:focus-visible:ring-3 nt:focus-visible:ring-ring/50 nt:disabled:pointer-events-none nt:disabled:cursor-not-allowed nt:disabled:bg-input/50 nt:disabled:opacity-50 nt:aria-invalid:border-destructive nt:aria-invalid:ring-3 nt:aria-invalid:ring-destructive/20 nt:md:text-sm nt:dark:bg-input/30 nt:dark:disabled:bg-input/80 nt:dark:aria-invalid:border-destructive/50 nt:dark:aria-invalid:ring-destructive/40',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input\"\n\t\t\ttype={type}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Input };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAmB;AAIjB;AAFF,SAAS,MAAM,EAAE,WAAW,MAAM,GAAG,MAAM,GAAkC;AAC5E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACV;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/input.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '../../lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n\treturn (\n\t\t<input\n\t\t\tclassName={cn(\n\t\t\t\t'nt:h-8 nt:w-full nt:min-w-0 nt:rounded-lg nt:border nt:border-input nt:bg-transparent nt:px-2.5 nt:py-1 nt:text-base nt:transition-colors nt:outline-none nt:file:inline-flex nt:file:h-6 nt:file:border-0 nt:file:bg-transparent nt:file:text-sm nt:file:font-medium nt:file:text-foreground nt:placeholder:text-muted-foreground nt:focus-visible:border-ring nt:focus-visible:ring-3 nt:focus-visible:ring-ring/50 nt:disabled:pointer-events-none nt:disabled:cursor-not-allowed nt:disabled:bg-input/50 nt:disabled:opacity-50 nt:aria-invalid:border-destructive nt:aria-invalid:ring-3 nt:aria-invalid:ring-destructive/20 nt:md:text-sm nt:dark:bg-input/30 nt:dark:disabled:bg-input/80 nt:dark:aria-invalid:border-destructive/50 nt:dark:aria-invalid:ring-destructive/40',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input\"\n\t\t\ttype={type}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Input };\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/input.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '../../lib/utils.js';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n\treturn (\n\t\t<input\n\t\t\tclassName={cn(\n\t\t\t\t'nt:h-8 nt:w-full nt:min-w-0 nt:rounded-lg nt:border nt:border-input nt:bg-transparent nt:px-2.5 nt:py-1 nt:text-base nt:transition-colors nt:outline-none nt:file:inline-flex nt:file:h-6 nt:file:border-0 nt:file:bg-transparent nt:file:text-sm nt:file:font-medium nt:file:text-foreground nt:placeholder:text-muted-foreground nt:focus-visible:border-ring nt:focus-visible:ring-3 nt:focus-visible:ring-ring/50 nt:disabled:pointer-events-none nt:disabled:cursor-not-allowed nt:disabled:bg-input/50 nt:disabled:opacity-50 nt:aria-invalid:border-destructive nt:aria-invalid:ring-3 nt:aria-invalid:ring-destructive/20 nt:md:text-sm nt:dark:bg-input/30 nt:dark:disabled:bg-input/80 nt:dark:aria-invalid:border-destructive/50 nt:dark:aria-invalid:ring-destructive/40',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"input\"\n\t\t\ttype={type}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Input };\n"],"mappings":";AAEA,SAAS,UAAU;AAIjB;AAFF,SAAS,MAAM,EAAE,WAAW,MAAM,GAAG,MAAM,GAAkC;AAC5E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACV;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;","names":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
"use client";
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -17,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
16
|
return to;
|
|
18
17
|
};
|
|
19
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/ui/popover.tsx
|
|
20
21
|
var popover_exports = {};
|
|
21
22
|
__export(popover_exports, {
|
|
22
23
|
Popover: () => Popover,
|
|
@@ -28,9 +29,9 @@ __export(popover_exports, {
|
|
|
28
29
|
PopoverTrigger: () => PopoverTrigger
|
|
29
30
|
});
|
|
30
31
|
module.exports = __toCommonJS(popover_exports);
|
|
31
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
32
|
var import_radix_ui = require("radix-ui");
|
|
33
|
-
var import_utils = require("../../lib/utils");
|
|
33
|
+
var import_utils = require("../../lib/utils.cjs");
|
|
34
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
34
35
|
function Popover({
|
|
35
36
|
...props
|
|
36
37
|
}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/popover.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/popover.tsx"],"sourcesContent":["import { Popover as PopoverPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../../lib/utils.js';\n\nfunction Popover({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n\treturn <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n\treturn <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n\tclassName,\n\talign = 'center',\n\tsideOffset = 4,\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n\treturn (\n\t\t<PopoverPrimitive.Portal>\n\t\t\t<PopoverPrimitive.Content\n\t\t\t\talign={align}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'nt:z-50 nt:flex nt:w-72 nt:origin-(--radix-popover-content-transform-origin) nt:flex-col nt:gap-2.5 nt:rounded-lg nt:bg-popover nt:p-2.5 nt:text-sm nt:text-popover-foreground nt:shadow-md nt:ring-1 nt:ring-foreground/10 nt:outline-hidden nt:duration-100 nt:data-[side=bottom]:slide-in-from-top-2 nt:data-[side=left]:slide-in-from-right-2 nt:data-[side=right]:slide-in-from-left-2 nt:data-[side=top]:slide-in-from-bottom-2 nt:data-open:animate-in nt:data-open:fade-in-0 nt:data-open:zoom-in-95 nt:data-closed:animate-out nt:data-closed:fade-out-0 nt:data-closed:zoom-out-95',\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tdata-slot=\"popover-content\"\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</PopoverPrimitive.Portal>\n\t);\n}\n\nfunction PopoverAnchor({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n\treturn <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('nt:flex nt:flex-col nt:gap-0.5 nt:text-sm', className)}\n\t\t\tdata-slot=\"popover-header\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction PopoverTitle({ className, ...props }: React.ComponentProps<'h2'>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('nt:font-medium', className)}\n\t\t\tdata-slot=\"popover-title\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction PopoverDescription({\n\tclassName,\n\t...props\n}: React.ComponentProps<'p'>) {\n\treturn (\n\t\t<p\n\t\t\tclassName={cn('nt:text-muted-foreground', className)}\n\t\t\tdata-slot=\"popover-description\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tPopover,\n\tPopoverAnchor,\n\tPopoverContent,\n\tPopoverDescription,\n\tPopoverHeader,\n\tPopoverTitle,\n\tPopoverTrigger\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA4C;AAG5C,mBAAmB;AAKX;AAHR,SAAS,QAAQ;AAAA,EAChB,GAAG;AACJ,GAAuD;AACtD,SAAO,4CAAC,gBAAAA,QAAiB,MAAjB,EAAsB,aAAU,WAAW,GAAG,OAAO;AAC9D;AAEA,SAAS,eAAe;AAAA,EACvB,GAAG;AACJ,GAA0D;AACzD,SAAO,4CAAC,gBAAAA,QAAiB,SAAjB,EAAyB,aAAU,mBAAmB,GAAG,OAAO;AACzE;AAEA,SAAS,eAAe;AAAA,EACvB;AAAA,EACA,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,GAAG;AACJ,GAA0D;AACzD,SACC,4CAAC,gBAAAA,QAAiB,QAAjB,EACA;AAAA,IAAC,gBAAAA,QAAiB;AAAA,IAAjB;AAAA,MACA;AAAA,MACA,eAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACV;AAAA,MACC,GAAG;AAAA;AAAA,EACL,GACD;AAEF;AAEA,SAAS,cAAc;AAAA,EACtB,GAAG;AACJ,GAAyD;AACxD,SAAO,4CAAC,gBAAAA,QAAiB,QAAjB,EAAwB,aAAU,kBAAkB,GAAG,OAAO;AACvE;AAEA,SAAS,cAAc,EAAE,WAAW,GAAG,MAAM,GAAgC;AAC5E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW,iBAAG,6CAA6C,SAAS;AAAA,MACpE,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,MAAM,GAA+B;AAC1E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW,iBAAG,kBAAkB,SAAS;AAAA,MACzC,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,mBAAmB;AAAA,EAC3B;AAAA,EACA,GAAG;AACJ,GAA8B;AAC7B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW,iBAAG,4BAA4B,SAAS;AAAA,MACnD,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;","names":["PopoverPrimitive"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
1
|
+
// src/components/ui/popover.tsx
|
|
3
2
|
import { Popover as PopoverPrimitive } from "radix-ui";
|
|
4
|
-
import { cn } from "../../lib/utils";
|
|
3
|
+
import { cn } from "../../lib/utils.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
function Popover({
|
|
6
6
|
...props
|
|
7
7
|
}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/popover.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/popover.tsx"],"sourcesContent":["import { Popover as PopoverPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../../lib/utils.js';\n\nfunction Popover({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n\treturn <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n\treturn <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n\tclassName,\n\talign = 'center',\n\tsideOffset = 4,\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n\treturn (\n\t\t<PopoverPrimitive.Portal>\n\t\t\t<PopoverPrimitive.Content\n\t\t\t\talign={align}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'nt:z-50 nt:flex nt:w-72 nt:origin-(--radix-popover-content-transform-origin) nt:flex-col nt:gap-2.5 nt:rounded-lg nt:bg-popover nt:p-2.5 nt:text-sm nt:text-popover-foreground nt:shadow-md nt:ring-1 nt:ring-foreground/10 nt:outline-hidden nt:duration-100 nt:data-[side=bottom]:slide-in-from-top-2 nt:data-[side=left]:slide-in-from-right-2 nt:data-[side=right]:slide-in-from-left-2 nt:data-[side=top]:slide-in-from-bottom-2 nt:data-open:animate-in nt:data-open:fade-in-0 nt:data-open:zoom-in-95 nt:data-closed:animate-out nt:data-closed:fade-out-0 nt:data-closed:zoom-out-95',\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tdata-slot=\"popover-content\"\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</PopoverPrimitive.Portal>\n\t);\n}\n\nfunction PopoverAnchor({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n\treturn <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('nt:flex nt:flex-col nt:gap-0.5 nt:text-sm', className)}\n\t\t\tdata-slot=\"popover-header\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction PopoverTitle({ className, ...props }: React.ComponentProps<'h2'>) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('nt:font-medium', className)}\n\t\t\tdata-slot=\"popover-title\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction PopoverDescription({\n\tclassName,\n\t...props\n}: React.ComponentProps<'p'>) {\n\treturn (\n\t\t<p\n\t\t\tclassName={cn('nt:text-muted-foreground', className)}\n\t\t\tdata-slot=\"popover-description\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tPopover,\n\tPopoverAnchor,\n\tPopoverContent,\n\tPopoverDescription,\n\tPopoverHeader,\n\tPopoverTitle,\n\tPopoverTrigger\n};\n"],"mappings":";AAAA,SAAS,WAAW,wBAAwB;AAG5C,SAAS,UAAU;AAKX;AAHR,SAAS,QAAQ;AAAA,EAChB,GAAG;AACJ,GAAuD;AACtD,SAAO,oBAAC,iBAAiB,MAAjB,EAAsB,aAAU,WAAW,GAAG,OAAO;AAC9D;AAEA,SAAS,eAAe;AAAA,EACvB,GAAG;AACJ,GAA0D;AACzD,SAAO,oBAAC,iBAAiB,SAAjB,EAAyB,aAAU,mBAAmB,GAAG,OAAO;AACzE;AAEA,SAAS,eAAe;AAAA,EACvB;AAAA,EACA,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,GAAG;AACJ,GAA0D;AACzD,SACC,oBAAC,iBAAiB,QAAjB,EACA;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACV;AAAA,MACC,GAAG;AAAA;AAAA,EACL,GACD;AAEF;AAEA,SAAS,cAAc;AAAA,EACtB,GAAG;AACJ,GAAyD;AACxD,SAAO,oBAAC,iBAAiB,QAAjB,EAAwB,aAAU,kBAAkB,GAAG,OAAO;AACvE;AAEA,SAAS,cAAc,EAAE,WAAW,GAAG,MAAM,GAAgC;AAC5E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW,GAAG,6CAA6C,SAAS;AAAA,MACpE,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,MAAM,GAA+B;AAC1E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW,GAAG,kBAAkB,SAAS;AAAA,MACzC,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,mBAAmB;AAAA,EAC3B;AAAA,EACA,GAAG;AACJ,GAA8B;AAC7B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW,GAAG,4BAA4B,SAAS;AAAA,MACnD,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;","names":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
"use client";
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -17,14 +16,16 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
16
|
return to;
|
|
18
17
|
};
|
|
19
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/ui/separator.tsx
|
|
20
21
|
var separator_exports = {};
|
|
21
22
|
__export(separator_exports, {
|
|
22
23
|
Separator: () => Separator
|
|
23
24
|
});
|
|
24
25
|
module.exports = __toCommonJS(separator_exports);
|
|
25
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
26
26
|
var import_radix_ui = require("radix-ui");
|
|
27
|
-
var import_utils = require("../../lib/utils");
|
|
27
|
+
var import_utils = require("../../lib/utils.cjs");
|
|
28
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
29
|
function Separator({
|
|
29
30
|
className,
|
|
30
31
|
orientation = "horizontal",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/separator.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/separator.tsx"],"sourcesContent":["import { Separator as SeparatorPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../../lib/utils.js';\n\nfunction Separator({\n\tclassName,\n\torientation = 'horizontal',\n\tdecorative = true,\n\t...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n\treturn (\n\t\t<SeparatorPrimitive.Root\n\t\t\tclassName={cn(\n\t\t\t\t'nt:shrink-0 nt:bg-border nt:data-horizontal:h-px nt:data-horizontal:w-full nt:data-vertical:w-px nt:data-vertical:self-stretch',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"separator\"\n\t\t\tdecorative={decorative}\n\t\t\torientation={orientation}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Separator };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAgD;AAGhD,mBAAmB;AASjB;AAPF,SAAS,UAAU;AAAA,EAClB;AAAA,EACA,cAAc;AAAA,EACd,aAAa;AAAA,EACb,GAAG;AACJ,GAAyD;AACxD,SACC;AAAA,IAAC,gBAAAA,UAAmB;AAAA,IAAnB;AAAA,MACA,eAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACV;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;","names":["SeparatorPrimitive"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
1
|
+
// src/components/ui/separator.tsx
|
|
3
2
|
import { Separator as SeparatorPrimitive } from "radix-ui";
|
|
4
|
-
import { cn } from "../../lib/utils";
|
|
3
|
+
import { cn } from "../../lib/utils.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
function Separator({
|
|
6
6
|
className,
|
|
7
7
|
orientation = "horizontal",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/separator.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/separator.tsx"],"sourcesContent":["import { Separator as SeparatorPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../../lib/utils.js';\n\nfunction Separator({\n\tclassName,\n\torientation = 'horizontal',\n\tdecorative = true,\n\t...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n\treturn (\n\t\t<SeparatorPrimitive.Root\n\t\t\tclassName={cn(\n\t\t\t\t'nt:shrink-0 nt:bg-border nt:data-horizontal:h-px nt:data-horizontal:w-full nt:data-vertical:w-px nt:data-vertical:self-stretch',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"separator\"\n\t\t\tdecorative={decorative}\n\t\t\torientation={orientation}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Separator };\n"],"mappings":";AAAA,SAAS,aAAa,0BAA0B;AAGhD,SAAS,UAAU;AASjB;AAPF,SAAS,UAAU;AAAA,EAClB;AAAA,EACA,cAAc;AAAA,EACd,aAAa;AAAA,EACb,GAAG;AACJ,GAAyD;AACxD,SACC;AAAA,IAAC,mBAAmB;AAAA,IAAnB;AAAA,MACA,WAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACV;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;","names":[]}
|
|
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/ui/spacer.tsx
|
|
19
21
|
var spacer_exports = {};
|
|
20
22
|
__export(spacer_exports, {
|
|
21
23
|
Spacer: () => Spacer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/spacer.tsx"],"sourcesContent":["export function Spacer() {\n\treturn <div style={{ flex: 1 }} />;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/spacer.tsx"],"sourcesContent":["export function Spacer() {\n\treturn <div style={{ flex: 1 }} />;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACQ;AADD,SAAS,SAAS;AACxB,SAAO,4CAAC,SAAI,OAAO,EAAE,MAAM,EAAE,GAAG;AACjC;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/spacer.tsx"],"sourcesContent":["export function Spacer() {\n\treturn <div style={{ flex: 1 }} />;\n}\n"],"mappings":"AACQ;AADD,SAAS,SAAS;AACxB,SAAO,oBAAC,SAAI,OAAO,EAAE,MAAM,EAAE,GAAG;AACjC;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/spacer.tsx"],"sourcesContent":["export function Spacer() {\n\treturn <div style={{ flex: 1 }} />;\n}\n"],"mappings":";AACQ;AADD,SAAS,SAAS;AACxB,SAAO,oBAAC,SAAI,OAAO,EAAE,MAAM,EAAE,GAAG;AACjC;","names":[]}
|
|
@@ -16,13 +16,15 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/ui/textarea.tsx
|
|
19
21
|
var textarea_exports = {};
|
|
20
22
|
__export(textarea_exports, {
|
|
21
23
|
Textarea: () => Textarea
|
|
22
24
|
});
|
|
23
25
|
module.exports = __toCommonJS(textarea_exports);
|
|
26
|
+
var import_utils = require("../../lib/utils.cjs");
|
|
24
27
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
-
var import_utils = require("../../lib/utils");
|
|
26
28
|
function Textarea({ className, ...props }) {
|
|
27
29
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
28
30
|
"textarea",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/textarea.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '../../lib/utils';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n\treturn (\n\t\t<textarea\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex nt:field-sizing-content nt:min-h-16 nt:w-full nt:rounded-lg nt:border nt:border-input nt:bg-transparent nt:px-2.5 nt:py-2 nt:text-base nt:transition-colors nt:outline-none nt:placeholder:text-muted-foreground nt:focus-visible:border-ring nt:focus-visible:ring-3 nt:focus-visible:ring-ring/50 nt:disabled:cursor-not-allowed nt:disabled:bg-input/50 nt:disabled:opacity-50 nt:aria-invalid:border-destructive nt:aria-invalid:ring-3 nt:aria-invalid:ring-destructive/20 nt:md:text-sm nt:dark:bg-input/30 nt:dark:disabled:bg-input/80 nt:dark:aria-invalid:border-destructive/50 nt:dark:aria-invalid:ring-destructive/40',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"textarea\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Textarea };\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/textarea.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '../../lib/utils.js';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n\treturn (\n\t\t<textarea\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex nt:field-sizing-content nt:min-h-16 nt:w-full nt:rounded-lg nt:border nt:border-input nt:bg-transparent nt:px-2.5 nt:py-2 nt:text-base nt:transition-colors nt:outline-none nt:placeholder:text-muted-foreground nt:focus-visible:border-ring nt:focus-visible:ring-3 nt:focus-visible:ring-ring/50 nt:disabled:cursor-not-allowed nt:disabled:bg-input/50 nt:disabled:opacity-50 nt:aria-invalid:border-destructive nt:aria-invalid:ring-3 nt:aria-invalid:ring-destructive/20 nt:md:text-sm nt:dark:bg-input/30 nt:dark:disabled:bg-input/80 nt:dark:aria-invalid:border-destructive/50 nt:dark:aria-invalid:ring-destructive/40',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"textarea\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Textarea };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAmB;AAIjB;AAFF,SAAS,SAAS,EAAE,WAAW,GAAG,MAAM,GAAqC;AAC5E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ui/textarea.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '../../lib/utils';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n\treturn (\n\t\t<textarea\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex nt:field-sizing-content nt:min-h-16 nt:w-full nt:rounded-lg nt:border nt:border-input nt:bg-transparent nt:px-2.5 nt:py-2 nt:text-base nt:transition-colors nt:outline-none nt:placeholder:text-muted-foreground nt:focus-visible:border-ring nt:focus-visible:ring-3 nt:focus-visible:ring-ring/50 nt:disabled:cursor-not-allowed nt:disabled:bg-input/50 nt:disabled:opacity-50 nt:aria-invalid:border-destructive nt:aria-invalid:ring-3 nt:aria-invalid:ring-destructive/20 nt:md:text-sm nt:dark:bg-input/30 nt:dark:disabled:bg-input/80 nt:dark:aria-invalid:border-destructive/50 nt:dark:aria-invalid:ring-destructive/40',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"textarea\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Textarea };\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/textarea.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '../../lib/utils.js';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n\treturn (\n\t\t<textarea\n\t\t\tclassName={cn(\n\t\t\t\t'nt:flex nt:field-sizing-content nt:min-h-16 nt:w-full nt:rounded-lg nt:border nt:border-input nt:bg-transparent nt:px-2.5 nt:py-2 nt:text-base nt:transition-colors nt:outline-none nt:placeholder:text-muted-foreground nt:focus-visible:border-ring nt:focus-visible:ring-3 nt:focus-visible:ring-ring/50 nt:disabled:cursor-not-allowed nt:disabled:bg-input/50 nt:disabled:opacity-50 nt:aria-invalid:border-destructive nt:aria-invalid:ring-3 nt:aria-invalid:ring-destructive/20 nt:md:text-sm nt:dark:bg-input/30 nt:dark:disabled:bg-input/80 nt:dark:aria-invalid:border-destructive/50 nt:dark:aria-invalid:ring-destructive/40',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tdata-slot=\"textarea\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Textarea };\n"],"mappings":";AAEA,SAAS,UAAU;AAIjB;AAFF,SAAS,SAAS,EAAE,WAAW,GAAG,MAAM,GAAqC;AAC5E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACA,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACL;AAEF;","names":[]}
|
|
@@ -17,16 +17,18 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
return to;
|
|
18
18
|
};
|
|
19
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// src/components/undo-redo-button/undo-redo-button.tsx
|
|
20
22
|
var undo_redo_button_exports = {};
|
|
21
23
|
__export(undo_redo_button_exports, {
|
|
22
24
|
UndoRedoButton: () => UndoRedoButton
|
|
23
25
|
});
|
|
24
26
|
module.exports = __toCommonJS(undo_redo_button_exports);
|
|
25
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
26
27
|
var import_react = require("react");
|
|
27
|
-
var import_use_undo_redo = require("./use-undo-redo");
|
|
28
|
-
var import_button = require("../ui/button");
|
|
29
|
-
|
|
28
|
+
var import_use_undo_redo = require("./use-undo-redo.cjs");
|
|
29
|
+
var import_button = require("../ui/button.cjs");
|
|
30
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
31
|
+
var UndoRedoButton = (0, import_react.forwardRef)(({ editor, action, onClick, ...buttonProps }, ref) => {
|
|
30
32
|
const { canExecute, handleAction, label, Icon } = (0, import_use_undo_redo.useUndoRedo)({
|
|
31
33
|
editor,
|
|
32
34
|
action
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/undo-redo-button/undo-redo-button.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useCallback } from 'react';\n\nimport { useUndoRedo } from './use-undo-redo';\nimport { Button } from '../ui/button';\n\nimport type { UndoRedoAction } from './use-undo-redo';\nimport type { Editor } from '@tiptap/core';\n\nexport interface UndoRedoButtonProps extends Omit<\n\tReact.ButtonHTMLAttributes<HTMLButtonElement>,\n\t'type'\n> {\n\teditor: Editor | null;\n\taction: UndoRedoAction;\n}\n\nexport const UndoRedoButton = forwardRef<\n\tHTMLButtonElement,\n\tUndoRedoButtonProps\n>(({ editor, action, onClick, ...buttonProps }, ref) => {\n\tconst { canExecute, handleAction, label, Icon } = useUndoRedo({\n\t\teditor,\n\t\taction\n\t});\n\n\tconst handleClick = useCallback(\n\t\t(event: React.MouseEvent<HTMLButtonElement>) => {\n\t\t\tonClick?.(event);\n\n\t\t\tif (event.defaultPrevented) return;\n\n\t\t\thandleAction();\n\t\t},\n\t\t[handleAction, onClick]\n\t);\n\n\treturn (\n\t\t<Button\n\t\t\tref={ref}\n\t\t\taria-label={label}\n\t\t\tdisabled={!canExecute}\n\t\t\tsize=\"icon\"\n\t\t\ttabIndex={-1}\n\t\t\ttype=\"button\"\n\t\t\tvariant=\"ghost\"\n\t\t\tonClick={handleClick}\n\t\t\t{...buttonProps}\n\t\t>\n\t\t\t<Icon />\n\t\t</Button>\n\t);\n});\n\nUndoRedoButton.displayName = 'UndoRedoButton';\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/undo-redo-button/undo-redo-button.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useCallback } from 'react';\n\nimport { useUndoRedo } from './use-undo-redo.js';\nimport { Button } from '../ui/button.js';\n\nimport type { UndoRedoAction } from './use-undo-redo.js';\nimport type { Editor } from '@tiptap/core';\n\nexport interface UndoRedoButtonProps extends Omit<\n\tReact.ButtonHTMLAttributes<HTMLButtonElement>,\n\t'type'\n> {\n\teditor: Editor | null;\n\taction: UndoRedoAction;\n}\n\nexport const UndoRedoButton = forwardRef<\n\tHTMLButtonElement,\n\tUndoRedoButtonProps\n>(({ editor, action, onClick, ...buttonProps }, ref) => {\n\tconst { canExecute, handleAction, label, Icon } = useUndoRedo({\n\t\teditor,\n\t\taction\n\t});\n\n\tconst handleClick = useCallback(\n\t\t(event: React.MouseEvent<HTMLButtonElement>) => {\n\t\t\tonClick?.(event);\n\n\t\t\tif (event.defaultPrevented) return;\n\n\t\t\thandleAction();\n\t\t},\n\t\t[handleAction, onClick]\n\t);\n\n\treturn (\n\t\t<Button\n\t\t\tref={ref}\n\t\t\taria-label={label}\n\t\t\tdisabled={!canExecute}\n\t\t\tsize=\"icon\"\n\t\t\ttabIndex={-1}\n\t\t\ttype=\"button\"\n\t\t\tvariant=\"ghost\"\n\t\t\tonClick={handleClick}\n\t\t\t{...buttonProps}\n\t\t>\n\t\t\t<Icon />\n\t\t</Button>\n\t);\n});\n\nUndoRedoButton.displayName = 'UndoRedoButton';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAwC;AAExC,2BAA4B;AAC5B,oBAAuB;AA6CpB;AAhCI,IAAM,qBAAiB,yBAG5B,CAAC,EAAE,QAAQ,QAAQ,SAAS,GAAG,YAAY,GAAG,QAAQ;AACvD,QAAM,EAAE,YAAY,cAAc,OAAO,KAAK,QAAI,kCAAY;AAAA,IAC7D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,kBAAc;AAAA,IACnB,CAAC,UAA+C;AAC/C,gBAAU,KAAK;AAEf,UAAI,MAAM,iBAAkB;AAE5B,mBAAa;AAAA,IACd;AAAA,IACA,CAAC,cAAc,OAAO;AAAA,EACvB;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,cAAY;AAAA,MACZ,UAAU,CAAC;AAAA,MACX,MAAK;AAAA,MACL,UAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,SAAS;AAAA,MACR,GAAG;AAAA,MAEJ,sDAAC,QAAK;AAAA;AAAA,EACP;AAEF,CAAC;AAED,eAAe,cAAc;","names":[]}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
// src/components/undo-redo-button/undo-redo-button.tsx
|
|
3
4
|
import { forwardRef, useCallback } from "react";
|
|
4
|
-
import { useUndoRedo } from "./use-undo-redo";
|
|
5
|
-
import { Button } from "../ui/button";
|
|
6
|
-
|
|
5
|
+
import { useUndoRedo } from "./use-undo-redo.mjs";
|
|
6
|
+
import { Button } from "../ui/button.mjs";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
var UndoRedoButton = forwardRef(({ editor, action, onClick, ...buttonProps }, ref) => {
|
|
7
9
|
const { canExecute, handleAction, label, Icon } = useUndoRedo({
|
|
8
10
|
editor,
|
|
9
11
|
action
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/undo-redo-button/undo-redo-button.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useCallback } from 'react';\n\nimport { useUndoRedo } from './use-undo-redo';\nimport { Button } from '../ui/button';\n\nimport type { UndoRedoAction } from './use-undo-redo';\nimport type { Editor } from '@tiptap/core';\n\nexport interface UndoRedoButtonProps extends Omit<\n\tReact.ButtonHTMLAttributes<HTMLButtonElement>,\n\t'type'\n> {\n\teditor: Editor | null;\n\taction: UndoRedoAction;\n}\n\nexport const UndoRedoButton = forwardRef<\n\tHTMLButtonElement,\n\tUndoRedoButtonProps\n>(({ editor, action, onClick, ...buttonProps }, ref) => {\n\tconst { canExecute, handleAction, label, Icon } = useUndoRedo({\n\t\teditor,\n\t\taction\n\t});\n\n\tconst handleClick = useCallback(\n\t\t(event: React.MouseEvent<HTMLButtonElement>) => {\n\t\t\tonClick?.(event);\n\n\t\t\tif (event.defaultPrevented) return;\n\n\t\t\thandleAction();\n\t\t},\n\t\t[handleAction, onClick]\n\t);\n\n\treturn (\n\t\t<Button\n\t\t\tref={ref}\n\t\t\taria-label={label}\n\t\t\tdisabled={!canExecute}\n\t\t\tsize=\"icon\"\n\t\t\ttabIndex={-1}\n\t\t\ttype=\"button\"\n\t\t\tvariant=\"ghost\"\n\t\t\tonClick={handleClick}\n\t\t\t{...buttonProps}\n\t\t>\n\t\t\t<Icon />\n\t\t</Button>\n\t);\n});\n\nUndoRedoButton.displayName = 'UndoRedoButton';\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/undo-redo-button/undo-redo-button.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useCallback } from 'react';\n\nimport { useUndoRedo } from './use-undo-redo.js';\nimport { Button } from '../ui/button.js';\n\nimport type { UndoRedoAction } from './use-undo-redo.js';\nimport type { Editor } from '@tiptap/core';\n\nexport interface UndoRedoButtonProps extends Omit<\n\tReact.ButtonHTMLAttributes<HTMLButtonElement>,\n\t'type'\n> {\n\teditor: Editor | null;\n\taction: UndoRedoAction;\n}\n\nexport const UndoRedoButton = forwardRef<\n\tHTMLButtonElement,\n\tUndoRedoButtonProps\n>(({ editor, action, onClick, ...buttonProps }, ref) => {\n\tconst { canExecute, handleAction, label, Icon } = useUndoRedo({\n\t\teditor,\n\t\taction\n\t});\n\n\tconst handleClick = useCallback(\n\t\t(event: React.MouseEvent<HTMLButtonElement>) => {\n\t\t\tonClick?.(event);\n\n\t\t\tif (event.defaultPrevented) return;\n\n\t\t\thandleAction();\n\t\t},\n\t\t[handleAction, onClick]\n\t);\n\n\treturn (\n\t\t<Button\n\t\t\tref={ref}\n\t\t\taria-label={label}\n\t\t\tdisabled={!canExecute}\n\t\t\tsize=\"icon\"\n\t\t\ttabIndex={-1}\n\t\t\ttype=\"button\"\n\t\t\tvariant=\"ghost\"\n\t\t\tonClick={handleClick}\n\t\t\t{...buttonProps}\n\t\t>\n\t\t\t<Icon />\n\t\t</Button>\n\t);\n});\n\nUndoRedoButton.displayName = 'UndoRedoButton';\n"],"mappings":";;;AAEA,SAAS,YAAY,mBAAmB;AAExC,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AA6CpB;AAhCI,IAAM,iBAAiB,WAG5B,CAAC,EAAE,QAAQ,QAAQ,SAAS,GAAG,YAAY,GAAG,QAAQ;AACvD,QAAM,EAAE,YAAY,cAAc,OAAO,KAAK,IAAI,YAAY;AAAA,IAC7D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,cAAc;AAAA,IACnB,CAAC,UAA+C;AAC/C,gBAAU,KAAK;AAEf,UAAI,MAAM,iBAAkB;AAE5B,mBAAa;AAAA,IACd;AAAA,IACA,CAAC,cAAc,OAAO;AAAA,EACvB;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,cAAY;AAAA,MACZ,UAAU,CAAC;AAAA,MACX,MAAK;AAAA,MACL,UAAU;AAAA,MACV,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,SAAS;AAAA,MACR,GAAG;AAAA,MAEJ,8BAAC,QAAK;AAAA;AAAA,EACP;AAEF,CAAC;AAED,eAAe,cAAc;","names":[]}
|
|
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/undo-redo-button/use-undo-redo.ts
|
|
19
21
|
var use_undo_redo_exports = {};
|
|
20
22
|
__export(use_undo_redo_exports, {
|
|
21
23
|
useUndoRedo: () => useUndoRedo
|
|
@@ -23,11 +25,11 @@ __export(use_undo_redo_exports, {
|
|
|
23
25
|
module.exports = __toCommonJS(use_undo_redo_exports);
|
|
24
26
|
var import_lucide_react = require("lucide-react");
|
|
25
27
|
var import_react = require("react");
|
|
26
|
-
|
|
28
|
+
var actionLabels = {
|
|
27
29
|
undo: "Undo",
|
|
28
30
|
redo: "Redo"
|
|
29
31
|
};
|
|
30
|
-
|
|
32
|
+
var actionIcons = {
|
|
31
33
|
undo: import_lucide_react.Undo2,
|
|
32
34
|
redo: import_lucide_react.Redo2
|
|
33
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/undo-redo-button/use-undo-redo.ts"],"sourcesContent":["import { Undo2, Redo2 } from 'lucide-react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport type { Editor } from '@tiptap/core';\n\nexport type UndoRedoAction = 'undo' | 'redo';\n\nexport interface UseUndoRedoConfig {\n\teditor: Editor | null;\n\taction: UndoRedoAction;\n}\n\nconst actionLabels: Record<UndoRedoAction, string> = {\n\tundo: 'Undo',\n\tredo: 'Redo'\n};\n\nconst actionIcons = {\n\tundo: Undo2,\n\tredo: Redo2\n};\n\nfunction canExecuteAction(\n\teditor: Editor | null,\n\taction: UndoRedoAction\n): boolean {\n\tif (!editor || !editor.isEditable) return false;\n\n\treturn action === 'undo' ? editor.can().undo() : editor.can().redo();\n}\n\nexport function useUndoRedo({ editor, action }: UseUndoRedoConfig) {\n\tconst [canExecute, setCanExecute] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (!editor) return;\n\n\t\tconst handleUpdate = () => {\n\t\t\tsetCanExecute(canExecuteAction(editor, action));\n\t\t};\n\n\t\thandleUpdate();\n\n\t\teditor.on('transaction', handleUpdate);\n\n\t\treturn () => {\n\t\t\teditor.off('transaction', handleUpdate);\n\t\t};\n\t}, [editor, action]);\n\n\tconst handleAction = useCallback(() => {\n\t\tif (!editor || !editor.isEditable) return false;\n\n\t\tif (!canExecuteAction(editor, action)) return false;\n\n\t\tconst chain = editor.chain().focus();\n\n\t\treturn action === 'undo' ? chain.undo().run() : chain.redo().run();\n\t}, [editor, action]);\n\n\treturn {\n\t\tcanExecute,\n\t\thandleAction,\n\t\tlabel: actionLabels[action],\n\t\tIcon: actionIcons[action]\n\t};\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/undo-redo-button/use-undo-redo.ts"],"sourcesContent":["import { Undo2, Redo2 } from 'lucide-react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport type { Editor } from '@tiptap/core';\n\nexport type UndoRedoAction = 'undo' | 'redo';\n\nexport interface UseUndoRedoConfig {\n\teditor: Editor | null;\n\taction: UndoRedoAction;\n}\n\nconst actionLabels: Record<UndoRedoAction, string> = {\n\tundo: 'Undo',\n\tredo: 'Redo'\n};\n\nconst actionIcons = {\n\tundo: Undo2,\n\tredo: Redo2\n};\n\nfunction canExecuteAction(\n\teditor: Editor | null,\n\taction: UndoRedoAction\n): boolean {\n\tif (!editor || !editor.isEditable) return false;\n\n\treturn action === 'undo' ? editor.can().undo() : editor.can().redo();\n}\n\nexport function useUndoRedo({ editor, action }: UseUndoRedoConfig) {\n\tconst [canExecute, setCanExecute] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (!editor) return;\n\n\t\tconst handleUpdate = () => {\n\t\t\tsetCanExecute(canExecuteAction(editor, action));\n\t\t};\n\n\t\thandleUpdate();\n\n\t\teditor.on('transaction', handleUpdate);\n\n\t\treturn () => {\n\t\t\teditor.off('transaction', handleUpdate);\n\t\t};\n\t}, [editor, action]);\n\n\tconst handleAction = useCallback(() => {\n\t\tif (!editor || !editor.isEditable) return false;\n\n\t\tif (!canExecuteAction(editor, action)) return false;\n\n\t\tconst chain = editor.chain().focus();\n\n\t\treturn action === 'undo' ? chain.undo().run() : chain.redo().run();\n\t}, [editor, action]);\n\n\treturn {\n\t\tcanExecute,\n\t\thandleAction,\n\t\tlabel: actionLabels[action],\n\t\tIcon: actionIcons[action]\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAC7B,mBAAiD;AAWjD,IAAM,eAA+C;AAAA,EACpD,MAAM;AAAA,EACN,MAAM;AACP;AAEA,IAAM,cAAc;AAAA,EACnB,MAAM;AAAA,EACN,MAAM;AACP;AAEA,SAAS,iBACR,QACA,QACU;AACV,MAAI,CAAC,UAAU,CAAC,OAAO,WAAY,QAAO;AAE1C,SAAO,WAAW,SAAS,OAAO,IAAI,EAAE,KAAK,IAAI,OAAO,IAAI,EAAE,KAAK;AACpE;AAEO,SAAS,YAAY,EAAE,QAAQ,OAAO,GAAsB;AAClE,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAElD,8BAAU,MAAM;AACf,QAAI,CAAC,OAAQ;AAEb,UAAM,eAAe,MAAM;AAC1B,oBAAc,iBAAiB,QAAQ,MAAM,CAAC;AAAA,IAC/C;AAEA,iBAAa;AAEb,WAAO,GAAG,eAAe,YAAY;AAErC,WAAO,MAAM;AACZ,aAAO,IAAI,eAAe,YAAY;AAAA,IACvC;AAAA,EACD,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEnB,QAAM,mBAAe,0BAAY,MAAM;AACtC,QAAI,CAAC,UAAU,CAAC,OAAO,WAAY,QAAO;AAE1C,QAAI,CAAC,iBAAiB,QAAQ,MAAM,EAAG,QAAO;AAE9C,UAAM,QAAQ,OAAO,MAAM,EAAE,MAAM;AAEnC,WAAO,WAAW,SAAS,MAAM,KAAK,EAAE,IAAI,IAAI,MAAM,KAAK,EAAE,IAAI;AAAA,EAClE,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEnB,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,OAAO,aAAa,MAAM;AAAA,IAC1B,MAAM,YAAY,MAAM;AAAA,EACzB;AACD;","names":[]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
// src/components/undo-redo-button/use-undo-redo.ts
|
|
1
2
|
import { Undo2, Redo2 } from "lucide-react";
|
|
2
3
|
import { useCallback, useEffect, useState } from "react";
|
|
3
|
-
|
|
4
|
+
var actionLabels = {
|
|
4
5
|
undo: "Undo",
|
|
5
6
|
redo: "Redo"
|
|
6
7
|
};
|
|
7
|
-
|
|
8
|
+
var actionIcons = {
|
|
8
9
|
undo: Undo2,
|
|
9
10
|
redo: Redo2
|
|
10
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/undo-redo-button/use-undo-redo.ts"],"sourcesContent":["import { Undo2, Redo2 } from 'lucide-react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport type { Editor } from '@tiptap/core';\n\nexport type UndoRedoAction = 'undo' | 'redo';\n\nexport interface UseUndoRedoConfig {\n\teditor: Editor | null;\n\taction: UndoRedoAction;\n}\n\nconst actionLabels: Record<UndoRedoAction, string> = {\n\tundo: 'Undo',\n\tredo: 'Redo'\n};\n\nconst actionIcons = {\n\tundo: Undo2,\n\tredo: Redo2\n};\n\nfunction canExecuteAction(\n\teditor: Editor | null,\n\taction: UndoRedoAction\n): boolean {\n\tif (!editor || !editor.isEditable) return false;\n\n\treturn action === 'undo' ? editor.can().undo() : editor.can().redo();\n}\n\nexport function useUndoRedo({ editor, action }: UseUndoRedoConfig) {\n\tconst [canExecute, setCanExecute] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (!editor) return;\n\n\t\tconst handleUpdate = () => {\n\t\t\tsetCanExecute(canExecuteAction(editor, action));\n\t\t};\n\n\t\thandleUpdate();\n\n\t\teditor.on('transaction', handleUpdate);\n\n\t\treturn () => {\n\t\t\teditor.off('transaction', handleUpdate);\n\t\t};\n\t}, [editor, action]);\n\n\tconst handleAction = useCallback(() => {\n\t\tif (!editor || !editor.isEditable) return false;\n\n\t\tif (!canExecuteAction(editor, action)) return false;\n\n\t\tconst chain = editor.chain().focus();\n\n\t\treturn action === 'undo' ? chain.undo().run() : chain.redo().run();\n\t}, [editor, action]);\n\n\treturn {\n\t\tcanExecute,\n\t\thandleAction,\n\t\tlabel: actionLabels[action],\n\t\tIcon: actionIcons[action]\n\t};\n}\n"],"mappings":"AAAA,SAAS,OAAO,aAAa;AAC7B,SAAS,aAAa,WAAW,gBAAgB;AAWjD,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/undo-redo-button/use-undo-redo.ts"],"sourcesContent":["import { Undo2, Redo2 } from 'lucide-react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport type { Editor } from '@tiptap/core';\n\nexport type UndoRedoAction = 'undo' | 'redo';\n\nexport interface UseUndoRedoConfig {\n\teditor: Editor | null;\n\taction: UndoRedoAction;\n}\n\nconst actionLabels: Record<UndoRedoAction, string> = {\n\tundo: 'Undo',\n\tredo: 'Redo'\n};\n\nconst actionIcons = {\n\tundo: Undo2,\n\tredo: Redo2\n};\n\nfunction canExecuteAction(\n\teditor: Editor | null,\n\taction: UndoRedoAction\n): boolean {\n\tif (!editor || !editor.isEditable) return false;\n\n\treturn action === 'undo' ? editor.can().undo() : editor.can().redo();\n}\n\nexport function useUndoRedo({ editor, action }: UseUndoRedoConfig) {\n\tconst [canExecute, setCanExecute] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (!editor) return;\n\n\t\tconst handleUpdate = () => {\n\t\t\tsetCanExecute(canExecuteAction(editor, action));\n\t\t};\n\n\t\thandleUpdate();\n\n\t\teditor.on('transaction', handleUpdate);\n\n\t\treturn () => {\n\t\t\teditor.off('transaction', handleUpdate);\n\t\t};\n\t}, [editor, action]);\n\n\tconst handleAction = useCallback(() => {\n\t\tif (!editor || !editor.isEditable) return false;\n\n\t\tif (!canExecuteAction(editor, action)) return false;\n\n\t\tconst chain = editor.chain().focus();\n\n\t\treturn action === 'undo' ? chain.undo().run() : chain.redo().run();\n\t}, [editor, action]);\n\n\treturn {\n\t\tcanExecute,\n\t\thandleAction,\n\t\tlabel: actionLabels[action],\n\t\tIcon: actionIcons[action]\n\t};\n}\n"],"mappings":";AAAA,SAAS,OAAO,aAAa;AAC7B,SAAS,aAAa,WAAW,gBAAgB;AAWjD,IAAM,eAA+C;AAAA,EACpD,MAAM;AAAA,EACN,MAAM;AACP;AAEA,IAAM,cAAc;AAAA,EACnB,MAAM;AAAA,EACN,MAAM;AACP;AAEA,SAAS,iBACR,QACA,QACU;AACV,MAAI,CAAC,UAAU,CAAC,OAAO,WAAY,QAAO;AAE1C,SAAO,WAAW,SAAS,OAAO,IAAI,EAAE,KAAK,IAAI,OAAO,IAAI,EAAE,KAAK;AACpE;AAEO,SAAS,YAAY,EAAE,QAAQ,OAAO,GAAsB;AAClE,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAElD,YAAU,MAAM;AACf,QAAI,CAAC,OAAQ;AAEb,UAAM,eAAe,MAAM;AAC1B,oBAAc,iBAAiB,QAAQ,MAAM,CAAC;AAAA,IAC/C;AAEA,iBAAa;AAEb,WAAO,GAAG,eAAe,YAAY;AAErC,WAAO,MAAM;AACZ,aAAO,IAAI,eAAe,YAAY;AAAA,IACvC;AAAA,EACD,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEnB,QAAM,eAAe,YAAY,MAAM;AACtC,QAAI,CAAC,UAAU,CAAC,OAAO,WAAY,QAAO;AAE1C,QAAI,CAAC,iBAAiB,QAAQ,MAAM,EAAG,QAAO;AAE9C,UAAM,QAAQ,OAAO,MAAM,EAAE,MAAM;AAEnC,WAAO,WAAW,SAAS,MAAM,KAAK,EAAE,IAAI,IAAI,MAAM,KAAK,EAAE,IAAI;AAAA,EAClE,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEnB,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,OAAO,aAAa,MAAM;AAAA,IAC1B,MAAM,YAAY,MAAM;AAAA,EACzB;AACD;","names":[]}
|
|
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/extensions/code-block.ts
|
|
19
21
|
var code_block_exports = {};
|
|
20
22
|
__export(code_block_exports, {
|
|
21
23
|
CodeBlockExtension: () => CodeBlockExtension,
|
|
@@ -27,11 +29,11 @@ var import_core = require("@tiptap/core");
|
|
|
27
29
|
var import_extension_code_block_lowlight = require("@tiptap/extension-code-block-lowlight");
|
|
28
30
|
var import_react = require("@tiptap/react");
|
|
29
31
|
var import_lowlight = require("lowlight");
|
|
30
|
-
var import_code_block_view = require("../components/code-block-view/code-block-view");
|
|
31
|
-
var import_languages = require("../lib/languages");
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
var import_code_block_view = require("../components/code-block-view/code-block-view.cjs");
|
|
33
|
+
var import_languages = require("../lib/languages.cjs");
|
|
34
|
+
var defaultLowlight = (0, import_lowlight.createLowlight)(import_lowlight.common);
|
|
35
|
+
var backtickInputRegex = /^```([a-z]+)?[\s\n]$/;
|
|
36
|
+
var tildeInputRegex = /^~~~([a-z]+)?[\s\n]$/;
|
|
35
37
|
function createCodeBlockExtension(lowlight) {
|
|
36
38
|
return import_extension_code_block_lowlight.CodeBlockLowlight.configure({
|
|
37
39
|
lowlight,
|
|
@@ -93,7 +95,7 @@ function createCodeBlockExtension(lowlight) {
|
|
|
93
95
|
}
|
|
94
96
|
});
|
|
95
97
|
}
|
|
96
|
-
|
|
98
|
+
var CodeBlockExtension = createCodeBlockExtension(defaultLowlight);
|
|
97
99
|
// Annotate the CommonJS export names for ESM import in node:
|
|
98
100
|
0 && (module.exports = {
|
|
99
101
|
CodeBlockExtension,
|