@medway-ui/native 1.12.0 → 1.13.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.
@@ -0,0 +1,479 @@
1
+ "use strict";
2
+
3
+ import { CloseSm, Pin, Note, Strikethrough, Underline } from "@medway-ui/icons/native";
4
+ import { cva } from "class-variance-authority";
5
+ import { useContext, useEffect, useId, useRef, useState, useSyncExternalStore } from "react";
6
+ import { BackHandler, Pressable, StyleSheet, View, useWindowDimensions } from "react-native";
7
+ import { SafeAreaInsetsContext } from "react-native-safe-area-context";
8
+ import Svg, { Path } from "react-native-svg";
9
+ import { Button } from "./Button";
10
+ import { Separator } from "./Separator";
11
+ import { ThemedIcon } from "./ThemedIcon";
12
+ import { useThemeColor } from "../hooks/useThemeColor";
13
+ import { useOverlayHost } from "../lib/overlay-host";
14
+ import { getMinTouchHitSlop } from "../lib/touch-target";
15
+ import { cn } from "../lib/utils";
16
+
17
+ /**
18
+ * Retângulo do trecho em coordenadas da janela, como o `measureInWindow`
19
+ * devolve (`x` → `left`, `y` → `top`).
20
+ */
21
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
+ const TEXT_MARKER_COLORS = Object.freeze(["cm", "go", "cir", "ped", "prev"]);
23
+ const COLOR_NAMES = {
24
+ cm: "Azul",
25
+ go: "Rosa",
26
+ cir: "Verde",
27
+ ped: "Amarelo",
28
+ prev: "Roxo"
29
+ };
30
+ const DEFAULT_LABELS = {
31
+ toolbar: "Marcação da seleção",
32
+ color: "Cor",
33
+ close: "Fechar marcação",
34
+ strikethrough: "Riscar",
35
+ strikethroughHint: "Riscar: passa um traço sobre o trecho para destacar o que não importa",
36
+ underline: "Sublinhar",
37
+ underlineHint: "Sublinhar: passa um traço sob o trecho para destacar o que importa",
38
+ annotate: "Anotar",
39
+ annotateHint: "Anotar: abre a nota com o trecho selecionado",
40
+ pin: "Fixar",
41
+ pinHint: "Fixar: escolha uma cor e as próximas seleções já saem marcadas com ela",
42
+ pinArmedHint: "Escolha a cor que vai ficar fixada",
43
+ unpinHint: "Desafixar: as próximas seleções voltam a abrir esta ferramenta",
44
+ remove: "Remover marcação",
45
+ removeHint: "Remover a marcação deste trecho",
46
+ colorName: color => COLOR_NAMES[color]
47
+ };
48
+ const SWATCH_CLASS = {
49
+ cm: "bg-cm-background-fill",
50
+ go: "bg-go-background-fill",
51
+ cir: "bg-cir-background-fill",
52
+ ped: "bg-ped-background-fill",
53
+ prev: "bg-prev-background-fill"
54
+ };
55
+ const SWATCH_SELECTED_CLASS = {
56
+ cm: "border-cm-background-fill",
57
+ go: "border-go-background-fill",
58
+ cir: "border-cir-background-fill",
59
+ ped: "border-ped-background-fill",
60
+ prev: "border-prev-background-fill"
61
+ };
62
+ const MARK_COLOR_CLASS = {
63
+ cm: "bg-cm-16 dark:bg-cm-48",
64
+ go: "bg-go-16 dark:bg-go-48",
65
+ cir: "bg-cir-16 dark:bg-cir-24",
66
+ ped: "bg-ped-24 dark:bg-ped-48",
67
+ prev: "bg-prev-16 dark:bg-prev-48"
68
+ };
69
+ const textMarkerMarkVariants = cva("", {
70
+ variants: {
71
+ color: {
72
+ ...MARK_COLOR_CLASS,
73
+ none: "bg-transparent"
74
+ },
75
+ strikethrough: {
76
+ true: "text-gray-foreground-muted line-through",
77
+ false: ""
78
+ },
79
+ underline: {
80
+ true: "underline",
81
+ false: ""
82
+ }
83
+ },
84
+ defaultVariants: {
85
+ color: "none",
86
+ strikethrough: false,
87
+ underline: false
88
+ }
89
+ });
90
+ const EDGE_GAP = 16;
91
+ const SIDE_OFFSET = 4;
92
+ const ARROW_WIDTH = 16;
93
+ const ARROW_HEIGHT = 10;
94
+ const ARROW_INSET = 24;
95
+ const SWATCH_SIZE = 32;
96
+ const NO_INSETS = {
97
+ top: 0,
98
+ right: 0,
99
+ bottom: 0,
100
+ left: 0
101
+ };
102
+ function availableWidth(windowWidth, insets) {
103
+ return windowWidth - insets.left - insets.right - 2 * EDGE_GAP;
104
+ }
105
+ function computePlacement({
106
+ anchor,
107
+ hostOrigin,
108
+ window,
109
+ insets,
110
+ size
111
+ }) {
112
+ const gap = SIDE_OFFSET + ARROW_HEIGHT;
113
+ const anchorTop = anchor.top - hostOrigin.y;
114
+ const anchorBottom = anchorTop + anchor.height;
115
+ const anchorCenter = anchor.left + anchor.width / 2 - hostOrigin.x;
116
+ const minTop = Math.max(insets.top - hostOrigin.y, 0) + EDGE_GAP;
117
+ const maxBottom = Math.min(hostOrigin.height, window.height - insets.bottom - hostOrigin.y) - EDGE_GAP;
118
+ const above = anchorTop - gap - size.height;
119
+ const below = anchorBottom + gap;
120
+ const side = above >= minTop ? "top" : below + size.height <= maxBottom ? "bottom" : "over";
121
+ const top = side === "top" ? above : side === "bottom" ? below : Math.max(minTop, Math.min(below, maxBottom - size.height));
122
+ const minLeft = Math.max(insets.left - hostOrigin.x, 0) + EDGE_GAP;
123
+ const maxLeft = window.width - hostOrigin.x - insets.right - EDGE_GAP - size.width;
124
+ const left = Math.max(minLeft, Math.min(anchorCenter - size.width / 2, maxLeft));
125
+ const arrowLeft = Math.max(ARROW_INSET - ARROW_WIDTH / 2, Math.min(anchorCenter - left - ARROW_WIDTH / 2, size.width - ARROW_INSET - ARROW_WIDTH / 2));
126
+ return {
127
+ side,
128
+ top,
129
+ left,
130
+ arrowLeft
131
+ };
132
+ }
133
+ function createPropsStore(initial) {
134
+ let current = initial;
135
+ const listeners = new Set();
136
+ return {
137
+ get: () => current,
138
+ set: props => {
139
+ if (props === current) return;
140
+ current = props;
141
+ listeners.forEach(listener => listener());
142
+ },
143
+ subscribe: listener => {
144
+ listeners.add(listener);
145
+ return () => {
146
+ listeners.delete(listener);
147
+ };
148
+ }
149
+ };
150
+ }
151
+ function Arrow({
152
+ side,
153
+ left
154
+ }) {
155
+ const fill = useThemeColor("surface-elevated");
156
+ const stroke = useThemeColor("gray-stroke-muted");
157
+ const pointsDown = side === "top";
158
+ return /*#__PURE__*/_jsx(View, {
159
+ pointerEvents: "none",
160
+ style: [styles.arrow, {
161
+ left
162
+ }, pointsDown ? {
163
+ bottom: -ARROW_HEIGHT + 1
164
+ } : {
165
+ top: -ARROW_HEIGHT + 1,
166
+ transform: [{
167
+ rotate: "180deg"
168
+ }]
169
+ }],
170
+ children: /*#__PURE__*/_jsxs(Svg, {
171
+ width: ARROW_WIDTH,
172
+ height: ARROW_HEIGHT,
173
+ children: [/*#__PURE__*/_jsx(Path, {
174
+ d: `M0 0 L${ARROW_WIDTH / 2} ${ARROW_HEIGHT} L${ARROW_WIDTH} 0 Z`,
175
+ fill: fill
176
+ }), /*#__PURE__*/_jsx(Path, {
177
+ d: `M0 0 L${ARROW_WIDTH / 2} ${ARROW_HEIGHT} L${ARROW_WIDTH} 0`,
178
+ fill: "none",
179
+ stroke: stroke,
180
+ strokeWidth: 1
181
+ })]
182
+ })
183
+ });
184
+ }
185
+ function ColorSwatch({
186
+ color,
187
+ selected,
188
+ name,
189
+ hint,
190
+ disabled,
191
+ onSelect
192
+ }) {
193
+ return /*#__PURE__*/_jsx(Pressable, {
194
+ accessibilityRole: "button",
195
+ accessibilityLabel: name,
196
+ accessibilityHint: hint,
197
+ accessibilityState: {
198
+ selected,
199
+ disabled
200
+ },
201
+ disabled: disabled,
202
+ hitSlop: getMinTouchHitSlop(SWATCH_SIZE),
203
+ onPress: () => onSelect(color),
204
+ className: cn("size-8 shrink-0 items-center justify-center rounded-circular border border-transparent p-1", selected && SWATCH_SELECTED_CLASS[color], disabled && "opacity-50"),
205
+ children: /*#__PURE__*/_jsx(View, {
206
+ pointerEvents: "none",
207
+ className: cn("size-6 shrink-0 rounded-circular", SWATCH_CLASS[color])
208
+ })
209
+ });
210
+ }
211
+ function ActionButton({
212
+ icon,
213
+ label,
214
+ hint,
215
+ selected,
216
+ selectedClassName,
217
+ selectedIconToken,
218
+ iconToken = "primary-foreground",
219
+ variant = "regular-basic",
220
+ disabled,
221
+ onPress
222
+ }) {
223
+ const token = disabled ? "gray-foreground-muted" : selected && selectedIconToken ? selectedIconToken : iconToken;
224
+ return /*#__PURE__*/_jsx(Button, {
225
+ variant: variant,
226
+ size: "sm",
227
+ accessibilityLabel: label,
228
+ accessibilityHint: hint,
229
+ accessibilityState: selected === undefined ? {
230
+ disabled
231
+ } : {
232
+ selected,
233
+ disabled
234
+ },
235
+ disabled: disabled,
236
+ hitSlop: getMinTouchHitSlop(SWATCH_SIZE),
237
+ className: cn(selected && selectedClassName),
238
+ iconLeft: /*#__PURE__*/_jsx(ThemedIcon, {
239
+ icon: icon,
240
+ size: 16,
241
+ colorToken: token
242
+ }),
243
+ onPress: onPress
244
+ });
245
+ }
246
+ function ChromeSeparator() {
247
+ return /*#__PURE__*/_jsx(Separator, {
248
+ orientation: "vertical",
249
+ className: "h-7 self-center"
250
+ });
251
+ }
252
+ function TextMarkerLayer({
253
+ store
254
+ }) {
255
+ const {
256
+ anchor = null,
257
+ mode = "create",
258
+ selectedText,
259
+ color,
260
+ colors = TEXT_MARKER_COLORS,
261
+ strikethrough = false,
262
+ underline = false,
263
+ pinnedColor = null,
264
+ disabled = false,
265
+ className,
266
+ labels: labelsProp,
267
+ onHighlight,
268
+ onStrikethrough,
269
+ onUnderline,
270
+ onPinnedColorChange,
271
+ onNote,
272
+ onRemove,
273
+ onClose
274
+ } = useSyncExternalStore(store.subscribe, store.get, store.get);
275
+ const overlay = useOverlayHost();
276
+ const window = useWindowDimensions();
277
+ const insets = useContext(SafeAreaInsetsContext) ?? NO_INSETS;
278
+ const layerA = useThemeColor("drop-shadow-layer-a");
279
+ const layerB = useThemeColor("drop-shadow-layer-b");
280
+ const labels = {
281
+ ...DEFAULT_LABELS,
282
+ ...labelsProp
283
+ };
284
+ const [hostOrigin, setHostOrigin] = useState(null);
285
+ const [size, setSize] = useState(null);
286
+ const [rowCheck, setRowCheck] = useState(null);
287
+ const rowY = useRef({});
288
+ const [pinArmed, setPinArmed] = useState(false);
289
+ const maxWidth = availableWidth(window.width, insets);
290
+ const compact = rowCheck?.width === maxWidth ? rowCheck.compact : null;
291
+ const pinSelected = Boolean(pinnedColor) || pinArmed;
292
+ const pinHint = pinnedColor ? labels.unpinHint : pinArmed ? labels.pinArmedHint : labels.pinHint;
293
+ const placement = anchor && hostOrigin && size && compact !== null ? computePlacement({
294
+ anchor,
295
+ hostOrigin,
296
+ window,
297
+ insets,
298
+ size
299
+ }) : null;
300
+ const selectColor = next => {
301
+ if (next === color && !pinArmed) {
302
+ onRemove?.();
303
+ return;
304
+ }
305
+ if (pinArmed) {
306
+ setPinArmed(false);
307
+ onPinnedColorChange?.(next);
308
+ }
309
+ onHighlight?.(next);
310
+ };
311
+ const togglePin = () => {
312
+ if (pinnedColor) {
313
+ onPinnedColorChange?.(null);
314
+ return;
315
+ }
316
+ setPinArmed(!pinArmed);
317
+ };
318
+ const measureRow = key => event => {
319
+ if (compact !== null) return;
320
+ if (rowY.current.width !== maxWidth) rowY.current = {
321
+ width: maxWidth
322
+ };
323
+ const {
324
+ y,
325
+ height
326
+ } = event.nativeEvent.layout;
327
+ rowY.current[key] = key === "colors" ? y + height : y;
328
+ const {
329
+ colors: colorsBottom,
330
+ actions: actionsTop
331
+ } = rowY.current;
332
+ if (colorsBottom === undefined || actionsTop === undefined) return;
333
+ setRowCheck({
334
+ width: maxWidth,
335
+ compact: actionsTop >= colorsBottom
336
+ });
337
+ };
338
+ const colorGroup = /*#__PURE__*/_jsx(View, {
339
+ className: "flex-row items-center gap-2",
340
+ onLayout: measureRow("colors"),
341
+ children: colors.map(item => /*#__PURE__*/_jsx(ColorSwatch, {
342
+ color: item,
343
+ name: `${labels.color} ${labels.colorName(item)}`,
344
+ hint: pinArmed ? labels.pinArmedHint : undefined,
345
+ selected: color === item,
346
+ disabled: disabled,
347
+ onSelect: selectColor
348
+ }, item))
349
+ });
350
+ const actionGroup = /*#__PURE__*/_jsxs(View, {
351
+ className: "flex-row items-center gap-2",
352
+ onLayout: measureRow("actions"),
353
+ children: [/*#__PURE__*/_jsx(ActionButton, {
354
+ icon: Strikethrough,
355
+ label: labels.strikethrough,
356
+ hint: labels.strikethroughHint,
357
+ selected: strikethrough,
358
+ selectedClassName: "bg-primary-background-soft-emphasis",
359
+ selectedIconToken: "primary-foreground-emphasis",
360
+ disabled: disabled,
361
+ onPress: () => strikethrough ? onRemove?.() : onStrikethrough?.()
362
+ }), /*#__PURE__*/_jsx(ActionButton, {
363
+ icon: Underline,
364
+ label: labels.underline,
365
+ hint: labels.underlineHint,
366
+ selected: underline,
367
+ selectedClassName: "bg-primary-background-soft-emphasis",
368
+ selectedIconToken: "primary-foreground-emphasis",
369
+ disabled: disabled,
370
+ onPress: () => underline ? onRemove?.() : onUnderline?.()
371
+ }), /*#__PURE__*/_jsx(ActionButton, {
372
+ icon: Note,
373
+ label: labels.annotate,
374
+ hint: labels.annotateHint,
375
+ disabled: disabled,
376
+ onPress: () => onNote?.(selectedText ?? "")
377
+ }), /*#__PURE__*/_jsx(ChromeSeparator, {}), /*#__PURE__*/_jsx(ActionButton, {
378
+ icon: Pin,
379
+ label: labels.pin,
380
+ hint: pinHint,
381
+ selected: pinSelected,
382
+ selectedClassName: "bg-primary-background-fill active:bg-primary-background-fill-emphasis",
383
+ selectedIconToken: "primary-foreground-onfill",
384
+ disabled: disabled,
385
+ onPress: togglePin
386
+ }), mode === "edit" ? /*#__PURE__*/_jsx(ActionButton, {
387
+ icon: CloseSm,
388
+ label: labels.remove,
389
+ hint: labels.removeHint,
390
+ variant: "error-soft",
391
+ iconToken: "feedback-error-foreground",
392
+ disabled: disabled,
393
+ onPress: () => onRemove?.()
394
+ }) : null]
395
+ });
396
+ useEffect(() => {
397
+ let cancelled = false;
398
+ overlay.measureHostOrigin(origin => {
399
+ if (!cancelled) setHostOrigin(origin);
400
+ });
401
+ return () => {
402
+ cancelled = true;
403
+ };
404
+ }, [overlay, window.width, window.height]);
405
+ useEffect(() => {
406
+ const subscription = BackHandler.addEventListener("hardwareBackPress", () => {
407
+ const close = store.get().onClose;
408
+ close?.();
409
+ return Boolean(close);
410
+ });
411
+ return () => subscription.remove();
412
+ }, [store]);
413
+ if (!anchor || !hostOrigin) return null;
414
+ return /*#__PURE__*/_jsxs(View, {
415
+ style: StyleSheet.absoluteFill,
416
+ pointerEvents: "box-none",
417
+ children: [/*#__PURE__*/_jsx(Pressable, {
418
+ accessibilityLabel: labels.close,
419
+ style: StyleSheet.absoluteFill,
420
+ onPress: () => onClose?.()
421
+ }), /*#__PURE__*/_jsxs(View, {
422
+ accessibilityRole: "toolbar",
423
+ accessibilityLabel: labels.toolbar,
424
+ pointerEvents: placement ? "auto" : "none",
425
+ className: cn("border border-gray-stroke-muted bg-surface-elevated", compact ? "items-center gap-2 rounded-lg p-2" : "flex-row flex-wrap items-center gap-2 rounded-pill py-2 pl-3 pr-2", className),
426
+ style: [styles.toolbar, {
427
+ maxWidth,
428
+ top: placement?.top ?? 0,
429
+ left: placement?.left ?? 0,
430
+ opacity: placement ? 1 : 0,
431
+ boxShadow: `0 0 2px 0 ${layerA}, 0 2px 4px 0 ${layerB}`
432
+ }],
433
+ onLayout: event => {
434
+ const {
435
+ width,
436
+ height
437
+ } = event.nativeEvent.layout;
438
+ setSize(current => current?.width === width && current.height === height ? current : {
439
+ width,
440
+ height
441
+ });
442
+ },
443
+ children: [colorGroup, compact ? null : /*#__PURE__*/_jsx(ChromeSeparator, {}), actionGroup, placement && placement.side !== "over" ? /*#__PURE__*/_jsx(Arrow, {
444
+ side: placement.side,
445
+ left: placement.arrowLeft
446
+ }) : null]
447
+ }, maxWidth)]
448
+ });
449
+ }
450
+ function TextMarker(props) {
451
+ const id = useId();
452
+ const overlay = useOverlayHost();
453
+ const [store] = useState(() => createPropsStore(props));
454
+ const visible = Boolean(props.open && props.anchor);
455
+ useEffect(() => {
456
+ store.set(props);
457
+ });
458
+ useEffect(() => {
459
+ if (!visible) return;
460
+ overlay.mount(id, /*#__PURE__*/_jsx(TextMarkerLayer, {
461
+ store: store
462
+ }));
463
+ return () => overlay.unmount(id);
464
+ }, [id, overlay, store, visible]);
465
+ return null;
466
+ }
467
+ const styles = StyleSheet.create({
468
+ toolbar: {
469
+ position: "absolute",
470
+ zIndex: 2
471
+ },
472
+ arrow: {
473
+ position: "absolute",
474
+ width: ARROW_WIDTH,
475
+ height: ARROW_HEIGHT
476
+ }
477
+ });
478
+ export { TEXT_MARKER_COLORS, TextMarker, textMarkerMarkVariants };
479
+ //# sourceMappingURL=TextMarker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CloseSm","Pin","Note","Strikethrough","Underline","cva","useContext","useEffect","useId","useRef","useState","useSyncExternalStore","BackHandler","Pressable","StyleSheet","View","useWindowDimensions","SafeAreaInsetsContext","Svg","Path","Button","Separator","ThemedIcon","useThemeColor","useOverlayHost","getMinTouchHitSlop","cn","jsx","_jsx","jsxs","_jsxs","TEXT_MARKER_COLORS","Object","freeze","COLOR_NAMES","cm","go","cir","ped","prev","DEFAULT_LABELS","toolbar","color","close","strikethrough","strikethroughHint","underline","underlineHint","annotate","annotateHint","pin","pinHint","pinArmedHint","unpinHint","remove","removeHint","colorName","SWATCH_CLASS","SWATCH_SELECTED_CLASS","MARK_COLOR_CLASS","textMarkerMarkVariants","variants","none","true","false","defaultVariants","EDGE_GAP","SIDE_OFFSET","ARROW_WIDTH","ARROW_HEIGHT","ARROW_INSET","SWATCH_SIZE","NO_INSETS","top","right","bottom","left","availableWidth","windowWidth","insets","computePlacement","anchor","hostOrigin","window","size","gap","anchorTop","y","anchorBottom","height","anchorCenter","width","x","minTop","Math","max","maxBottom","min","above","below","side","minLeft","maxLeft","arrowLeft","createPropsStore","initial","current","listeners","Set","get","set","props","forEach","listener","subscribe","add","delete","Arrow","fill","stroke","pointsDown","pointerEvents","style","styles","arrow","transform","rotate","children","d","strokeWidth","ColorSwatch","selected","name","hint","disabled","onSelect","accessibilityRole","accessibilityLabel","accessibilityHint","accessibilityState","hitSlop","onPress","className","ActionButton","icon","label","selectedClassName","selectedIconToken","iconToken","variant","token","undefined","iconLeft","colorToken","ChromeSeparator","orientation","TextMarkerLayer","store","mode","selectedText","colors","pinnedColor","labels","labelsProp","onHighlight","onStrikethrough","onUnderline","onPinnedColorChange","onNote","onRemove","onClose","overlay","layerA","layerB","setHostOrigin","setSize","rowCheck","setRowCheck","rowY","pinArmed","setPinArmed","maxWidth","compact","pinSelected","Boolean","placement","selectColor","next","togglePin","measureRow","key","event","nativeEvent","layout","colorsBottom","actions","actionsTop","colorGroup","onLayout","map","item","actionGroup","cancelled","measureHostOrigin","origin","subscription","addEventListener","absoluteFill","opacity","boxShadow","TextMarker","id","visible","open","mount","unmount","create","position","zIndex"],"sourceRoot":"../../../src","sources":["components/TextMarker.tsx"],"mappings":"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","ignoreList":[]}
@@ -84,6 +84,8 @@ export { Filter } from "./components/Filter";
84
84
  export { Feedback } from "./components/Feedback";
85
85
  // Toast
86
86
  export { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, toastVariants } from "./components/Toast";
87
+ // TextMarker
88
+ export { TEXT_MARKER_COLORS, TextMarker, textMarkerMarkVariants } from "./components/TextMarker";
87
89
  // Tooltip
88
90
  export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./components/Tooltip";
89
91
  // Hooks
@@ -1 +1 @@
1
- {"version":3,"names":["Alert","AlertActions","AlertButton","alertButtonVariants","AlertContainer","AlertContent","AlertDescription","AlertIcon","AlertTitle","alertVariants","Badge","badgeVariants","Avatar","AvatarFallback","AvatarImage","avatarVariants","FallbackImage","CardNews","CardNewsAuthor","CardNewsBody","CardNewsContent","CardNewsDate","CardNewsDescription","CardNewsFooter","CardNewsHeader","CardNewsImage","CardNewsResourceItem","CardNewsResources","CardNewsSkeleton","CardNewsTags","CardNewsTitle","EmptyState","PageHeader","Carousel","CarouselMediaSlide","CarouselMetricSlide","DropdownMenu","DropdownMenuContent","DropdownMenuGroup","DropdownMenuItem","DropdownMenuSeparator","DropdownMenuTrigger","Feed","FeedComposer","FeedTitle","FeedNotice","InvitePopover","InvitePopoverCard","InvitePopoverClose","InvitePopoverContent","InvitePopoverDivider","InvitePopoverEmailRow","InvitePopoverSendButton","InvitePopoverShareButton","InvitePopoverTitle","InvitePopoverTrigger","LeaderboardCard","LeaderboardCardHeader","LeaderboardCardList","MemberRow","memberRowVariants","rankIndicatorVariants","PostForm","PostFormCheckboxOption","PostFormDateTimeField","PostFormDescription","PostFormHeader","PostFormMediaPicker","PrizeCollection","PrizeCollectionStats","PrizeCollectionStatsItem","PrizeItem","PrizeRow","PrizeShelf","Text","resolveMontserratFamily","SectionHeader","Button","buttonVariants","buttonTextVariants","Checkbox","checkboxVariants","Input","InputAdornment","applyInputIconSize","InputEndIcon","InputField","InputLabel","InputNumeric","InputPassword","InputStartIcon","InputText","InputWrapper","inputVariants","INDEX_LEVEL_LABELS","IndexLevel","IndexLevelIcon","indexLevelIconVariants","indexLevelTextVariants","indexLevelVariants","Label","labelVariants","labelTextVariants","Loading","LoadingOverlay","LoadingOverlayCard","LoadingOverlaySpinner","Skeleton","RadioGroup","RadioGroupItem","RadioGroupList","RadioGroupListItem","radioGroupVariants","Select","SelectContent","SelectGroup","SelectHeader","SelectItem","SelectLabel","SelectScrollDownButton","SelectScrollUpButton","SelectSeparator","SelectText","SelectTrigger","SelectValue","SelectWrapper","selectVariants","Separator","Switch","switchVariants","AlertDialog","AlertDialogAction","AlertDialogCancel","AlertDialogContent","AlertDialogDescription","AlertDialogFooter","AlertDialogHeader","AlertDialogIcon","AlertDialogOverlay","AlertDialogPortal","AlertDialogTag","AlertDialogTitle","AlertDialogTrigger","Dialog","DialogClose","DialogContainer","DialogContent","DialogDescription","DialogFooter","DialogHeader","DialogOverlay","DialogPortal","DialogTitle","DialogTrigger","Popover","PopoverClose","PopoverContent","PopoverTrigger","Sheet","SheetClose","SheetContainer","SheetContent","SheetDescription","SheetFooter","SheetHeader","SheetTitle","SheetTrigger","Tag","tagVariants","tagTextVariants","Chip","chipVariants","chipBackgroundVariants","chipTextVariants","Tabs","TabsContent","TabsList","TabsTrigger","tabsTriggerVariants","Choice","SegmentControl","SegmentControlContent","SegmentControlList","SegmentControlTrigger","segmentControlTriggerVariants","Filter","Feedback","Toast","ToastAction","ToastClose","ToastDescription","ToastProvider","ToastTitle","ToastViewport","toastVariants","Tooltip","TooltipContent","TooltipProvider","TooltipTrigger","useToast","toast","useThemeColor","withAlpha","ThemedIcon"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Alert","AlertActions","AlertButton","alertButtonVariants","AlertContainer","AlertContent","AlertDescription","AlertIcon","AlertTitle","alertVariants","Badge","badgeVariants","Avatar","AvatarFallback","AvatarImage","avatarVariants","FallbackImage","CardNews","CardNewsAuthor","CardNewsBody","CardNewsContent","CardNewsDate","CardNewsDescription","CardNewsFooter","CardNewsHeader","CardNewsImage","CardNewsResourceItem","CardNewsResources","CardNewsSkeleton","CardNewsTags","CardNewsTitle","EmptyState","PageHeader","Carousel","CarouselMediaSlide","CarouselMetricSlide","DropdownMenu","DropdownMenuContent","DropdownMenuGroup","DropdownMenuItem","DropdownMenuSeparator","DropdownMenuTrigger","Feed","FeedComposer","FeedTitle","FeedNotice","InvitePopover","InvitePopoverCard","InvitePopoverClose","InvitePopoverContent","InvitePopoverDivider","InvitePopoverEmailRow","InvitePopoverSendButton","InvitePopoverShareButton","InvitePopoverTitle","InvitePopoverTrigger","LeaderboardCard","LeaderboardCardHeader","LeaderboardCardList","MemberRow","memberRowVariants","rankIndicatorVariants","PostForm","PostFormCheckboxOption","PostFormDateTimeField","PostFormDescription","PostFormHeader","PostFormMediaPicker","PrizeCollection","PrizeCollectionStats","PrizeCollectionStatsItem","PrizeItem","PrizeRow","PrizeShelf","Text","resolveMontserratFamily","SectionHeader","Button","buttonVariants","buttonTextVariants","Checkbox","checkboxVariants","Input","InputAdornment","applyInputIconSize","InputEndIcon","InputField","InputLabel","InputNumeric","InputPassword","InputStartIcon","InputText","InputWrapper","inputVariants","INDEX_LEVEL_LABELS","IndexLevel","IndexLevelIcon","indexLevelIconVariants","indexLevelTextVariants","indexLevelVariants","Label","labelVariants","labelTextVariants","Loading","LoadingOverlay","LoadingOverlayCard","LoadingOverlaySpinner","Skeleton","RadioGroup","RadioGroupItem","RadioGroupList","RadioGroupListItem","radioGroupVariants","Select","SelectContent","SelectGroup","SelectHeader","SelectItem","SelectLabel","SelectScrollDownButton","SelectScrollUpButton","SelectSeparator","SelectText","SelectTrigger","SelectValue","SelectWrapper","selectVariants","Separator","Switch","switchVariants","AlertDialog","AlertDialogAction","AlertDialogCancel","AlertDialogContent","AlertDialogDescription","AlertDialogFooter","AlertDialogHeader","AlertDialogIcon","AlertDialogOverlay","AlertDialogPortal","AlertDialogTag","AlertDialogTitle","AlertDialogTrigger","Dialog","DialogClose","DialogContainer","DialogContent","DialogDescription","DialogFooter","DialogHeader","DialogOverlay","DialogPortal","DialogTitle","DialogTrigger","Popover","PopoverClose","PopoverContent","PopoverTrigger","Sheet","SheetClose","SheetContainer","SheetContent","SheetDescription","SheetFooter","SheetHeader","SheetTitle","SheetTrigger","Tag","tagVariants","tagTextVariants","Chip","chipVariants","chipBackgroundVariants","chipTextVariants","Tabs","TabsContent","TabsList","TabsTrigger","tabsTriggerVariants","Choice","SegmentControl","SegmentControlContent","SegmentControlList","SegmentControlTrigger","segmentControlTriggerVariants","Filter","Feedback","Toast","ToastAction","ToastClose","ToastDescription","ToastProvider","ToastTitle","ToastViewport","toastVariants","TEXT_MARKER_COLORS","TextMarker","textMarkerMarkVariants","Tooltip","TooltipContent","TooltipProvider","TooltipTrigger","useToast","toast","useThemeColor","withAlpha","ThemedIcon"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,94 @@
1
+ export type TextMarkerColor = "cm" | "go" | "cir" | "ped" | "prev";
2
+ export type TextMarkerMode = "create" | "edit";
3
+ /**
4
+ * Retângulo do trecho em coordenadas da janela, como o `measureInWindow`
5
+ * devolve (`x` → `left`, `y` → `top`).
6
+ */
7
+ export type TextMarkerAnchor = {
8
+ top: number;
9
+ left: number;
10
+ width: number;
11
+ height: number;
12
+ };
13
+ export interface TextMarkerLabels {
14
+ toolbar: string;
15
+ color: string;
16
+ close: string;
17
+ strikethrough: string;
18
+ strikethroughHint: string;
19
+ underline: string;
20
+ underlineHint: string;
21
+ annotate: string;
22
+ annotateHint: string;
23
+ pin: string;
24
+ pinHint: string;
25
+ pinArmedHint: string;
26
+ unpinHint: string;
27
+ remove: string;
28
+ removeHint: string;
29
+ colorName: (color: TextMarkerColor) => string;
30
+ }
31
+ export interface TextMarkerProps {
32
+ /** Controla se a interface está visível. */
33
+ open?: boolean;
34
+ /**
35
+ * Retângulo do trecho na janela. A toolbar abre acima (ou abaixo, se não
36
+ * couber). Ao rolar, meça de novo e passe o retângulo novo, ou feche.
37
+ */
38
+ anchor?: TextMarkerAnchor | null;
39
+ /** `create` é seleção nova; `edit` é toque numa marcação existente. */
40
+ mode?: TextMarkerMode;
41
+ /** Trecho selecionado, passado em `onNote`. */
42
+ selectedText?: string;
43
+ /**
44
+ * Cor já aplicada. A amostra aparece selecionada, e tocar nela de novo
45
+ * chama `onRemove`.
46
+ */
47
+ color?: TextMarkerColor;
48
+ colors?: readonly TextMarkerColor[];
49
+ /**
50
+ * Se o trecho já está riscado. Riscar aparece selecionado, e tocar nele de
51
+ * novo chama `onRemove`.
52
+ */
53
+ strikethrough?: boolean;
54
+ /**
55
+ * Se o trecho já está sublinhado. Sublinhar aparece selecionado, e tocar
56
+ * nele de novo chama `onRemove`.
57
+ */
58
+ underline?: boolean;
59
+ /**
60
+ * Cor fixada. Com ela, o app marca as próximas seleções direto, sem abrir a
61
+ * toolbar. `null` ou ausente: nada fixado.
62
+ */
63
+ pinnedColor?: TextMarkerColor | null;
64
+ disabled?: boolean;
65
+ className?: string;
66
+ labels?: Partial<TextMarkerLabels>;
67
+ onHighlight?: (color: TextMarkerColor) => void;
68
+ /** Toque em Riscar num trecho que ainda não está riscado. */
69
+ onStrikethrough?: () => void;
70
+ /** Toque em Sublinhar num trecho que ainda não está sublinhado. */
71
+ onUnderline?: () => void;
72
+ /**
73
+ * Fixar ou desafixar. Recebe a cor escolhida depois de Fixar, ou `null` ao
74
+ * desafixar.
75
+ */
76
+ onPinnedColorChange?: (color: TextMarkerColor | null) => void;
77
+ /**
78
+ * Toque em Anotar. O app abre o Note Editor com este trecho. O TextMarker
79
+ * não monta o editor.
80
+ */
81
+ onNote?: (selectedText: string) => void;
82
+ onRemove?: () => void;
83
+ /** Toque fora da toolbar ou voltar do Android. */
84
+ onClose?: () => void;
85
+ }
86
+ declare const TEXT_MARKER_COLORS: readonly TextMarkerColor[];
87
+ declare const textMarkerMarkVariants: (props?: ({
88
+ color?: "none" | "cm" | "go" | "cir" | "ped" | "prev" | null | undefined;
89
+ strikethrough?: boolean | null | undefined;
90
+ underline?: boolean | null | undefined;
91
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
92
+ declare function TextMarker(props: TextMarkerProps): null;
93
+ export { TEXT_MARKER_COLORS, TextMarker, textMarkerMarkVariants };
94
+ //# sourceMappingURL=TextMarker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextMarker.d.ts","sourceRoot":"","sources":["../../../src/components/TextMarker.tsx"],"names":[],"mappings":"AAoCA,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAEnE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,uEAAuE;IACvE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACpC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAMhD,CAAC;AAwDH,QAAA,MAAM,sBAAsB;;;;8EAiB1B,CAAC;AA2cH,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,QAiBzC;AAcD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC"}