@eifi1/ui-kit 0.33.0 → 0.33.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/account/delete-account-setting.d.ts +2 -1
- package/dist/admin/admin-action-confirm.d.ts +2 -1
- package/dist/admin/invitations-panel.d.ts +2 -1
- package/dist/admin/plan-change.d.ts +2 -1
- package/dist/admin/plan-change.js +3 -1
- package/dist/admin/plan-change.js.map +1 -1
- package/dist/admin/reviewer-scope-editor.d.ts +2 -1
- package/dist/admin/role-select.d.ts +2 -1
- package/dist/admin/transfer-ownership-dialog.d.ts +2 -1
- package/dist/admin/user-roster.d.ts +2 -1
- package/dist/auth/register-form.d.ts +2 -1
- package/dist/billing/billing-banner.d.ts +2 -1
- package/dist/billing/billing-labels.d.ts +2 -1
- package/dist/billing/billing-lock.d.ts +2 -1
- package/dist/billing/billing-overview.d.ts +2 -1
- package/dist/billing/billing-standing.d.ts +2 -1
- package/dist/billing/checkout-processing.d.ts +2 -1
- package/dist/billing/pay-page.d.ts +11 -6
- package/dist/billing/pay-page.js.map +1 -1
- package/dist/billing/plan-card.d.ts +2 -1
- package/dist/billing/plan-limit-notice.d.ts +2 -1
- package/dist/billing/plan-limit-toast.d.ts +2 -1
- package/dist/billing/subscription-actions.d.ts +2 -1
- package/dist/billing/subscription-status-chip.d.ts +2 -1
- package/dist/chart.d.ts +2 -1
- package/dist/components/amount-input.d.ts +2 -1
- package/dist/components/autocomplete.js +2 -2
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/button-group.d.ts +2 -1
- package/dist/components/calculator.d.ts +2 -1
- package/dist/components/combobox-core.js +2 -1
- package/dist/components/combobox-core.js.map +1 -1
- package/dist/components/combobox.js +2 -2
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/confirm-dialog.d.ts +2 -1
- package/dist/components/copy-button.d.ts +2 -1
- package/dist/components/danger-confirm.d.ts +2 -1
- package/dist/components/dropdown.js +9 -1
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/facing-pair.d.ts +2 -1
- package/dist/components/file-button.d.ts +2 -1
- package/dist/components/file-dropzone.d.ts +2 -1
- package/dist/components/form-actions.d.ts +2 -1
- package/dist/components/full-bleed-dialog.js.map +1 -1
- package/dist/components/iban-input.d.ts +2 -1
- package/dist/components/language-select.d.ts +2 -1
- package/dist/components/legal-page.d.ts +2 -1
- package/dist/components/legal.d.ts +2 -1
- package/dist/components/modal.js.map +1 -1
- package/dist/components/money-field.d.ts +2 -1
- package/dist/components/number-field.d.ts +9 -1
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/number-input.d.ts +29 -2
- package/dist/components/number-input.js +27 -12
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/numpad-sheet.d.ts +2 -1
- package/dist/components/phone-input.d.ts +2 -1
- package/dist/components/popover.js +6 -2
- package/dist/components/popover.js.map +1 -1
- package/dist/components/row-actions.d.ts +2 -1
- package/dist/components/series-chart.d.ts +2 -1
- package/dist/components/settings-fields.d.ts +2 -1
- package/dist/components/share-card.d.ts +2 -1
- package/dist/components/skeleton.d.ts +10 -2
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/text-link.d.ts +2 -1
- package/dist/components/time-input.d.ts +2 -1
- package/dist/components/ui.d.ts +2 -1
- package/dist/{delete-account-setting-DiPX4Vue.d.ts → delete-account-setting-DAgGBrbn.d.ts} +44 -7
- package/dist/feedback/feedback-attachment.d.ts +2 -1
- package/dist/feedback/feedback-context.d.ts +2 -1
- package/dist/feedback/feedback-crash.d.ts +2 -1
- package/dist/feedback/feedback-dialog.d.ts +2 -1
- package/dist/feedback/feedback-inbox.d.ts +2 -1
- package/dist/feedback/feedback-labels.d.ts +2 -1
- package/dist/feedback/feedback-menu.d.ts +2 -1
- package/dist/feedback/feedback-record.d.ts +2 -1
- package/dist/feedback/feedback-row-detail.d.ts +2 -1
- package/dist/feedback/feedback-status-undo.d.ts +2 -1
- package/dist/feedback/feedback-submit.d.ts +2 -1
- package/dist/feedback/feedback-swipe.d.ts +2 -1
- package/dist/feedback/feedback-table.d.ts +2 -1
- package/dist/feedback/feedback-thread.d.ts +3 -2
- package/dist/feedback/feedback-thread.js +5 -1
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/feedback.d.ts +2 -1
- package/dist/hooks/use-anchored-panel.d.ts +37 -7
- package/dist/hooks/use-anchored-panel.js +6 -7
- package/dist/hooks/use-anchored-panel.js.map +1 -1
- package/dist/hooks/use-file-drop.d.ts +2 -1
- package/dist/hooks/use-focus-trap.d.ts +8 -0
- package/dist/hooks/use-focus-trap.js +17 -11
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/i18n/defaults.d.ts +2 -1
- package/dist/i18n/german.d.ts +2 -1
- package/dist/i18n/german.js +4 -1
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +2 -1
- package/dist/i18n/languages.d.ts +2 -1
- package/dist/i18n/locales/de-CH.d.ts +2 -1
- package/dist/i18n/locales/en.d.ts +2 -1
- package/dist/i18n/locales/es.d.ts +2 -1
- package/dist/i18n/locales/es.js +2 -1
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +2 -1
- package/dist/i18n/locales/fr.js +3 -1
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +2 -1
- package/dist/i18n/locales/hu.js +4 -2
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +2 -1
- package/dist/i18n/locales/it.js +2 -1
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +2 -1
- package/dist/i18n/locales/zh.js +1 -0
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/plurals.d.ts +20 -1
- package/dist/i18n/plurals.js +11 -0
- package/dist/i18n/plurals.js.map +1 -1
- package/dist/i18n/review.d.ts +2 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/landing/landing-actions.d.ts +2 -1
- package/dist/landing/landing-sections.d.ts +2 -1
- package/dist/landing/public-header.d.ts +2 -1
- package/dist/landing/routing.d.ts +2 -1
- package/dist/rhf/fields.d.ts +2 -1
- package/dist/rhf/form.d.ts +2 -1
- package/dist/rhf.d.ts +2 -1
- package/dist/settings/settings-section.d.ts +2 -1
- package/dist/shell/app-shell.d.ts +2 -1
- package/dist/shell/top-bar-brand.d.ts +2 -1
- package/dist/shell.d.ts +2 -1
- package/dist/wizard/stepper-nav.d.ts +2 -1
- package/dist/wizard.d.ts +2 -1
- package/package.json +1 -1
- package/src/admin/plan-change.tsx +35 -7
- package/src/billing/pay-page.ts +9 -5
- package/src/components/autocomplete.tsx +5 -2
- package/src/components/combobox-core.tsx +5 -2
- package/src/components/combobox.tsx +4 -2
- package/src/components/dropdown.tsx +12 -2
- package/src/components/full-bleed-dialog.tsx +6 -0
- package/src/components/modal.tsx +5 -0
- package/src/components/number-field.tsx +7 -0
- package/src/components/number-input.tsx +71 -11
- package/src/components/popover.tsx +6 -2
- package/src/components/skeleton.tsx +10 -2
- package/src/feedback/feedback-thread.tsx +20 -1
- package/src/hooks/use-anchored-panel.ts +60 -14
- package/src/hooks/use-focus-trap.ts +55 -12
- package/src/i18n/german.ts +4 -1
- package/src/i18n/locales/es.ts +2 -1
- package/src/i18n/locales/fr.ts +3 -1
- package/src/i18n/locales/hu.ts +4 -2
- package/src/i18n/locales/it.ts +2 -1
- package/src/i18n/locales/zh.ts +1 -0
- package/src/i18n/plurals.ts +29 -0
- package/src/index.ts +3 -1
- package/tokens.css +18 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { f8 as SelectProps } from '../delete-account-setting-
|
|
3
|
+
import { f8 as SelectProps } from '../delete-account-setting-DAgGBrbn.js';
|
|
4
4
|
import { ToggleGroupBaseProps } from './toggle-group.js';
|
|
5
5
|
import { ThemePreference } from '../theme/theme-store.js';
|
|
6
6
|
import { TextSize } from '../theme/text-size.js';
|
|
@@ -86,6 +86,7 @@ import '../admin/admin-parts.js';
|
|
|
86
86
|
import '../admin/admin-action-log.js';
|
|
87
87
|
import '../settings/settings-labels.js';
|
|
88
88
|
import '../demo/demo-labels.js';
|
|
89
|
+
import '../i18n/plurals.js';
|
|
89
90
|
import './reauth-dialog.js';
|
|
90
91
|
import './server-wake.js';
|
|
91
92
|
import '../lib/server-wake.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import './account-chips.js';
|
|
3
3
|
import './dialog-frame.js';
|
|
4
|
-
export { cQ as DEFAULT_SHARE_CARD_LABELS, f9 as ShareAddRequest, fa as ShareCandidate, fb as ShareCard, fc as ShareCardLabels, fd as ShareCardProps, fe as ShareDialog, ff as ShareDialogProps, fg as ShareGrantee, fh as SharePanel, fi as SharePanelProps, fj as SharePendingGrant, fk as ShareRole } from '../delete-account-setting-
|
|
4
|
+
export { cQ as DEFAULT_SHARE_CARD_LABELS, f9 as ShareAddRequest, fa as ShareCandidate, fb as ShareCard, fc as ShareCardLabels, fd as ShareCardProps, fe as ShareDialog, ff as ShareDialogProps, fg as ShareGrantee, fh as SharePanel, fi as SharePanelProps, fj as SharePendingGrant, fk as ShareRole } from '../delete-account-setting-DAgGBrbn.js';
|
|
5
5
|
import 'lucide-react';
|
|
6
6
|
import '../lib/format.js';
|
|
7
7
|
import './chip.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import './appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ComponentPropsWithRef } from 'react';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The look of a placeholder, as one class string — the same fill and pulse
|
|
@@ -12,7 +12,15 @@ import { ComponentPropsWithoutRef } from 'react';
|
|
|
12
12
|
*/
|
|
13
13
|
declare const SKELETON_CLASS = "animate-pulse rounded bg-[var(--bg-active)] motion-reduce:animate-none";
|
|
14
14
|
type SkeletonShape = "line" | "block" | "circle";
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* A `div`'s props, `ref` included (0.33.1, keksdose): they were spread onto the
|
|
17
|
+
* placeholder all along, but `ComponentPropsWithoutRef` kept `ref` out of the type, so an
|
|
18
|
+
* app could not hold the element (to measure it, or scroll it into view) without a
|
|
19
|
+
* wrapper. The ref is the placeholder's — with `lines`, the box round the lines; with
|
|
20
|
+
* `label`, still the placeholder, not the `role="status"` region round it — where
|
|
21
|
+
* `className` goes too.
|
|
22
|
+
*/
|
|
23
|
+
interface SkeletonProps extends Omit<ComponentPropsWithRef<"div">, "children"> {
|
|
16
24
|
/** `line` (default): a bar the height of a line of small text. `block`: an area
|
|
17
25
|
* (an image, a chart, a card body). `circle`: an avatar. Size any of them with
|
|
18
26
|
* `className` (`w-32`, `h-40`, `size-8`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/skeleton.tsx"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../../src/components/skeleton.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from \"react\";\nimport { cn } from \"../lib/cn\";\n\n/**\n * The look of a placeholder, as one class string — the same fill and pulse\n * `StatTile`'s `loading` headline draws (it imports this), so a tile and the list\n * beside it shimmer as one surface.\n *\n * `motion-reduce:animate-none`: a pulse is motion with no information in it, which\n * is exactly what `prefers-reduced-motion` asks to be dropped. The fill stays, so the\n * shape of what is coming is still there.\n */\nexport const SKELETON_CLASS = \"animate-pulse rounded bg-[var(--bg-active)] motion-reduce:animate-none\";\n\nexport type SkeletonShape = \"line\" | \"block\" | \"circle\";\n\n/**\n * A `div`'s props, `ref` included (0.33.1, keksdose): they were spread onto the\n * placeholder all along, but `ComponentPropsWithoutRef` kept `ref` out of the type, so an\n * app could not hold the element (to measure it, or scroll it into view) without a\n * wrapper. The ref is the placeholder's — with `lines`, the box round the lines; with\n * `label`, still the placeholder, not the `role=\"status\"` region round it — where\n * `className` goes too.\n */\nexport interface SkeletonProps extends Omit<ComponentPropsWithRef<\"div\">, \"children\"> {\n /** `line` (default): a bar the height of a line of small text. `block`: an area\n * (an image, a chart, a card body). `circle`: an avatar. Size any of them with\n * `className` (`w-32`, `h-40`, `size-8`). */\n shape?: SkeletonShape;\n /** For `line`: this many lines, the last one shorter — a paragraph's outline. */\n lines?: number;\n /**\n * Say what is loading, once: wraps the placeholder in a `role=\"status\"` region with\n * this as its (visually hidden) text — kastlan's activity feed (activity-feed:52)\n * built exactly that by hand around `<Skeleton lines={5} />`. The placeholder itself\n * stays hidden. Left out, nothing is announced, as before.\n */\n label?: string;\n}\n\nconst SHAPE: Record<SkeletonShape, string> = {\n line: \"h-3 w-full\",\n block: \"h-24 w-full rounded-md\",\n circle: \"size-10 rounded-full\",\n};\n\n/**\n * A grey stand-in for content that is on its way.\n *\n * keksdose and kastlan both drew these by hand — `animate-pulse bg-slate-200` in one\n * place, a token in the next, a pulse that ran under reduced motion everywhere.\n *\n * ALWAYS `aria-hidden`. A placeholder is not content, and a reader that met twelve\n * unnamed grey boxes would have learned nothing. Say \"loading\" once, where it\n * belongs: `aria-busy` on the region being filled, a `Spinner` / sr-only line\n * beside the skeletons, or this component's own `label`.\n */\nexport function Skeleton({ label, ...props }: SkeletonProps) {\n if (!label) return <SkeletonFill {...props} />;\n return (\n // `relative`: the containing block for the sr-only text (sr-only-containment.test).\n <div role=\"status\" className=\"relative\" data-skeleton-status=\"\">\n <span className=\"sr-only\">{label}</span>\n <SkeletonFill {...props} />\n </div>\n );\n}\n\nfunction SkeletonFill({ shape = \"line\", lines, className, ...rest }: Omit<SkeletonProps, \"label\">) {\n if (shape === \"line\" && lines !== undefined && lines > 1) {\n return (\n <div {...rest} aria-hidden className={cn(\"flex flex-col gap-2\", className)} data-skeleton=\"lines\">\n {Array.from({ length: lines }, (_, i) => (\n <div\n key={i}\n className={cn(SKELETON_CLASS, SHAPE.line, i === lines - 1 && \"w-2/3\")}\n data-skeleton=\"line\"\n />\n ))}\n </div>\n );\n }\n return (\n <div\n {...rest}\n aria-hidden\n data-skeleton={shape}\n className={cn(SKELETON_CLASS, SHAPE[shape], className)}\n />\n );\n}\n"],"mappings":";AA0DqB,cAGjB,YAHiB;AAzDrB,SAAS,UAAU;AAWZ,MAAM,iBAAiB;AA4B9B,MAAM,QAAuC;AAAA,EAC3C,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AACV;AAaO,SAAS,SAAS,EAAE,OAAO,GAAG,MAAM,GAAkB;AAC3D,MAAI,CAAC,MAAO,QAAO,oBAAC,gBAAc,GAAG,OAAO;AAC5C;AAAA;AAAA,IAEE,qBAAC,SAAI,MAAK,UAAS,WAAU,YAAW,wBAAqB,IAC3D;AAAA,0BAAC,UAAK,WAAU,WAAW,iBAAM;AAAA,MACjC,oBAAC,gBAAc,GAAG,OAAO;AAAA,OAC3B;AAAA;AAEJ;AAEA,SAAS,aAAa,EAAE,QAAQ,QAAQ,OAAO,WAAW,GAAG,KAAK,GAAiC;AACjG,MAAI,UAAU,UAAU,UAAU,UAAa,QAAQ,GAAG;AACxD,WACE,oBAAC,SAAK,GAAG,MAAM,eAAW,MAAC,WAAW,GAAG,uBAAuB,SAAS,GAAG,iBAAc,SACvF,gBAAM,KAAK,EAAE,QAAQ,MAAM,GAAG,CAAC,GAAG,MACjC;AAAA,MAAC;AAAA;AAAA,QAEC,WAAW,GAAG,gBAAgB,MAAM,MAAM,MAAM,QAAQ,KAAK,OAAO;AAAA,QACpE,iBAAc;AAAA;AAAA,MAFT;AAAA,IAGP,CACD,GACH;AAAA,EAEJ;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,eAAW;AAAA,MACX,iBAAe;AAAA,MACf,WAAW,GAAG,gBAAgB,MAAM,KAAK,GAAG,SAAS;AAAA;AAAA,EACvD;AAEJ;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactElement, ComponentPropsWithoutRef, ReactNode, Ref, MouseEvent, KeyboardEvent } from 'react';
|
|
3
3
|
import { LucideIcon } from 'lucide-react';
|
|
4
|
-
import { e1 as KitLinkComponent } from '../delete-account-setting-
|
|
4
|
+
import { e1 as KitLinkComponent } from '../delete-account-setting-DAgGBrbn.js';
|
|
5
5
|
import './tooltip.js';
|
|
6
6
|
import '../hooks/use-anchored-rect.js';
|
|
7
7
|
import '../lib/clipping.js';
|
|
@@ -82,6 +82,7 @@ import '../admin/admin-parts.js';
|
|
|
82
82
|
import '../admin/admin-action-log.js';
|
|
83
83
|
import '../settings/settings-labels.js';
|
|
84
84
|
import '../demo/demo-labels.js';
|
|
85
|
+
import '../i18n/plurals.js';
|
|
85
86
|
import './appearance-labels.js';
|
|
86
87
|
import '../theme/contrast.js';
|
|
87
88
|
import '../theme/text-size.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import { dP as InputProps } from '../delete-account-setting-
|
|
2
|
+
import { dP as InputProps } from '../delete-account-setting-DAgGBrbn.js';
|
|
3
3
|
import './tooltip.js';
|
|
4
4
|
import '../hooks/use-anchored-rect.js';
|
|
5
5
|
import '../lib/clipping.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import './appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
package/dist/components/ui.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import './tooltip.js';
|
|
3
|
-
export { bI as Button, bJ as ButtonClassesOptions, bK as ButtonLinkProps, bL as ButtonProps, bM as ButtonSize, bN as ButtonTone, bO as ButtonVariant, bQ as Card, bR as CardAction, bS as CardActionProps, bT as CardContent, bU as CardContentProps, bV as CardDensity, bW as CardDescription, bX as CardDescriptionProps, bY as CardFooter, bZ as CardFooterProps, b_ as CardHeader, b$ as CardHeaderProps, c0 as CardProps, c1 as CardTitle, c2 as CardTitleLevel, c3 as CardTitleProps, c4 as CardTone, c5 as CharacterCountLabels, cr as DEFAULT_CHARACTER_COUNT_LABELS, cI as DEFAULT_PASSWORD_REVEAL_LABELS, cS as DEFAULT_TABS_LABELS, d6 as EmptyState, d7 as EmptyStateProps, d8 as FIELD_BASE, d9 as FIELD_DISPLAY, da as FIELD_FLOATING_PAD, db as FIELD_INVALID, dc as FIELD_TOUCH_TEXT, dd as FIELD_TRIGGER, de as FIELD_WRITABLE_LOOK, df as FLOATING_INPUT_CLASS, dg as FLOATING_LABEL_CLASS, dh as FieldChevron, di as FieldChevronProps, dr as FloatingField, ds as FloatingFieldProps, dG as IconButton, dH as IconButtonGlyphSize, dI as IconButtonLinkProps, dJ as IconButtonProps, dK as IconButtonSize, dL as IconButtonTone, dM as IconButtonToneColor, dN as IconButtonVariant, dO as Input, dP as InputProps, e4 as Label, e6 as LabelProps, ep as PHONE_QUERY, eq as PasswordRevealLabels, f7 as Select, f8 as SelectProps, fl as Spinner, fm as SpinnerProps, fp as TOUCH_TARGET_LARGE, fq as TabItem, fr as Tabs, fs as TabsLabels, ft as TabsProps, fu as Textarea, fv as TextareaProps, fZ as buttonClasses, g8 as resolvePasswordRevealLabels } from '../delete-account-setting-
|
|
3
|
+
export { bI as Button, bJ as ButtonClassesOptions, bK as ButtonLinkProps, bL as ButtonProps, bM as ButtonSize, bN as ButtonTone, bO as ButtonVariant, bQ as Card, bR as CardAction, bS as CardActionProps, bT as CardContent, bU as CardContentProps, bV as CardDensity, bW as CardDescription, bX as CardDescriptionProps, bY as CardFooter, bZ as CardFooterProps, b_ as CardHeader, b$ as CardHeaderProps, c0 as CardProps, c1 as CardTitle, c2 as CardTitleLevel, c3 as CardTitleProps, c4 as CardTone, c5 as CharacterCountLabels, cr as DEFAULT_CHARACTER_COUNT_LABELS, cI as DEFAULT_PASSWORD_REVEAL_LABELS, cS as DEFAULT_TABS_LABELS, d6 as EmptyState, d7 as EmptyStateProps, d8 as FIELD_BASE, d9 as FIELD_DISPLAY, da as FIELD_FLOATING_PAD, db as FIELD_INVALID, dc as FIELD_TOUCH_TEXT, dd as FIELD_TRIGGER, de as FIELD_WRITABLE_LOOK, df as FLOATING_INPUT_CLASS, dg as FLOATING_LABEL_CLASS, dh as FieldChevron, di as FieldChevronProps, dr as FloatingField, ds as FloatingFieldProps, dG as IconButton, dH as IconButtonGlyphSize, dI as IconButtonLinkProps, dJ as IconButtonProps, dK as IconButtonSize, dL as IconButtonTone, dM as IconButtonToneColor, dN as IconButtonVariant, dO as Input, dP as InputProps, e4 as Label, e6 as LabelProps, ep as PHONE_QUERY, eq as PasswordRevealLabels, f7 as Select, f8 as SelectProps, fl as Spinner, fm as SpinnerProps, fp as TOUCH_TARGET_LARGE, fq as TabItem, fr as Tabs, fs as TabsLabels, ft as TabsProps, fu as Textarea, fv as TextareaProps, fZ as buttonClasses, g8 as resolvePasswordRevealLabels } from '../delete-account-setting-DAgGBrbn.js';
|
|
4
4
|
import './write-lock.js';
|
|
5
5
|
export { CompactControls, DISABLED_REASON_LINE_CLASS, DisabledReasonDisplay, DisabledReasonLine, FLOATING_LABEL_STATIC, FieldHint, FieldHintProps, FieldLabel, FieldLabelProps, useDisabledReasonLine } from './field-parts.js';
|
|
6
6
|
export { FOCUS_RING, FOCUS_RING_WIDTH } from './focus-ring.js';
|
|
@@ -82,6 +82,7 @@ import '../admin/admin-parts.js';
|
|
|
82
82
|
import '../admin/admin-action-log.js';
|
|
83
83
|
import '../settings/settings-labels.js';
|
|
84
84
|
import '../demo/demo-labels.js';
|
|
85
|
+
import '../i18n/plurals.js';
|
|
85
86
|
import './appearance-labels.js';
|
|
86
87
|
import '../theme/contrast.js';
|
|
87
88
|
import '../theme/text-size.js';
|
|
@@ -63,6 +63,7 @@ import { AdminActionLogLabels } from './admin/admin-action-log.js';
|
|
|
63
63
|
import { SettingsLabels } from './settings/settings-labels.js';
|
|
64
64
|
import { LandingLabels } from './landing/landing-labels.js';
|
|
65
65
|
import { DemoLabels } from './demo/demo-labels.js';
|
|
66
|
+
import { PluralForms } from './i18n/plurals.js';
|
|
66
67
|
import { AppearanceLabels } from './components/appearance-labels.js';
|
|
67
68
|
import { TextSize } from './theme/text-size.js';
|
|
68
69
|
import { ReauthDialogLabels } from './components/reauth-dialog.js';
|
|
@@ -1384,6 +1385,18 @@ interface FeedbackComposerProps {
|
|
|
1384
1385
|
/** Rendered INSTEAD of the composer — the thread is closed, or read-only for this
|
|
1385
1386
|
* reader. */
|
|
1386
1387
|
disabledReason?: ReactNode;
|
|
1388
|
+
/**
|
|
1389
|
+
* Send COMMITS (0.33.1, kastlan's assistant): under a locked {@link WriteLockProvider}
|
|
1390
|
+
* Send is disabled the `disabledReason` way — focusable, the lock's reason in its
|
|
1391
|
+
* tooltip and description, as on {@link Button}'s `commit` — and neither Enter nor
|
|
1392
|
+
* Ctrl/⌘+Enter sends. The box stays editable and the draft stays: nothing in it
|
|
1393
|
+
* reaches the server until Send, and the lock may lift. No provider, or an unlocked
|
|
1394
|
+
* one: no effect. A {@link CommitScope}: kastlan's assistant answers under the demo
|
|
1395
|
+
* and not under a lapsed plan (its backend's 402), so it passes
|
|
1396
|
+
* `commit={{ except: ["demo"] }}` where it read `useWriteLock` and fed `canSend` and a
|
|
1397
|
+
* reason by hand. Not the prop above: that one replaces the box, this one keeps it.
|
|
1398
|
+
*/
|
|
1399
|
+
commit?: CommitScope;
|
|
1387
1400
|
rows?: number;
|
|
1388
1401
|
/**
|
|
1389
1402
|
* The longest draft the box takes, in UTF-16 code units as the browser counts — the
|
|
@@ -1476,7 +1489,7 @@ interface FeedbackComposerHandle {
|
|
|
1476
1489
|
* use, so the habit carries across the feature. Plain Enter is a new line: feedback is
|
|
1477
1490
|
* written in paragraphs, unlike a chat — which `sendOn="enter"` is for (keksdose G5).
|
|
1478
1491
|
*/
|
|
1479
|
-
declare function FeedbackComposer({ onSend, pending, attachment, attachmentSlot, canSend: canSendProp, sendOn, disabledReason, rows, maxLength, showCount, countLabels, placeholder, value, onValueChange, ref, labels: labelsProp, className, id, size, ...rest }: FeedbackComposerProps): react.JSX.Element;
|
|
1492
|
+
declare function FeedbackComposer({ onSend, pending, attachment, attachmentSlot, canSend: canSendProp, sendOn, disabledReason, commit, rows, maxLength, showCount, countLabels, placeholder, value, onValueChange, ref, labels: labelsProp, className, id, size, ...rest }: FeedbackComposerProps): react.JSX.Element;
|
|
1480
1493
|
/**
|
|
1481
1494
|
* {@link FeedbackComposer} under a name that is not about feedback (keksdose K17).
|
|
1482
1495
|
*
|
|
@@ -5123,8 +5136,14 @@ interface PlanChangeLabels {
|
|
|
5123
5136
|
untilDone: (date: string) => string;
|
|
5124
5137
|
/** The result: the account owns more than the new plan allows. */
|
|
5125
5138
|
overLimit: string;
|
|
5126
|
-
/**
|
|
5127
|
-
*
|
|
5139
|
+
/**
|
|
5140
|
+
* The column's usage, spelled out (its tooltip): "1 of 5 budgets". Figures arrive
|
|
5141
|
+
* formatted; `dimension` is the app's word, as `usage.label` gives it — since 0.33.1
|
|
5142
|
+
* in the form the LIMIT takes when the label gives its plural forms ("1 of 1 budget",
|
|
5143
|
+
* "1 of 5 budgets"): in every shipped language the word follows the limit, or heads
|
|
5144
|
+
* the line in German, whose `von` would want a dative plural no app form carries
|
|
5145
|
+
* ("Budgets: 1 von 5"). An override of yours gets the same word.
|
|
5146
|
+
*/
|
|
5128
5147
|
usageOf: (used: string, limit: string, dimension: string) => string;
|
|
5129
5148
|
}
|
|
5130
5149
|
declare const DEFAULT_PLAN_CHANGE_LABELS: PlanChangeLabels;
|
|
@@ -5133,8 +5152,17 @@ interface PlanColumnUsage {
|
|
|
5133
5152
|
used: number;
|
|
5134
5153
|
/** The plan's limit for it; `null` (unlimited, or none known): no line. */
|
|
5135
5154
|
limit: number | null;
|
|
5136
|
-
/**
|
|
5137
|
-
|
|
5155
|
+
/**
|
|
5156
|
+
* The app's word for what is counted, as it reads after a number: "budgets" in "1 of 5
|
|
5157
|
+
* budgets" — the word in a sentence, not a heading's "Budgets".
|
|
5158
|
+
*
|
|
5159
|
+
* Its plural forms (0.33.1, keksdose): `{ one: "budget", other: "budgets" }` — your
|
|
5160
|
+
* catalogue's `_one` / `_other` pair, any CLDR category allowed, `other` for the rest
|
|
5161
|
+
* ({@link PluralForms}). The column picks the form for the limit in the provider's
|
|
5162
|
+
* locale, so a plan of one reads "1 of 1 budget". A plain string is used as it is,
|
|
5163
|
+
* whatever the count.
|
|
5164
|
+
*/
|
|
5165
|
+
label: string | PluralForms;
|
|
5138
5166
|
}
|
|
5139
5167
|
interface PlanColumnOptions<T> {
|
|
5140
5168
|
/** The column's key. Default `"plan"`. */
|
|
@@ -5147,13 +5175,18 @@ interface PlanColumnOptions<T> {
|
|
|
5147
5175
|
* undefined for a row: no chip — billing off, where a status says nothing. */
|
|
5148
5176
|
status?: (row: T) => SubscriptionStatus | undefined;
|
|
5149
5177
|
/** The row's usage of its plan's limit: "1/5" under the name, "1 of 5 budgets" in
|
|
5150
|
-
* the tooltip.
|
|
5178
|
+
* the tooltip (`planChange.usageOf`, with the label's form for the limit). Undefined
|
|
5179
|
+
* for a row, or a `null` limit: no line. */
|
|
5151
5180
|
usage?: (row: T) => PlanColumnUsage | undefined;
|
|
5152
5181
|
/** A select filter over these codes, each named by `planName`. Left out: none. */
|
|
5153
5182
|
filterPlans?: readonly string[];
|
|
5154
5183
|
/**
|
|
5155
5184
|
* The sort. Default: by the plan code (keksdose's, `users-panel.tsx:739`). A function:
|
|
5156
5185
|
* by its value — the catalogue's `sort` for rank order. `false`: not sortable.
|
|
5186
|
+
*
|
|
5187
|
+
* Client-side only, as every column's `sortBy`: a `DataTable` with `serverPagination`
|
|
5188
|
+
* holds one page, so it sorts nothing itself — with `onSortsChange` it reports the
|
|
5189
|
+
* column's `key` (default `"plan"`), and your server orders the rows by it.
|
|
5157
5190
|
*/
|
|
5158
5191
|
sortBy?: false | ((row: T) => string | number | null | undefined);
|
|
5159
5192
|
/** The header's text. Default `planChange.column`. */
|
|
@@ -5172,7 +5205,11 @@ interface PlanColumnOptions<T> {
|
|
|
5172
5205
|
* plan: (u) => u.plan,
|
|
5173
5206
|
* planName,
|
|
5174
5207
|
* status: billingOn ? (u) => u.subscription?.status : undefined,
|
|
5175
|
-
* usage: (u) => ({
|
|
5208
|
+
* usage: (u) => ({
|
|
5209
|
+
* used: u.budgets_owned,
|
|
5210
|
+
* limit: u.limits.budgets,
|
|
5211
|
+
* label: { one: t("planUsage.budget_one"), other: t("planUsage.budget_other") },
|
|
5212
|
+
* }),
|
|
5176
5213
|
* filterPlans: plans.map((p) => p.code),
|
|
5177
5214
|
* })]
|
|
5178
5215
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
export { D as DEFAULT_ATTACHMENT_ACCEPT, e as DEFAULT_FEEDBACK_ATTACHMENT_LABELS, p as DEFAULT_MAX_ATTACHMENTS, q as DEFAULT_MAX_ATTACHMENT_BYTES, A as FeedbackAttachmentError, B as FeedbackAttachmentErrorInfo, E as FeedbackAttachmentField, G as FeedbackAttachmentFieldLabels, H as FeedbackAttachmentFieldMultipleProps, I as FeedbackAttachmentFieldProps, J as FeedbackAttachmentFieldRefsProps, K as FeedbackAttachmentFieldSingleProps, M as FeedbackAttachmentRef, N as FeedbackAttachmentRefsError, be as pastedName } from '../delete-account-setting-
|
|
2
|
+
export { D as DEFAULT_ATTACHMENT_ACCEPT, e as DEFAULT_FEEDBACK_ATTACHMENT_LABELS, p as DEFAULT_MAX_ATTACHMENTS, q as DEFAULT_MAX_ATTACHMENT_BYTES, A as FeedbackAttachmentError, B as FeedbackAttachmentErrorInfo, E as FeedbackAttachmentField, G as FeedbackAttachmentFieldLabels, H as FeedbackAttachmentFieldMultipleProps, I as FeedbackAttachmentFieldProps, J as FeedbackAttachmentFieldRefsProps, K as FeedbackAttachmentFieldSingleProps, M as FeedbackAttachmentRef, N as FeedbackAttachmentRefsError, be as pastedName } from '../delete-account-setting-DAgGBrbn.js';
|
|
3
3
|
import '../components/write-lock.js';
|
|
4
4
|
import '../components/tooltip.js';
|
|
5
5
|
import '../hooks/use-anchored-rect.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
export { h as DEFAULT_FEEDBACK_CONTEXT_LABELS, a0 as FeedbackContextBox, a1 as FeedbackContextBoxProps, a2 as FeedbackContextInput, a3 as FeedbackContextLabels, aM as FeedbackSubmitter, b2 as feedbackContext } from '../delete-account-setting-
|
|
2
|
+
export { h as DEFAULT_FEEDBACK_CONTEXT_LABELS, a0 as FeedbackContextBox, a1 as FeedbackContextBoxProps, a2 as FeedbackContextInput, a3 as FeedbackContextLabels, aM as FeedbackSubmitter, b2 as feedbackContext } from '../delete-account-setting-DAgGBrbn.js';
|
|
3
3
|
import '../components/tooltip.js';
|
|
4
4
|
import '../hooks/use-anchored-rect.js';
|
|
5
5
|
import '../lib/clipping.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CrashReport } from '../components/error-boundary.js';
|
|
2
|
-
import { ah as FeedbackEnvironment } from '../delete-account-setting-
|
|
2
|
+
import { ah as FeedbackEnvironment } from '../delete-account-setting-DAgGBrbn.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '../components/tooltip.js';
|
|
5
5
|
import '../hooks/use-anchored-rect.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
export { j as DEFAULT_FEEDBACK_DIALOG_LABELS, L as FeedbackAttachmentLabels, T as FeedbackCategoryOption, a9 as FeedbackDialog, aa as FeedbackDialogLabels, ab as FeedbackDialogMultipleProps, ac as FeedbackDialogProps, ad as FeedbackDialogSingleProps, ae as FeedbackDialogTextLabels, an as FeedbackMultipleSubmission, aK as FeedbackSubmission, aL as FeedbackSubmitHint } from '../delete-account-setting-
|
|
2
|
+
export { j as DEFAULT_FEEDBACK_DIALOG_LABELS, L as FeedbackAttachmentLabels, T as FeedbackCategoryOption, a9 as FeedbackDialog, aa as FeedbackDialogLabels, ab as FeedbackDialogMultipleProps, ac as FeedbackDialogProps, ad as FeedbackDialogSingleProps, ae as FeedbackDialogTextLabels, an as FeedbackMultipleSubmission, aK as FeedbackSubmission, aL as FeedbackSubmitHint } from '../delete-account-setting-DAgGBrbn.js';
|
|
3
3
|
import '../components/tooltip.js';
|
|
4
4
|
import '../hooks/use-anchored-rect.js';
|
|
5
5
|
import '../lib/clipping.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import 'lucide-react';
|
|
3
|
-
export { t as FEEDBACK_CATEGORY_META, u as FEEDBACK_CATEGORY_ORDER, x as FEEDBACK_STATUS_META, y as FEEDBACK_STATUS_ORDER, Q as FeedbackCategory, R as FeedbackCategoryBadge, a4 as FeedbackDetail, a7 as FeedbackDetailSection, ao as FeedbackNoteAttachment, ap as FeedbackNoteEditor, ar as FeedbackProse, az as FeedbackStatus, aA as FeedbackStatusBadge, aG as FeedbackStatusTransitions, b0 as feedbackCategoryRank, bd as nextFeedbackStatus, bh as selectableFeedbackStatuses, bs as visibleFeedbackStatuses } from '../delete-account-setting-
|
|
3
|
+
export { t as FEEDBACK_CATEGORY_META, u as FEEDBACK_CATEGORY_ORDER, x as FEEDBACK_STATUS_META, y as FEEDBACK_STATUS_ORDER, Q as FeedbackCategory, R as FeedbackCategoryBadge, a4 as FeedbackDetail, a7 as FeedbackDetailSection, ao as FeedbackNoteAttachment, ap as FeedbackNoteEditor, ar as FeedbackProse, az as FeedbackStatus, aA as FeedbackStatusBadge, aG as FeedbackStatusTransitions, b0 as feedbackCategoryRank, bd as nextFeedbackStatus, bh as selectableFeedbackStatuses, bs as visibleFeedbackStatuses } from '../delete-account-setting-DAgGBrbn.js';
|
|
4
4
|
import '../components/write-lock.js';
|
|
5
5
|
import '../components/tooltip.js';
|
|
6
6
|
import '../hooks/use-anchored-rect.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { f as DEFAULT_FEEDBACK_CATEGORY_LABELS, m as DEFAULT_FEEDBACK_STATUS_LABELS, o as DEFAULT_FEEDBACK_TOAST_LABELS, S as FeedbackCategoryLabels, aC as FeedbackStatusLabels, aV as FeedbackToastLabels, bk as useFeedbackCategoryLabels, bp as useFeedbackStatusLabels, br as useFeedbackToastLabels } from '../delete-account-setting-
|
|
1
|
+
export { f as DEFAULT_FEEDBACK_CATEGORY_LABELS, m as DEFAULT_FEEDBACK_STATUS_LABELS, o as DEFAULT_FEEDBACK_TOAST_LABELS, S as FeedbackCategoryLabels, aC as FeedbackStatusLabels, aV as FeedbackToastLabels, bk as useFeedbackCategoryLabels, bp as useFeedbackStatusLabels, br as useFeedbackToastLabels } from '../delete-account-setting-DAgGBrbn.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../components/tooltip.js';
|
|
4
4
|
import '../hooks/use-anchored-rect.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import '../components/user-avatar.js';
|
|
3
3
|
import '../shell/topbar-action-menu.js';
|
|
4
|
-
export { k as DEFAULT_FEEDBACK_MENU_LABELS, ai as FeedbackMenu, aj as FeedbackMenuLabels, ak as FeedbackMenuProps } from '../delete-account-setting-
|
|
4
|
+
export { k as DEFAULT_FEEDBACK_MENU_LABELS, ai as FeedbackMenu, aj as FeedbackMenuLabels, ak as FeedbackMenuProps } from '../delete-account-setting-DAgGBrbn.js';
|
|
5
5
|
import '../lib/person-name.js';
|
|
6
6
|
import '../components/status-dot.js';
|
|
7
7
|
import '../components/progress-bar.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { F as FEEDBACK_ATTACHMENT_ACCEPT, r as FEEDBACK_AUTHOR_EDITABLE_STATUSES, s as FEEDBACK_AWAITING_STATUSES, v as FEEDBACK_PICKABLE_CATEGORIES, w as FEEDBACK_REWORKABLE_STATUSES, $ as FeedbackContext, ah as FeedbackEnvironment, as as FeedbackRecord, aY as appendRework, aZ as attachmentName, a_ as feedbackAttachmentLine, bc as isImageAttachment, bf as replaceDescription, bg as reworkCount, bi as splitBodyAttachments, bj as splitDescription } from '../delete-account-setting-
|
|
1
|
+
export { F as FEEDBACK_ATTACHMENT_ACCEPT, r as FEEDBACK_AUTHOR_EDITABLE_STATUSES, s as FEEDBACK_AWAITING_STATUSES, v as FEEDBACK_PICKABLE_CATEGORIES, w as FEEDBACK_REWORKABLE_STATUSES, $ as FeedbackContext, ah as FeedbackEnvironment, as as FeedbackRecord, aY as appendRework, aZ as attachmentName, a_ as feedbackAttachmentLine, bc as isImageAttachment, bf as replaceDescription, bg as reworkCount, bi as splitBodyAttachments, bj as splitDescription } from '../delete-account-setting-DAgGBrbn.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../components/tooltip.js';
|
|
4
4
|
import '../hooks/use-anchored-rect.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import '../hooks/use-authed-src.js';
|
|
3
|
-
export { i as DEFAULT_FEEDBACK_DETAIL_LABELS, a5 as FeedbackDetailLabels, a6 as FeedbackDetailPatch, a8 as FeedbackDetailUpdate, au as FeedbackReworkSection, av as FeedbackReworkSectionProps, aw as FeedbackRowAccess, ax as FeedbackRowDetail, ay as FeedbackRowDetailProps, aW as FeedbackUpload, a$ as feedbackAttachmentUrls, b5 as feedbackPageHref, b6 as feedbackPagePath, b7 as feedbackPageUrl, b8 as feedbackRowAccess, bm as useFeedbackDetailLabels } from '../delete-account-setting-
|
|
3
|
+
export { i as DEFAULT_FEEDBACK_DETAIL_LABELS, a5 as FeedbackDetailLabels, a6 as FeedbackDetailPatch, a8 as FeedbackDetailUpdate, au as FeedbackReworkSection, av as FeedbackReworkSectionProps, aw as FeedbackRowAccess, ax as FeedbackRowDetail, ay as FeedbackRowDetailProps, aW as FeedbackUpload, a$ as feedbackAttachmentUrls, b5 as feedbackPageHref, b6 as feedbackPagePath, b7 as feedbackPageUrl, b8 as feedbackRowAccess, bm as useFeedbackDetailLabels } from '../delete-account-setting-DAgGBrbn.js';
|
|
4
4
|
import '../components/write-lock.js';
|
|
5
5
|
import '../components/tooltip.js';
|
|
6
6
|
import '../hooks/use-anchored-rect.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { z as FEEDBACK_UNDO_DURATION, aB as FeedbackStatusChange, aD as FeedbackStatusMutate, aE as FeedbackStatusPatch, aF as FeedbackStatusRow, aH as FeedbackStatusUndoOptions, bq as useFeedbackStatusUndo } from '../delete-account-setting-
|
|
1
|
+
export { z as FEEDBACK_UNDO_DURATION, aB as FeedbackStatusChange, aD as FeedbackStatusMutate, aE as FeedbackStatusPatch, aF as FeedbackStatusRow, aH as FeedbackStatusUndoOptions, bq as useFeedbackStatusUndo } from '../delete-account-setting-DAgGBrbn.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../components/tooltip.js';
|
|
4
4
|
import '../hooks/use-anchored-rect.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { Q as FeedbackCategory, $ as FeedbackContext, aM as FeedbackSubmitter, ah as FeedbackEnvironment } from '../delete-account-setting-
|
|
2
|
+
import { Q as FeedbackCategory, $ as FeedbackContext, aM as FeedbackSubmitter, ah as FeedbackEnvironment } from '../delete-account-setting-DAgGBrbn.js';
|
|
3
3
|
import '../components/tooltip.js';
|
|
4
4
|
import '../hooks/use-anchored-rect.js';
|
|
5
5
|
import '../lib/clipping.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { M as MobileSwipeActions } from '../data-table-labels-BJ5JE_X2.js';
|
|
2
|
-
import { aB as FeedbackStatusChange, aC as FeedbackStatusLabels, aF as FeedbackStatusRow } from '../delete-account-setting-
|
|
2
|
+
import { aB as FeedbackStatusChange, aC as FeedbackStatusLabels, aF as FeedbackStatusRow } from '../delete-account-setting-DAgGBrbn.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '../components/data-table-sort.js';
|
|
5
5
|
import '../components/swipeable-row.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import '../components/floating-panel.js';
|
|
3
3
|
import '../data-table-labels-BJ5JE_X2.js';
|
|
4
|
-
export { l as DEFAULT_FEEDBACK_PAGE_LABELS, O as FeedbackAwaitingToggle, P as FeedbackAwaitingToggleProps, U as FeedbackColumnsOptions, af as FeedbackEmptyState, ag as FeedbackEmptyStateProps, al as FeedbackMobileCard, am as FeedbackMobileCardProps, aq as FeedbackPageLabels, at as FeedbackRenderDate, aI as FeedbackSubject, aJ as FeedbackSubjectProps, aN as FeedbackTableRow, aX as UseFeedbackColumnsOptions, b1 as feedbackColumns, b3 as feedbackEnvironment, b4 as feedbackMobileGroupBy, b9 as feedbackSubmitter, ba as feedbackSubmitterEmail, bb as isFeedbackAwaiting, bl as useFeedbackColumns, bn as useFeedbackPageLabels, bo as useFeedbackRenderDate } from '../delete-account-setting-
|
|
4
|
+
export { l as DEFAULT_FEEDBACK_PAGE_LABELS, O as FeedbackAwaitingToggle, P as FeedbackAwaitingToggleProps, U as FeedbackColumnsOptions, af as FeedbackEmptyState, ag as FeedbackEmptyStateProps, al as FeedbackMobileCard, am as FeedbackMobileCardProps, aq as FeedbackPageLabels, at as FeedbackRenderDate, aI as FeedbackSubject, aJ as FeedbackSubjectProps, aN as FeedbackTableRow, aX as UseFeedbackColumnsOptions, b1 as feedbackColumns, b3 as feedbackEnvironment, b4 as feedbackMobileGroupBy, b9 as feedbackSubmitter, ba as feedbackSubmitterEmail, bb as isFeedbackAwaiting, bl as useFeedbackColumns, bn as useFeedbackPageLabels, bo as useFeedbackRenderDate } from '../delete-account-setting-DAgGBrbn.js';
|
|
5
5
|
import '../components/write-lock.js';
|
|
6
6
|
import '../components/tooltip.js';
|
|
7
7
|
import '../hooks/use-anchored-rect.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
export { C as ChatComposer, a as ChatComposerHandle, b as ChatComposerLabels, c as ChatComposerProps, d as ChatComposerSlotContext, g as DEFAULT_FEEDBACK_COMPOSER_LABELS, n as DEFAULT_FEEDBACK_THREAD_LABELS, V as FeedbackComposer, W as FeedbackComposerAttachment, X as FeedbackComposerHandle, Y as FeedbackComposerLabels, Z as FeedbackComposerProps, _ as FeedbackComposerSlotContext, aO as FeedbackThread, aP as FeedbackThreadAttachment, aQ as FeedbackThreadEvent, aR as FeedbackThreadItem, aS as FeedbackThreadLabels, aT as FeedbackThreadMessage, aU as FeedbackThreadProps } from '../delete-account-setting-
|
|
2
|
+
export { C as ChatComposer, a as ChatComposerHandle, b as ChatComposerLabels, c as ChatComposerProps, d as ChatComposerSlotContext, g as DEFAULT_FEEDBACK_COMPOSER_LABELS, n as DEFAULT_FEEDBACK_THREAD_LABELS, V as FeedbackComposer, W as FeedbackComposerAttachment, X as FeedbackComposerHandle, Y as FeedbackComposerLabels, Z as FeedbackComposerProps, _ as FeedbackComposerSlotContext, aO as FeedbackThread, aP as FeedbackThreadAttachment, aQ as FeedbackThreadEvent, aR as FeedbackThreadItem, aS as FeedbackThreadLabels, aT as FeedbackThreadMessage, aU as FeedbackThreadProps } from '../delete-account-setting-DAgGBrbn.js';
|
|
3
|
+
import '../components/write-lock.js';
|
|
3
4
|
import '../components/tooltip.js';
|
|
4
5
|
import '../hooks/use-anchored-rect.js';
|
|
5
6
|
import '../lib/clipping.js';
|
|
@@ -13,7 +14,6 @@ import '../components/stat-tile.js';
|
|
|
13
14
|
import '../components/chip.js';
|
|
14
15
|
import 'lucide-react';
|
|
15
16
|
import '../components/field-parts.js';
|
|
16
|
-
import '../components/write-lock.js';
|
|
17
17
|
import '../components/mini-calendar.js';
|
|
18
18
|
import '../components/calendar-heatmap.js';
|
|
19
19
|
import '../components/popover.js';
|
|
@@ -81,6 +81,7 @@ import '../admin/admin-parts.js';
|
|
|
81
81
|
import '../admin/admin-action-log.js';
|
|
82
82
|
import '../settings/settings-labels.js';
|
|
83
83
|
import '../demo/demo-labels.js';
|
|
84
|
+
import '../i18n/plurals.js';
|
|
84
85
|
import '../components/appearance-labels.js';
|
|
85
86
|
import '../theme/contrast.js';
|
|
86
87
|
import '../theme/text-size.js';
|
|
@@ -7,6 +7,7 @@ import { formatDate, formatRelativeTime } from "../lib/format.js";
|
|
|
7
7
|
import { Button, EmptyState, Spinner, Textarea } from "../components/ui.js";
|
|
8
8
|
import { Skeleton } from "../components/skeleton.js";
|
|
9
9
|
import { Tooltip } from "../components/tooltip.js";
|
|
10
|
+
import { useWriteLock } from "../components/write-lock.js";
|
|
10
11
|
import { useKitFileLabels, useKitLabels, useKitLocale } from "../i18n/kit-labels.js";
|
|
11
12
|
import { FeedbackAttachmentField } from "./feedback-attachment.js";
|
|
12
13
|
const DEFAULT_FEEDBACK_THREAD_LABELS = {
|
|
@@ -236,6 +237,7 @@ function FeedbackComposer({
|
|
|
236
237
|
canSend: canSendProp,
|
|
237
238
|
sendOn = "mod-enter",
|
|
238
239
|
disabledReason,
|
|
240
|
+
commit,
|
|
239
241
|
rows = 3,
|
|
240
242
|
maxLength,
|
|
241
243
|
showCount,
|
|
@@ -251,6 +253,7 @@ function FeedbackComposer({
|
|
|
251
253
|
...rest
|
|
252
254
|
}) {
|
|
253
255
|
const labels = useKitLabels("feedbackComposer", DEFAULT_FEEDBACK_COMPOSER_LABELS, labelsProp);
|
|
256
|
+
const lock = useWriteLock(commit ?? false);
|
|
254
257
|
const rootAttributes = { id, ...dataAttributes(rest) };
|
|
255
258
|
const hintId = useId();
|
|
256
259
|
const [ownDraft, setOwnDraft] = useState("");
|
|
@@ -298,7 +301,7 @@ function FeedbackComposer({
|
|
|
298
301
|
return /* @__PURE__ */ jsx("p", { ...rootAttributes, className: cn("text-xs text-[var(--text-muted)]", className), children: disabledReason });
|
|
299
302
|
}
|
|
300
303
|
const tooLong = maxLength !== void 0 && draft.length > maxLength;
|
|
301
|
-
const canSend = (canSendProp ?? draft.trim().length > 0) && !pending && !tooLong;
|
|
304
|
+
const canSend = (canSendProp ?? draft.trim().length > 0) && !pending && !tooLong && !lock.locked;
|
|
302
305
|
const send = () => {
|
|
303
306
|
if (!canSend) return;
|
|
304
307
|
const sentDraft = draft;
|
|
@@ -373,6 +376,7 @@ function FeedbackComposer({
|
|
|
373
376
|
{
|
|
374
377
|
onClick: send,
|
|
375
378
|
disabled: !canSend,
|
|
379
|
+
commit,
|
|
376
380
|
"aria-busy": pending || void 0,
|
|
377
381
|
size: size === "sm" ? "sm" : void 0,
|
|
378
382
|
children: [
|