maquinaweb-ui 2.72.2 → 2.72.4
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/date-hour-field/DateHourField.d.ts +2 -2
- package/dist/input-suggest/input-suggest.d.ts +2 -2
- package/dist/kanban-dnd/kanban-card-item.d.ts +2 -2
- package/dist/kanban-dnd/kanban-dnd-monitor.d.ts +2 -2
- package/dist/kanban-dnd/kanban-dropzone.d.ts +2 -2
- package/dist/kanban-dnd/kanban-selector.d.ts +2 -2
- package/dist/landing-text/client-landing-text.js +1 -1
- package/dist/landing-text/client-landing-text.js.map +1 -1
- package/dist/landing-text/types.d.ts.map +1 -1
- package/dist/page-header/page-header.d.ts +2 -2
- package/dist/remote-selector/remote-selector.d.ts +3 -3
- package/dist/split-text-poor/split-text-poor.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldPath, FieldValues, UseControllerProps } from "react-hook-form";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
import { Matcher } from "react-day-picker";
|
|
4
4
|
|
|
5
5
|
//#region src/components/date-hour-field/DateHourField.d.ts
|
|
@@ -29,7 +29,7 @@ declare function DateHourField<TFieldValues extends FieldValues = FieldValues, T
|
|
|
29
29
|
help,
|
|
30
30
|
hourPlaceholder,
|
|
31
31
|
valueType
|
|
32
|
-
}: DateHourFieldProps<TFieldValues, TFieldName>):
|
|
32
|
+
}: DateHourFieldProps<TFieldValues, TFieldName>): react_jsx_runtime0.JSX.Element;
|
|
33
33
|
//#endregion
|
|
34
34
|
export { DateHourField, DateHourFieldProps };
|
|
35
35
|
//# sourceMappingURL=DateHourField.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Mask, Options } from "../src/hooks/with-mask.js";
|
|
2
2
|
import { FieldPath, FieldValues, UseControllerProps } from "react-hook-form";
|
|
3
3
|
import { Dispatch, SetStateAction } from "react";
|
|
4
|
-
import * as
|
|
4
|
+
import * as react_jsx_runtime1 from "react/jsx-runtime";
|
|
5
5
|
import { PopoverProps } from "@radix-ui/react-popover";
|
|
6
6
|
|
|
7
7
|
//#region src/components/input-suggest/input-suggest.d.ts
|
|
@@ -71,7 +71,7 @@ declare function InputSuggest<TFieldValues extends FieldValues = FieldValues, TF
|
|
|
71
71
|
debounceTime,
|
|
72
72
|
maxWait,
|
|
73
73
|
...props
|
|
74
|
-
}: InputSuggestProps<TFieldValues, TFieldName> & PopoverProps):
|
|
74
|
+
}: InputSuggestProps<TFieldValues, TFieldName> & PopoverProps): react_jsx_runtime1.JSX.Element;
|
|
75
75
|
//#endregion
|
|
76
76
|
export { InputSuggest, InputSuggestProps };
|
|
77
77
|
//# sourceMappingURL=input-suggest.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { KanbanCardItemProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime16 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/kanban-dnd/kanban-card-item.d.ts
|
|
5
5
|
declare function KanbanCardItem({
|
|
@@ -8,7 +8,7 @@ declare function KanbanCardItem({
|
|
|
8
8
|
className,
|
|
9
9
|
getSelectedCardIds,
|
|
10
10
|
getSelectableItems
|
|
11
|
-
}: KanbanCardItemProps):
|
|
11
|
+
}: KanbanCardItemProps): react_jsx_runtime16.JSX.Element;
|
|
12
12
|
//#endregion
|
|
13
13
|
export { KanbanCardItem };
|
|
14
14
|
//# sourceMappingURL=kanban-card-item.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { KanbanDndMonitorProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime17 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/kanban-dnd/kanban-dnd-monitor.d.ts
|
|
5
5
|
declare function KanbanDndMonitor<TColumn>({
|
|
@@ -23,7 +23,7 @@ declare function KanbanDndMonitor<TColumn>({
|
|
|
23
23
|
isAutoScrollEnabled,
|
|
24
24
|
renderIdleLayer,
|
|
25
25
|
className
|
|
26
|
-
}: KanbanDndMonitorProps<TColumn>):
|
|
26
|
+
}: KanbanDndMonitorProps<TColumn>): react_jsx_runtime17.JSX.Element;
|
|
27
27
|
//#endregion
|
|
28
28
|
export { KanbanDndMonitor };
|
|
29
29
|
//# sourceMappingURL=kanban-dnd-monitor.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { KanbanDropZoneProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime18 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/kanban-dnd/kanban-dropzone.d.ts
|
|
5
5
|
declare function KanbanDropZone({
|
|
@@ -7,7 +7,7 @@ declare function KanbanDropZone({
|
|
|
7
7
|
id,
|
|
8
8
|
className,
|
|
9
9
|
isOverClassName
|
|
10
|
-
}: KanbanDropZoneProps):
|
|
10
|
+
}: KanbanDropZoneProps): react_jsx_runtime18.JSX.Element;
|
|
11
11
|
//#endregion
|
|
12
12
|
export { KanbanDropZone };
|
|
13
13
|
//# sourceMappingURL=kanban-dropzone.d.ts.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { KanbanSelectorProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime19 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/kanban-dnd/kanban-selector.d.ts
|
|
5
5
|
declare function KanbanSelector({
|
|
6
6
|
dragAreaId,
|
|
7
7
|
autoScrollMargin,
|
|
8
8
|
ignoredSlots
|
|
9
|
-
}: KanbanSelectorProps):
|
|
9
|
+
}: KanbanSelectorProps): react_jsx_runtime19.JSX.Element | null;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { KanbanSelector };
|
|
12
12
|
//# sourceMappingURL=kanban-selector.d.ts.map
|
|
@@ -147,7 +147,7 @@ function ClientLandingText({ item, editable = false, children }) {
|
|
|
147
147
|
variant: "outline",
|
|
148
148
|
children: /* @__PURE__ */ jsx(X, {})
|
|
149
149
|
}), /* @__PURE__ */ jsx(Button, {
|
|
150
|
-
className: "size-6 rounded-none p-0",
|
|
150
|
+
className: "size-6 rounded-none p-0 border dark:border-input",
|
|
151
151
|
disabled: isSaving,
|
|
152
152
|
onClick: handleSave,
|
|
153
153
|
size: "icon",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-landing-text.js","names":[],"sources":["../../src/components/landing-text/client-landing-text.tsx"],"sourcesContent":["'use client';\n\nimport { useRef, useState } from 'react';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport { Button } from '../ui/button';\n\nimport { Check, Loader2, X } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\nimport { flushSync } from 'react-dom';\nimport { refreshTag } from '../actions';\nimport type { LandingTextItem } from './types';\n\ninterface ClientLandingTextProps {\n item: LandingTextItem;\n editable?: boolean;\n children: React.ReactNode;\n}\n\nfunction labelFromKey(value: string) {\n if (!value) {\n return '';\n }\n\n return value\n .split(/[-_\\.]/g)\n .filter(Boolean)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n}\n\nfunction normalizeBaseUrl(baseUrl: string): string {\n return baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n}\n\nfunction parseCookies(cookieHeader: string): Record<string, string> {\n return cookieHeader\n .split(';')\n .map((part) => part.trim())\n .filter(Boolean)\n .reduce<Record<string, string>>((acc, part) => {\n const separatorIndex = part.indexOf('=');\n if (separatorIndex < 0) {\n return acc;\n }\n\n const name = decodeURIComponent(part.slice(0, separatorIndex));\n const value = decodeURIComponent(part.slice(separatorIndex + 1));\n acc[name] = value;\n return acc;\n }, {});\n}\n\nfunction getTokenCookieValue(): string | undefined {\n if (typeof document === 'undefined' || !document.cookie) {\n return undefined;\n }\n\n const rawToken = parseCookies(document.cookie).token;\n if (!rawToken) {\n return undefined;\n }\n\n const withoutQuotes = rawToken.trim().replace(/^\"|\"$/g, '');\n return withoutQuotes.replace(/^Token\\s+/i, '');\n}\n\nasync function persistLandingContent(item: LandingTextItem, value: string) {\n const baseUrl = String(process.env.NEXT_PUBLIC_BASE_URL || '');\n const organization = String(\n process.env.NEXT_PUBLIC_ORGANIZATION_ID || ''\n ).trim();\n\n if (!baseUrl) {\n return;\n }\n\n const token = getTokenCookieValue();\n\n if (!token || !organization) {\n throw new Error(\n 'Credenciais de edição indisponíveis para salvar conteúdo.'\n );\n }\n\n const endpoint = '/landing-page-contents/upsert/';\n const response = await fetch(`${normalizeBaseUrl(baseUrl)}${endpoint}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Token ${token}`,\n 'X-Organization': organization,\n },\n body: JSON.stringify({\n page_key: item.pageKey,\n page_title: labelFromKey(item.pageKey),\n section_key: item.sectionKey,\n section_title: labelFromKey(item.sectionKey),\n content_key: item.contentKey,\n content_title: labelFromKey(item.contentKey),\n value,\n default_value: item.defaultValue,\n metadata: item.metadata,\n }),\n credentials: 'include',\n });\n\n if (!response.ok) {\n throw new Error('Nao foi possivel salvar o conteudo.');\n }\n\n await refreshTag(`landing-page-content-${item.pageKey}`);\n}\n\nfunction normalizeEditableText(value: string): string {\n return value\n .replace(/\\u00a0/g, ' ')\n .replace(/\\s+/g, ' ')\n .trim();\n}\n\nfunction suppressNextDocumentClick() {\n if (typeof document === 'undefined') {\n return;\n }\n\n document.addEventListener(\n 'click',\n (event) => {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n },\n { capture: true, once: true }\n );\n}\n\nfunction ClientLandingText({\n item,\n editable = false,\n children,\n}: ClientLandingTextProps) {\n const [isEditing, setIsEditing] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [currentValue, setCurrentValue] = useState(item.value);\n const [draftValue, setDraftValue] = useState(item.value);\n const containerRef = useRef<HTMLDivElement | null>(null);\n const ref = useRef<HTMLElement | null>(null);\n\n const closeEditing = (value: string) => {\n if (ref.current) {\n ref.current.innerText = value;\n }\n setDraftValue(value);\n setIsEditing(false);\n };\n\n const handleEdit = (event: React.PointerEvent<HTMLElement>) => {\n event.stopPropagation();\n suppressNextDocumentClick();\n if (!editable || isSaving || isEditing) {\n return;\n }\n\n const element = event.currentTarget;\n ref.current = element;\n\n const nextDraft = element.innerText || currentValue;\n flushSync(() => {\n setDraftValue(nextDraft);\n setIsEditing(true);\n });\n };\n\n const handleCancel = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n closeEditing(currentValue);\n };\n\n const handleSave = async (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n try {\n setIsSaving(true);\n await persistLandingContent(item, draftValue);\n setCurrentValue(draftValue);\n closeEditing(draftValue);\n } finally {\n setIsSaving(false);\n }\n };\n\n const handleInput = (event: React.FormEvent<HTMLElement>) => {\n if (!isEditing) {\n return;\n }\n ref.current = event.currentTarget;\n setDraftValue(event.currentTarget.innerText);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLElement>) => {\n if (!isEditing || isSaving) {\n return;\n }\n\n const container = containerRef.current;\n const nextFocused = event.relatedTarget;\n\n if (\n container &&\n nextFocused instanceof Node &&\n container.contains(nextFocused)\n ) {\n return;\n }\n\n const liveValue = event.currentTarget.innerText;\n if (\n normalizeEditableText(liveValue) !== normalizeEditableText(currentValue)\n ) {\n if (liveValue !== draftValue) {\n setDraftValue(liveValue);\n }\n return;\n }\n\n closeEditing(currentValue);\n };\n\n return (\n <div className=\"relative\" ref={containerRef}>\n {editable && isEditing && (\n <div className=\"absolute right-0 z-10 h-fit -top-7 flex\">\n <Button\n className=\"size-6 rounded-none p-0 text-foreground!\"\n disabled={isSaving}\n onClick={handleCancel}\n size=\"icon\"\n type=\"button\"\n variant=\"outline\"\n >\n <X />\n </Button>\n <Button\n className=\"size-6 rounded-none p-0\"\n disabled={isSaving}\n onClick={handleSave}\n size=\"icon\"\n type=\"button\"\n >\n {isSaving ? <Loader2 className=\"animate-spin size-3\" /> : <Check />}\n </Button>\n </div>\n )}\n\n <Slot\n className={cn(\n 'relative',\n 'after:pointer-events-none after:z-10 after:w-full after:h-full after:absolute after:left-1/2 after:-translate-x-1/2 after:top-1/2 after:-translate-y-1/2 after:box-content after:p-1',\n editable && 'hover:after:border hover:after:border-input',\n isEditing && 'after:border after:border-input',\n isEditing && 'outline-none cursor-text before:bg-red-500',\n !editable && 'after:hidden'\n )}\n contentEditable={editable && isEditing}\n onBlur={handleBlur}\n onInput={handleInput}\n onPointerDownCapture={handleEdit}\n ref={ref}\n suppressContentEditableWarning\n >\n {children}\n </Slot>\n </div>\n );\n}\n\nexport { ClientLandingText };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client-landing-text.js","names":[],"sources":["../../src/components/landing-text/client-landing-text.tsx"],"sourcesContent":["'use client';\n\nimport { useRef, useState } from 'react';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport { Button } from '../ui/button';\n\nimport { Check, Loader2, X } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\nimport { flushSync } from 'react-dom';\nimport { refreshTag } from '../actions';\nimport type { LandingTextItem } from './types';\n\ninterface ClientLandingTextProps {\n item: LandingTextItem;\n editable?: boolean;\n children: React.ReactNode;\n}\n\nfunction labelFromKey(value: string) {\n if (!value) {\n return '';\n }\n\n return value\n .split(/[-_\\.]/g)\n .filter(Boolean)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n}\n\nfunction normalizeBaseUrl(baseUrl: string): string {\n return baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n}\n\nfunction parseCookies(cookieHeader: string): Record<string, string> {\n return cookieHeader\n .split(';')\n .map((part) => part.trim())\n .filter(Boolean)\n .reduce<Record<string, string>>((acc, part) => {\n const separatorIndex = part.indexOf('=');\n if (separatorIndex < 0) {\n return acc;\n }\n\n const name = decodeURIComponent(part.slice(0, separatorIndex));\n const value = decodeURIComponent(part.slice(separatorIndex + 1));\n acc[name] = value;\n return acc;\n }, {});\n}\n\nfunction getTokenCookieValue(): string | undefined {\n if (typeof document === 'undefined' || !document.cookie) {\n return undefined;\n }\n\n const rawToken = parseCookies(document.cookie).token;\n if (!rawToken) {\n return undefined;\n }\n\n const withoutQuotes = rawToken.trim().replace(/^\"|\"$/g, '');\n return withoutQuotes.replace(/^Token\\s+/i, '');\n}\n\nasync function persistLandingContent(item: LandingTextItem, value: string) {\n const baseUrl = String(process.env.NEXT_PUBLIC_BASE_URL || '');\n const organization = String(\n process.env.NEXT_PUBLIC_ORGANIZATION_ID || ''\n ).trim();\n\n if (!baseUrl) {\n return;\n }\n\n const token = getTokenCookieValue();\n\n if (!token || !organization) {\n throw new Error(\n 'Credenciais de edição indisponíveis para salvar conteúdo.'\n );\n }\n\n const endpoint = '/landing-page-contents/upsert/';\n const response = await fetch(`${normalizeBaseUrl(baseUrl)}${endpoint}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Token ${token}`,\n 'X-Organization': organization,\n },\n body: JSON.stringify({\n page_key: item.pageKey,\n page_title: labelFromKey(item.pageKey),\n section_key: item.sectionKey,\n section_title: labelFromKey(item.sectionKey),\n content_key: item.contentKey,\n content_title: labelFromKey(item.contentKey),\n value,\n default_value: item.defaultValue,\n metadata: item.metadata,\n }),\n credentials: 'include',\n });\n\n if (!response.ok) {\n throw new Error('Nao foi possivel salvar o conteudo.');\n }\n\n await refreshTag(`landing-page-content-${item.pageKey}`);\n}\n\nfunction normalizeEditableText(value: string): string {\n return value\n .replace(/\\u00a0/g, ' ')\n .replace(/\\s+/g, ' ')\n .trim();\n}\n\nfunction suppressNextDocumentClick() {\n if (typeof document === 'undefined') {\n return;\n }\n\n document.addEventListener(\n 'click',\n (event) => {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n },\n { capture: true, once: true }\n );\n}\n\nfunction ClientLandingText({\n item,\n editable = false,\n children,\n}: ClientLandingTextProps) {\n const [isEditing, setIsEditing] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [currentValue, setCurrentValue] = useState(item.value);\n const [draftValue, setDraftValue] = useState(item.value);\n const containerRef = useRef<HTMLDivElement | null>(null);\n const ref = useRef<HTMLElement | null>(null);\n\n const closeEditing = (value: string) => {\n if (ref.current) {\n ref.current.innerText = value;\n }\n setDraftValue(value);\n setIsEditing(false);\n };\n\n const handleEdit = (event: React.PointerEvent<HTMLElement>) => {\n event.stopPropagation();\n suppressNextDocumentClick();\n if (!editable || isSaving || isEditing) {\n return;\n }\n\n const element = event.currentTarget;\n ref.current = element;\n\n const nextDraft = element.innerText || currentValue;\n flushSync(() => {\n setDraftValue(nextDraft);\n setIsEditing(true);\n });\n };\n\n const handleCancel = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n closeEditing(currentValue);\n };\n\n const handleSave = async (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n try {\n setIsSaving(true);\n await persistLandingContent(item, draftValue);\n setCurrentValue(draftValue);\n closeEditing(draftValue);\n } finally {\n setIsSaving(false);\n }\n };\n\n const handleInput = (event: React.FormEvent<HTMLElement>) => {\n if (!isEditing) {\n return;\n }\n ref.current = event.currentTarget;\n setDraftValue(event.currentTarget.innerText);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLElement>) => {\n if (!isEditing || isSaving) {\n return;\n }\n\n const container = containerRef.current;\n const nextFocused = event.relatedTarget;\n\n if (\n container &&\n nextFocused instanceof Node &&\n container.contains(nextFocused)\n ) {\n return;\n }\n\n const liveValue = event.currentTarget.innerText;\n if (\n normalizeEditableText(liveValue) !== normalizeEditableText(currentValue)\n ) {\n if (liveValue !== draftValue) {\n setDraftValue(liveValue);\n }\n return;\n }\n\n closeEditing(currentValue);\n };\n\n return (\n <div className=\"relative\" ref={containerRef}>\n {editable && isEditing && (\n <div className=\"absolute right-0 z-10 h-fit -top-7 flex\">\n <Button\n className=\"size-6 rounded-none p-0 text-foreground!\"\n disabled={isSaving}\n onClick={handleCancel}\n size=\"icon\"\n type=\"button\"\n variant=\"outline\"\n >\n <X />\n </Button>\n <Button\n className=\"size-6 rounded-none p-0 border dark:border-input\"\n disabled={isSaving}\n onClick={handleSave}\n size=\"icon\"\n type=\"button\"\n >\n {isSaving ? <Loader2 className=\"animate-spin size-3\" /> : <Check />}\n </Button>\n </div>\n )}\n\n <Slot\n className={cn(\n 'relative',\n 'after:pointer-events-none after:z-10 after:w-full after:h-full after:absolute after:left-1/2 after:-translate-x-1/2 after:top-1/2 after:-translate-y-1/2 after:box-content after:p-1',\n editable && 'hover:after:border hover:after:border-input',\n isEditing && 'after:border after:border-input',\n isEditing && 'outline-none cursor-text before:bg-red-500',\n !editable && 'after:hidden'\n )}\n contentEditable={editable && isEditing}\n onBlur={handleBlur}\n onInput={handleInput}\n onPointerDownCapture={handleEdit}\n ref={ref}\n suppressContentEditableWarning\n >\n {children}\n </Slot>\n </div>\n );\n}\n\nexport { ClientLandingText };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/components/landing-text/types.ts"],"sourcesContent":[],"mappings":";;;KAEY,cAAA;KACA,kBAAA;AADA,UAGK,4BAAA,CAHS;EACd,UAAA,EAAA,MAAA;EAEK,KAAA,EAAA,MAAA;EAMA,QAAA,CAAA,EAHJ,MAGI,CAAA,MAAA,EAAA,OAAA,CAA+B;AAKhD;AAKiB,UAVA,+BAAA,CAeJ;EAGI,UAAA,EAAA,MAAA;EASA,QAAA,EAzBL,4BAyB+B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/components/landing-text/types.ts"],"sourcesContent":[],"mappings":";;;KAEY,cAAA;KACA,kBAAA;AADA,UAGK,4BAAA,CAHS;EACd,UAAA,EAAA,MAAA;EAEK,KAAA,EAAA,MAAA;EAMA,QAAA,CAAA,EAHJ,MAGI,CAAA,MAAA,EAAA,OAAA,CAA+B;AAKhD;AAKiB,UAVA,+BAAA,CAeJ;EAGI,UAAA,EAAA,MAAA;EASA,QAAA,EAzBL,4BAyB+B,EAAA;AAM3C;AAMiB,UAlCA,4BAAA,CAkCwB;EAMxB,OAAA,EAAA,MAAA;EAIZ,QAAA,EA1CO,+BA0CS,EAAA;;AAAuC,UAvC3C,yBAAA,CAuC2C;EACrD,QAAA,EAAA,MAAA;EAC2B,WAAA,EAAA,MAAA;EAAzB,WAAA,EAAA,MAAA;EAAqC,KAAA,EAAA,MAAA;EAA1C,QAAA,CAAA,EApCS,MAoCT,CAAA,MAAA,EAAA,OAAA,CAAA;;AAEQ,UAnCK,0BAAA,CAmCmB;EAAa,OAAA,EAAA,MAAA;EAE7C,UAAA,EAAA,MAAA;EACA,UAAA,EAAA,MAAA;EACQ,KAAA,EAAA,MAAA;EAHV,YAAA,EAAA,MAAA;EAAgB,QAAA,EA9BN,MA8BM,CAAA,MAAA,EAAA,OAAA,CAAA;AAQlB;AAA+C,UAnC9B,0BAAA,CAmC8B;EAE3C,OAAA,EAAA,MAAA;EACA,QAAA,EAAA,OAAA;EAEiB,QAAA,EArCT,MAqCS,CAAA,MAAA,EArCM,0BAqCN,CAAA;;AAJH,UA9BD,uBAAA,CA8BC;EAQN,OAAA,EAAA,MAAA;EAA6B,UAAA,EAAA,MAAA;EACd,UAAA,EAAA,MAAA;;AAAD,UAjCT,eAAA,SAAwB,uBAiCf,CAAA;;;YA9Bd;;UAGK,oBAAA;;;KAIZ,6BAA6B,0BAA0B;OACrD;IACH,KAAK,yBAAyB,YAAY;KAElC,qCAAqC,wBAC/C,iBACE,KACA;QACQ;;;KAKA,mCAAmC,wBAC7C,iBACE,KACA;;iBAEiB;;KAIT,6BAA6B,wBACvC,yBAAyB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/page-header/page-header.d.ts
|
|
4
4
|
interface PageHeaderProps {
|
|
@@ -10,7 +10,7 @@ declare function PageHeader({
|
|
|
10
10
|
title,
|
|
11
11
|
help,
|
|
12
12
|
description
|
|
13
|
-
}: PageHeaderProps):
|
|
13
|
+
}: PageHeaderProps): react_jsx_runtime0.JSX.Element;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { PageHeader, PageHeaderProps };
|
|
16
16
|
//# sourceMappingURL=page-header.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SelectorProps } from "../ui/selector.js";
|
|
2
2
|
import { FieldPath, FieldPathValue, FieldValues, UseControllerProps } from "react-hook-form";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react_jsx_runtime7 from "react/jsx-runtime";
|
|
4
4
|
import { Options } from "nuqs";
|
|
5
5
|
|
|
6
6
|
//#region src/components/remote-selector/remote-selector.d.ts
|
|
@@ -38,7 +38,7 @@ declare function RemoteSelectorField<T, TFieldValues extends FieldValues = Field
|
|
|
38
38
|
...props
|
|
39
39
|
}: RemoteSelectorFieldProps<TFieldValues, TFieldName> & BaseRemoteSelectorProps<T> & {
|
|
40
40
|
withPortal?: boolean;
|
|
41
|
-
}):
|
|
41
|
+
}): react_jsx_runtime7.JSX.Element;
|
|
42
42
|
interface RemoteSelectorQueryProps<T> extends BaseRemoteSelectorProps<T> {
|
|
43
43
|
name: string;
|
|
44
44
|
defaultValue?: string;
|
|
@@ -58,7 +58,7 @@ declare function RemoteSelectorQuery<T>({
|
|
|
58
58
|
fieldLabel,
|
|
59
59
|
type,
|
|
60
60
|
...props
|
|
61
|
-
}: RemoteSelectorQueryProps<T>):
|
|
61
|
+
}: RemoteSelectorQueryProps<T>): react_jsx_runtime7.JSX.Element;
|
|
62
62
|
//#endregion
|
|
63
63
|
export { BaseRemoteSelectorProps, RemoteSelectorField, RemoteSelectorFieldProps, RemoteSelectorQuery, RemoteSelectorQueryProps, TUseData };
|
|
64
64
|
//# sourceMappingURL=remote-selector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-text-poor.d.ts","names":[],"sources":["../../src/components/split-text-poor/split-text-poor.tsx"],"sourcesContent":[],"mappings":";cAwBM;EAAA,EAAA,EAAA;;;;;;IAoBM,OAAA,EAAA,CAAA;MAAA,KAAkB;MAAA;KAAA,
|
|
1
|
+
{"version":3,"file":"split-text-poor.d.ts","names":[],"sources":["../../src/components/split-text-poor/split-text-poor.tsx"],"sourcesContent":[],"mappings":";cAwBM;EAAA,EAAA,EAAA;;;;;;IAoBM,OAAA,EAAA,CAAA;MAAA,KAAkB;MAAA;KAAA,EAClB;MAQN,KAAA,EAAA,MAyDL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAlEW,kBAAA;YACA,KAAA,CAAM;;wBAEM;;;;;cAMlB,eAAe,KAAA,CAAM,GAAG"}
|