tempest-react-sdk 0.41.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +3 -3
  2. package/bin/tempest.mjs +3 -3
  3. package/dist/br.cjs +1 -1
  4. package/dist/br.cjs.map +1 -1
  5. package/dist/br.d.ts +0 -13
  6. package/dist/br.js +14 -15
  7. package/dist/br.js.map +1 -1
  8. package/dist/charts/palette.cjs +1 -1
  9. package/dist/charts/palette.cjs.map +1 -1
  10. package/dist/charts/palette.js +4 -4
  11. package/dist/charts/palette.js.map +1 -1
  12. package/dist/charts.cjs +1 -1
  13. package/dist/charts.d.ts +0 -3
  14. package/dist/charts.js +8 -8
  15. package/dist/icons/generated/aliases.cjs +1 -1
  16. package/dist/icons/generated/aliases.cjs.map +1 -1
  17. package/dist/icons/generated/aliases.js +9 -0
  18. package/dist/icons/generated/aliases.js.map +1 -1
  19. package/dist/icons/generated/icon-names.cjs +1 -1
  20. package/dist/icons/generated/icon-names.cjs.map +1 -1
  21. package/dist/icons/generated/icon-names.js +1 -1
  22. package/dist/icons/generated/icon-names.js.map +1 -1
  23. package/dist/icons/generated/shard-a.cjs +1 -1
  24. package/dist/icons/generated/shard-a.cjs.map +1 -1
  25. package/dist/icons/generated/shard-a.js +61 -61
  26. package/dist/icons/generated/shard-a.js.map +1 -1
  27. package/dist/icons/generated/shard-b.cjs +1 -1
  28. package/dist/icons/generated/shard-b.cjs.map +1 -1
  29. package/dist/icons/generated/shard-b.js +15 -13
  30. package/dist/icons/generated/shard-b.js.map +1 -1
  31. package/dist/icons/generated/shard-e.cjs +1 -1
  32. package/dist/icons/generated/shard-e.cjs.map +1 -1
  33. package/dist/icons/generated/shard-e.js +20 -19
  34. package/dist/icons/generated/shard-e.js.map +1 -1
  35. package/dist/icons/generated/shard-f.cjs +1 -1
  36. package/dist/icons/generated/shard-f.cjs.map +1 -1
  37. package/dist/icons/generated/shard-f.js +140 -134
  38. package/dist/icons/generated/shard-f.js.map +1 -1
  39. package/dist/icons/generated/shard-h.cjs +1 -1
  40. package/dist/icons/generated/shard-h.cjs.map +1 -1
  41. package/dist/icons/generated/shard-h.js +13 -14
  42. package/dist/icons/generated/shard-h.js.map +1 -1
  43. package/dist/icons/generated/shard-l.cjs +1 -1
  44. package/dist/icons/generated/shard-l.cjs.map +1 -1
  45. package/dist/icons/generated/shard-l.js +73 -69
  46. package/dist/icons/generated/shard-l.js.map +1 -1
  47. package/dist/icons/generated/shard-m.cjs +1 -1
  48. package/dist/icons/generated/shard-m.cjs.map +1 -1
  49. package/dist/icons/generated/shard-m.js +101 -98
  50. package/dist/icons/generated/shard-m.js.map +1 -1
  51. package/dist/icons/generated/shard-p.cjs +1 -1
  52. package/dist/icons/generated/shard-p.cjs.map +1 -1
  53. package/dist/icons/generated/shard-p.js +19 -20
  54. package/dist/icons/generated/shard-p.js.map +1 -1
  55. package/dist/icons/generated/shard-r.cjs +1 -1
  56. package/dist/icons/generated/shard-r.cjs.map +1 -1
  57. package/dist/icons/generated/shard-r.js +19 -17
  58. package/dist/icons/generated/shard-r.js.map +1 -1
  59. package/dist/icons/generated/shard-s.cjs +1 -1
  60. package/dist/icons/generated/shard-s.cjs.map +1 -1
  61. package/dist/icons/generated/shard-s.js +160 -159
  62. package/dist/icons/generated/shard-s.js.map +1 -1
  63. package/dist/icons/generated/shard-u.cjs +1 -1
  64. package/dist/icons/generated/shard-u.cjs.map +1 -1
  65. package/dist/icons/generated/shard-u.js +11 -10
  66. package/dist/icons/generated/shard-u.js.map +1 -1
  67. package/dist/icons/shard-cache.cjs.map +1 -1
  68. package/dist/icons/shard-cache.js.map +1 -1
  69. package/dist/icons.d.ts +5 -5
  70. package/dist/imaging/encode.cjs +1 -1
  71. package/dist/imaging/encode.cjs.map +1 -1
  72. package/dist/imaging/encode.js +1 -4
  73. package/dist/imaging/encode.js.map +1 -1
  74. package/dist/imaging.cjs +1 -1
  75. package/dist/imaging.d.ts +0 -7
  76. package/dist/imaging.js +6 -6
  77. package/dist/tabular/compact.cjs +1 -1
  78. package/dist/tabular/compact.cjs.map +1 -1
  79. package/dist/tabular/compact.js +8 -8
  80. package/dist/tabular/compact.js.map +1 -1
  81. package/dist/tabular/manifest.cjs +1 -1
  82. package/dist/tabular/manifest.cjs.map +1 -1
  83. package/dist/tabular/manifest.js +13 -14
  84. package/dist/tabular/manifest.js.map +1 -1
  85. package/dist/tabular.cjs +1 -1
  86. package/dist/tabular.d.ts +0 -9
  87. package/dist/tabular.js +5 -5
  88. package/dist/tempest-react-sdk.cjs +1 -1
  89. package/dist/tempest-react-sdk.d.ts +0 -299
  90. package/dist/tempest-react-sdk.js +183 -188
  91. package/dist/vite.cjs +1 -1
  92. package/dist/vite.d.ts +0 -25
  93. package/dist/vite.js +6 -6
  94. package/package.json +5 -5
@@ -716,27 +716,6 @@ export declare interface ApplyThemeOptions {
716
716
  target?: Document | ShadowRoot | HTMLElement;
717
717
  }
718
718
 
719
- /**
720
- * Apply a move and return the next value.
721
- *
722
- * Disabled rows are dropped here rather than at the call site, so no caller can
723
- * move one by pressing the bulk button — the check has to live where the
724
- * decision is made, not in each of the four places that trigger one.
725
- *
726
- * @param params.value - Current target ids.
727
- * @param params.moving - Ids being moved.
728
- * @param params.to - Destination pane.
729
- * @param params.items - The catalogue, to look disabled rows up.
730
- * @param params.order - Ids in catalogue order, so the result stays stable.
731
- * @returns The next value, in catalogue order.
732
- */
733
- export declare function applyTransferMove({ value, moving, to, items, }: {
734
- value: readonly string[];
735
- moving: readonly string[];
736
- to: TransferSide;
737
- items: readonly TransferItem[];
738
- }): string[];
739
-
740
719
  /**
741
720
  * Compose the Tempest app-wide providers in one place: error boundary →
742
721
  * TanStack Query → theme → i18n. Query and theme are on by default; i18n and
@@ -1548,28 +1527,6 @@ export declare const BREAKPOINTS: Record<Breakpoint, number>;
1548
1527
 
1549
1528
  export { BrowserRouter }
1550
1529
 
1551
- /**
1552
- * Parse an error body + response into the Tempest {@link ApiError} envelope.
1553
- *
1554
- * Reads `detail`/`message`, the programmatic `code`, and the correlation id
1555
- * from `details.request_id` (falling back to the `X-Request-ID` header, then
1556
- * the id the client sent).
1557
- *
1558
- * @param status - HTTP status code.
1559
- * @param body - The parsed error body (object, string, or null).
1560
- * @param headers - The response headers (for the `X-Request-ID` fallback).
1561
- * @param sentRequestId - The id the client sent on the request, if any.
1562
- * @returns A fully-populated `ApiError`.
1563
- *
1564
- * @tempest-limits param-count — the arguments are the response as it arrives
1565
- * (`status`, `body`, `headers`) plus the id the request was sent with, and they are
1566
- * passed at exactly one place: the client's response path. Exported from the package
1567
- * root, so the rewrite would be breaking for callers that build their own errors.
1568
- */
1569
- export declare function buildApiError(status: number, body: unknown, headers?: Headers | {
1570
- get(name: string): string | null;
1571
- }, sentRequestId?: string): ApiError;
1572
-
1573
1530
  /**
1574
1531
  * Builds an `intent://` URL that re-opens the current page inside Chrome on
1575
1532
  * Android. When Chrome is missing, the fallback URL points to the Play Store so
@@ -2019,28 +1976,6 @@ export declare interface ChatRun {
2019
1976
 
2020
1977
  export declare type ChatSection = ChatDay | ChatRun;
2021
1978
 
2022
- /** Labels the thread needs, per locale. */
2023
- declare interface ChatStrings {
2024
- thread: string;
2025
- today: string;
2026
- yesterday: string;
2027
- you: string;
2028
- typingOne: (name: string) => string;
2029
- typingTwo: (a: string, b: string) => string;
2030
- typingMany: (n: number) => string;
2031
- sending: string;
2032
- sent: string;
2033
- read: string;
2034
- failed: string;
2035
- retry: string;
2036
- empty: string;
2037
- placeholder: string;
2038
- send: string;
2039
- }
2040
-
2041
- /** Locale strings for the thread. */
2042
- export declare function chatStrings(locale: "pt-BR" | "en"): ChatStrings;
2043
-
2044
1979
  /**
2045
1980
  * Accessible checkbox. Supports a tri-state via `indeterminate` and pairs the
2046
1981
  * input with a label/description column for forms.
@@ -2116,27 +2051,6 @@ export declare function clamp(value: number, min: number, max: number): number;
2116
2051
  /** Clamp a latitude into the valid `[-90, 90]` range. */
2117
2052
  export declare function clampLatitude(latitude: number): number;
2118
2053
 
2119
- /**
2120
- * Map an unknown `getUserMedia` failure into a {@link MediaAccessError}.
2121
- *
2122
- * The order matters. A missing `navigator.mediaDevices` is almost never "this
2123
- * browser cannot do audio" — it is a page served over plain HTTP, where the whole
2124
- * API is simply absent. Reporting `unsupported` there sends the developer looking
2125
- * for a polyfill for a problem an `https://` URL fixes, so the secure-context check
2126
- * runs first and wins.
2127
- *
2128
- * The `DOMException.name` values are then collapsed into kinds an app can actually
2129
- * branch on, because the raw names do not group the way a UI needs them:
2130
- * `NotFoundError` and `OverconstrainedError` both mean "you will not get a device
2131
- * with these constraints", and `NotReadableError` and `AbortError` both mean "the
2132
- * hardware is busy" — most often another tab of the same app.
2133
- *
2134
- * @param err - Whatever `getUserMedia` (or a device query) rejected with.
2135
- * @param device - Which device was being opened, for the message.
2136
- * @returns A stable kind plus a message safe to show a user.
2137
- */
2138
- export declare function classifyMediaError(err: unknown, device?: MediaDeviceKindLabel): MediaAccessError;
2139
-
2140
2054
  /**
2141
2055
  * Map a thrown WebAuthn failure onto a {@link PasskeyError}.
2142
2056
  *
@@ -3931,17 +3845,6 @@ export declare interface DateRangePickerProps extends Omit<HTMLAttributes<HTMLDi
3931
3845
  weekStartsOn?: WeekStart_2;
3932
3846
  }
3933
3847
 
3934
- /**
3935
- * Label for a date heading: `"Hoje"`, `"Ontem"`, or the formatted date.
3936
- *
3937
- * @param date - Local midnight of the day being labelled.
3938
- * @param params.now - Reference instant, so tests and SSR-free renders are stable.
3939
- */
3940
- export declare function dayLabel(date: number, { locale, now }?: {
3941
- locale?: "pt-BR" | "en";
3942
- now?: number;
3943
- }): string;
3944
-
3945
3848
  /** The visible time window of a day, in minutes from midnight. */
3946
3849
  export declare interface DayWindow {
3947
3850
  startMinute: number;
@@ -4299,16 +4202,6 @@ export declare interface DropzoneProps {
4299
4202
  className?: string;
4300
4203
  }
4301
4204
 
4302
- /**
4303
- * Look up the duration multiplier for a travel mode, falling back to `1.0`
4304
- * for unknown modes. Mirrors `duration_factor` from `tempest-fastapi-sdk`.
4305
- *
4306
- * @param mode - Travel mode.
4307
- * @param factors - Optional override map (partial merges over the defaults).
4308
- * @returns The multiplier for `mode`.
4309
- */
4310
- export declare function durationFactor(mode: TravelMode, factors?: Partial<Record<TravelMode, number>>): number;
4311
-
4312
4205
  /**
4313
4206
  * Mean Earth radius in kilometers. Same value used by `tempest-fastapi-sdk`
4314
4207
  * (`geo/distance.py`) so client and server distances agree.
@@ -5234,33 +5127,6 @@ export declare interface GridProps extends HTMLAttributes<HTMLDivElement> {
5234
5127
  */
5235
5128
  export declare function groupBy<T, K extends PropertyKey>(items: T[], key: (item: T) => K): Record<K, T[]>;
5236
5129
 
5237
- /**
5238
- * Turn a flat message list into the sections a thread renders: a date heading
5239
- * whenever the local day changes, and runs of consecutive messages from the same
5240
- * author.
5241
- *
5242
- * Grouping is what makes a thread readable — repeating the avatar and the name on
5243
- * every line of a five-line burst turns a conversation into a list of receipts.
5244
- * The run breaks on a different author, a different day, or a gap longer than
5245
- * `windowMs`: a reply an hour later is a new beat in the conversation even when
5246
- * nobody else spoke, and joining it to the earlier burst would put one timestamp
5247
- * on messages an hour apart.
5248
- *
5249
- * Order is taken as given, oldest first, and never sorted here: a thread that
5250
- * reorders what the server sent would fight optimistic inserts, where the
5251
- * pending message is deliberately last.
5252
- *
5253
- * @param params.messages - Oldest first.
5254
- * @param params.currentUserId - Author id treated as "own".
5255
- * @param params.windowMs - Gap that still keeps a run together. Default 5 min.
5256
- * @returns Sections in render order.
5257
- */
5258
- export declare function groupMessages({ messages, currentUserId, windowMs, }: {
5259
- messages: readonly ChatMessage[];
5260
- currentUserId?: string;
5261
- windowMs?: number;
5262
- }): ChatSection[];
5263
-
5264
5130
  /**
5265
5131
  * Minimal subset of [`@growthbook/growthbook`](https://docs.growthbook.io/lib/js)
5266
5132
  * used by the adapter. Pass a `GrowthBook` instance directly.
@@ -6827,12 +6693,6 @@ export declare interface MenubarProps extends HTMLAttributes<HTMLDivElement> {
6827
6693
  menus: MenubarMenu[];
6828
6694
  }
6829
6695
 
6830
- /**
6831
- * Web Mercator (EPSG:3857) latitude clamp. Latitudes beyond this diverge to
6832
- * infinity in the projection, so tile maps cap here.
6833
- */
6834
- export declare const MERCATOR_MAX_LATITUDE = 85.05112878;
6835
-
6836
6696
  /**
6837
6697
  * A point projected onto the unit Web Mercator plane. Both axes are in `[0, 1]`
6838
6698
  * — `x` grows east, `y` grows south (screen convention).
@@ -6847,20 +6707,6 @@ export declare type Messages = Record<string, string>;
6847
6707
  /** Lifecycle of a microphone stream. */
6848
6708
  export declare type MicrophoneStatus = "idle" | "requesting" | "ready" | "error";
6849
6709
 
6850
- /**
6851
- * The error for "the API is not here at all", which is a different question from
6852
- * "the API rejected".
6853
- *
6854
- * `classifyMediaError` takes a thrown value; a missing `navigator.mediaDevices` never
6855
- * threw one, and handing it `null` would come back `unknown` — the least actionable
6856
- * kind there is. The two real causes are an insecure page (the fix is a URL) and an
6857
- * engine that genuinely cannot capture (the fix is another browser), and telling them
6858
- * apart is the whole point.
6859
- *
6860
- * @param device - Which device was being opened, for the message.
6861
- */
6862
- export declare function missingCaptureApiError(device?: MediaDeviceKindLabel): MediaAccessError;
6863
-
6864
6710
  /**
6865
6711
  * Portal-rendered modal dialog with backdrop, Esc handler, and slots for
6866
6712
  * header/body/footer. Locks body scroll while open.
@@ -7806,14 +7652,6 @@ export { Params }
7806
7652
  /** Query-param values accepted by the API client for a list request. */
7807
7653
  declare type ParamValue = string | number | boolean | undefined | null;
7808
7654
 
7809
- /**
7810
- * Parse a Markdown document into blocks.
7811
- *
7812
- * @param source - Raw Markdown.
7813
- * @returns Block nodes in document order.
7814
- */
7815
- export declare function parseMarkdown(source: string): MarkdownBlock[];
7816
-
7817
7655
  /**
7818
7656
  * Validate an unknown response payload against a zod schema.
7819
7657
  *
@@ -8172,14 +8010,6 @@ export declare function pick<T extends object, K extends keyof T>(obj: T, keys:
8172
8010
  */
8173
8011
  export declare function pickAudioMimeType(preferred?: readonly string[]): string | null;
8174
8012
 
8175
- /**
8176
- * First container in `preferred` the browser can actually produce, or `null`.
8177
- *
8178
- * @param preferred - Candidates, best first.
8179
- * @returns A supported MIME type, or `null` when none is.
8180
- */
8181
- export declare function pickRecordingMimeType(preferred: readonly string[]): string | null;
8182
-
8183
8013
  /**
8184
8014
  * First video container in `preferred` the browser can actually produce, or `null`.
8185
8015
  *
@@ -8966,14 +8796,6 @@ export declare interface ResizableProps extends Omit<HTMLAttributes<HTMLDivEleme
8966
8796
 
8967
8797
  export declare type ResolvedTheme = "light" | "dark";
8968
8798
 
8969
- /**
8970
- * Normalise a language name onto a known grammar.
8971
- *
8972
- * @param language - Whatever the caller passed, e.g. `"ts"` or `"Shell"`.
8973
- * @returns The grammar to use; `"plain"` when there is no match.
8974
- */
8975
- export declare function resolveLanguage(language: string | undefined): CodeLanguage;
8976
-
8977
8799
  /**
8978
8800
  * Responsive value — either a single value applied at all breakpoints, or
8979
8801
  * an object with `mobile` / `tablet` / `desktop` overrides. Apps can mix
@@ -9285,28 +9107,6 @@ export declare interface SafeAreaProps extends HTMLAttributes<HTMLDivElement> {
9285
9107
  children?: ReactNode;
9286
9108
  }
9287
9109
 
9288
- /**
9289
- * URL vetting for links and images in rendered Markdown.
9290
- *
9291
- * This is the security boundary of the whole component. Markdown that arrives from
9292
- * a user — a comment, a ticket description, a review — reaches the DOM as a real
9293
- * `href`, and `javascript:alert(1)` in a link is script execution on click. So the
9294
- * scheme is checked against an allowlist rather than a blocklist: a blocklist has
9295
- * to enumerate `javascript:`, `JaVaScRiPt:`, `java\tscript:`, `&#106;avascript:`
9296
- * and whatever comes next, and misses the one nobody thought of.
9297
- */
9298
- /**
9299
- * The href to render, or `null` when the URL must not be linked.
9300
- *
9301
- * Relative URLs (`/docs`, `./x`, `#anchor`, `foo/bar`) are kept: they cannot carry
9302
- * a scheme, so they cannot execute anything, and dropping them would break every
9303
- * in-app link.
9304
- *
9305
- * @param raw - URL as written in the Markdown.
9306
- * @returns A safe href, or `null`.
9307
- */
9308
- export declare function safeLinkUrl(raw: string): string | null;
9309
-
9310
9110
  /** The ten steps of a Tempest tint scale, lightest to darkest. */
9311
9111
  export declare type ScaleStep = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
9312
9112
 
@@ -9482,19 +9282,6 @@ export declare interface SegmentedControlProps<TValue extends string = string> e
9482
9282
  */
9483
9283
  export declare const Select: ForwardRefExoticComponent<SelectProps & RefAttributes<HTMLSelectElement>>;
9484
9284
 
9485
- /**
9486
- * Pick the densest mode the payload qualifies for.
9487
- *
9488
- * Numeric packs 3 digits into 10 bits and alphanumeric 2 characters into 11, so
9489
- * a phone number or an upper-case code encodes far smaller than the same string
9490
- * as bytes — often a whole version smaller, which is a visibly coarser symbol
9491
- * and therefore easier to scan.
9492
- *
9493
- * @param text - The payload.
9494
- * @returns The narrowest mode that can represent it.
9495
- */
9496
- export declare function selectMode(text: string): QRMode;
9497
-
9498
9285
  export declare interface SelectOption {
9499
9286
  value: string | number;
9500
9287
  label: string;
@@ -10040,25 +9827,6 @@ export declare interface SpinnerProps {
10040
9827
 
10041
9828
  export declare type SpinnerSize = "xs" | "sm" | "md" | "lg" | "xl";
10042
9829
 
10043
- /**
10044
- * Split the catalogue into the two panes.
10045
- *
10046
- * The selected ids are the single source of truth — the panes are derived, never
10047
- * stored. Two stored lists drift the moment the catalogue changes under them: a
10048
- * permission that is removed upstream lingers in whichever pane held it, and an
10049
- * id that appears in both is a bug nobody can see.
10050
- *
10051
- * Order follows `items`, so both panes read in the catalogue's order rather than
10052
- * in the order somebody happened to click.
10053
- *
10054
- * @param items - The whole catalogue.
10055
- * @param value - Ids currently on the target side.
10056
- */
10057
- export declare function splitTransferSides(items: readonly TransferItem[], value: readonly string[]): {
10058
- source: TransferItem[];
10059
- target: TransferItem[];
10060
- };
10061
-
10062
9830
  /** Flex-based vertical or horizontal stack with a numeric `gap`. */
10063
9831
  export declare function Stack({ direction, gap, align, justify, wrap, className, style, children, ...props }: StackProps): JSX.Element;
10064
9832
 
@@ -10593,9 +10361,6 @@ export declare interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAr
10593
10361
  wrapperClassName?: string;
10594
10362
  }
10595
10363
 
10596
- /** The default `<style>` element id owned by {@link applyTheme}. */
10597
- export declare const THEME_STYLE_ID = "tempest-theme";
10598
-
10599
10364
  export declare interface ThemeContextValue {
10600
10365
  /** Raw user preference (light / dark / system). */
10601
10366
  theme: ThemeMode;
@@ -10712,9 +10477,6 @@ export declare function throttle<A extends unknown[]>(fn: (...args: A) => void,
10712
10477
  cancel: () => void;
10713
10478
  };
10714
10479
 
10715
- /** Clock label for a single message — the time, not a relative phrase. */
10716
- export declare function timeLabel(timestamp: number, locale?: "pt-BR" | "en"): string;
10717
-
10718
10480
  /**
10719
10481
  * Vertical event timeline — activity feeds, order trackers, audit logs.
10720
10482
  * Each entry has a marker (color or custom icon), title, optional
@@ -10900,42 +10662,6 @@ export declare interface Token {
10900
10662
  value: string;
10901
10663
  }
10902
10664
 
10903
- /**
10904
- * Split source into coloured tokens.
10905
- *
10906
- * This is a **scanner, not a parser**: it recognises comments, strings, numbers,
10907
- * keywords and punctuation by pattern, and knows nothing about scope, types or
10908
- * grammar. That is a deliberate ceiling. A real parser per language is a
10909
- * dependency the size of the rest of the SDK, and the payoff — being right about
10910
- * the corner cases in a documentation snippet — is small. Where it is unsure it
10911
- * emits `plain`, which renders as ordinary text rather than as something wrong.
10912
- *
10913
- * Unknown languages produce a single `plain` token, so an unhighlighted block is
10914
- * a normal outcome and never an error.
10915
- *
10916
- * @param code - The source.
10917
- * @param language - Grammar name or alias.
10918
- * @returns Tokens covering the input exactly, in order.
10919
- *
10920
- * @example
10921
- * tokenize("const x = 1;", "ts");
10922
- * // [{kind: "keyword", value: "const"}, {kind: "plain", value: " x "}, …]
10923
- */
10924
- export declare function tokenize(code: string, language: string | undefined): Token[];
10925
-
10926
- /**
10927
- * The same tokens, split at newlines so each line can be rendered on its own.
10928
- *
10929
- * Line numbers and highlighted lines both need a per-line structure, and a token
10930
- * is free to span a line break — a block comment usually does. Splitting here
10931
- * keeps that out of the component.
10932
- *
10933
- * @param code - The source.
10934
- * @param language - Grammar name or alias.
10935
- * @returns One token array per line. Always at least one line.
10936
- */
10937
- export declare function tokenizeLines(code: string, language: string | undefined): Token[][];
10938
-
10939
10665
  /** What a token is painted as. */
10940
10666
  export declare type TokenKind = "plain" | "comment" | "string" | "number" | "keyword" | "literal" | "function" | "punctuation" | "tag" | "attribute" | "property";
10941
10667
 
@@ -11289,12 +11015,6 @@ export declare interface TruncateTextProps extends HTMLAttributes<HTMLDivElement
11289
11015
  */
11290
11016
  export declare function turnTime(timestamp: number, locale?: "pt-BR" | "en"): string;
11291
11017
 
11292
- /** The tus protocol version this client speaks. */
11293
- export declare const TUS_VERSION = "1.0.0";
11294
-
11295
- /** Sentence for the typing indicator, or `null` when nobody is typing. */
11296
- export declare function typingLabel(names: readonly string[], locale?: "pt-BR" | "en"): string | null;
11297
-
11298
11018
  /**
11299
11019
  * Remove duplicate items, keeping the first occurrence of each distinct key.
11300
11020
  *
@@ -13959,25 +13679,6 @@ export declare interface ViaCEPResult {
13959
13679
  siafi?: string;
13960
13680
  }
13961
13681
 
13962
- /**
13963
- * Container/codec candidates for video, best first.
13964
- *
13965
- * VP9 in WebM leads because it is the best quality per byte that Chromium and Firefox
13966
- * both encode natively; VP8 is the fallback for older Chromium and for hardware that
13967
- * refuses VP9. `video/mp4` is last and exists for Safari, which produces H.264 in MP4
13968
- * and nothing else — and only since Safari 14.1.
13969
- *
13970
- * Every candidate carries **Opus or AAC audio in the same container**, because a
13971
- * screen recording with the tab's audio dropped is a support ticket, not a
13972
- * simplification. On a stream with no audio track the browser simply omits it.
13973
- *
13974
- * Ported from the intersection of what `MediaRecorder.isTypeSupported` accepts in
13975
- * Chrome 120+, Firefox 115+ and Safari 17. Re-check against
13976
- * <https://developer.mozilla.org/docs/Web/API/MediaRecorder/isTypeSupported> before
13977
- * adding to the list.
13978
- */
13979
- export declare const VIDEO_MIME_CANDIDATES: readonly string[];
13980
-
13981
13682
  /** Imperative video recorder. Same shape as the audio one. */
13982
13683
  export declare type VideoRecorderHandle = MediaRecorderHandle;
13983
13684