@snksergio/design-system 0.53.0 → 0.55.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.
- package/dist-lib/chunks/{avatar-DAmZ7fBZ.cjs → avatar-CMWPg3A3.cjs} +157 -70
- package/dist-lib/chunks/avatar-CMWPg3A3.cjs.map +1 -0
- package/dist-lib/chunks/{avatar-FPbG1TRy.mjs → avatar-CZRLkTxt.mjs} +214 -127
- package/dist-lib/chunks/avatar-CZRLkTxt.mjs.map +1 -0
- package/dist-lib/chunks/{input-tjIT8HNE.mjs → input-BQABJR2N.mjs} +2 -2
- package/dist-lib/chunks/{input-tjIT8HNE.mjs.map → input-BQABJR2N.mjs.map} +1 -1
- package/dist-lib/chunks/{input-Ci_2-5Te.cjs → input-DqaLFxER.cjs} +2 -2
- package/dist-lib/chunks/{input-Ci_2-5Te.cjs.map → input-DqaLFxER.cjs.map} +1 -1
- package/dist-lib/chunks/{kpi-delta-BRTgTaO1.mjs → kpi-delta-Bfs_oVpq.mjs} +3 -3
- package/dist-lib/chunks/{kpi-delta-BRTgTaO1.mjs.map → kpi-delta-Bfs_oVpq.mjs.map} +1 -1
- package/dist-lib/chunks/{kpi-delta-1-gsPFvU.cjs → kpi-delta-wEzw5zSu.cjs} +3 -3
- package/dist-lib/chunks/{kpi-delta-1-gsPFvU.cjs.map → kpi-delta-wEzw5zSu.cjs.map} +1 -1
- package/dist-lib/chunks/{page-header-DrKDiVFN.cjs → page-header-sValhWca.cjs} +2 -2
- package/dist-lib/chunks/{page-header-DrKDiVFN.cjs.map → page-header-sValhWca.cjs.map} +1 -1
- package/dist-lib/chunks/{page-header-DdWp9c-r.mjs → page-header-t5hFIp7o.mjs} +2 -2
- package/dist-lib/chunks/{page-header-DdWp9c-r.mjs.map → page-header-t5hFIp7o.mjs.map} +1 -1
- package/dist-lib/chunks/{panel-DsOKm4Im.mjs → panel-C3puLY_V.mjs} +5 -5
- package/dist-lib/chunks/{panel-DsOKm4Im.mjs.map → panel-C3puLY_V.mjs.map} +1 -1
- package/dist-lib/chunks/{panel-CTbiCa0_.cjs → panel-DmnK2n5_.cjs} +5 -5
- package/dist-lib/chunks/{panel-CTbiCa0_.cjs.map → panel-DmnK2n5_.cjs.map} +1 -1
- package/dist-lib/chunks/{sheet-DIpYkRYS.mjs → sheet-Bjjo4ZaT.mjs} +2 -2
- package/dist-lib/chunks/{sheet-DIpYkRYS.mjs.map → sheet-Bjjo4ZaT.mjs.map} +1 -1
- package/dist-lib/chunks/{sheet-rg6uupt1.cjs → sheet-BrYriaDN.cjs} +2 -2
- package/dist-lib/chunks/{sheet-rg6uupt1.cjs.map → sheet-BrYriaDN.cjs.map} +1 -1
- package/dist-lib/chunks/{toggle-group-C9rrkkmh.cjs → toggle-group-DeoBmogo.cjs} +24 -111
- package/dist-lib/chunks/toggle-group-DeoBmogo.cjs.map +1 -0
- package/dist-lib/chunks/{toggle-group-mXbG8_Jm.mjs → toggle-group-XMgZgL-H.mjs} +111 -198
- package/dist-lib/chunks/toggle-group-XMgZgL-H.mjs.map +1 -0
- package/dist-lib/chunks/{useTheme-Dh3POjCr.cjs → useTheme-BTjHuaT2.cjs} +225 -84
- package/dist-lib/chunks/useTheme-BTjHuaT2.cjs.map +1 -0
- package/dist-lib/chunks/{useTheme-Bk8AYqLr.mjs → useTheme-caPM-I73.mjs} +267 -126
- package/dist-lib/chunks/useTheme-caPM-I73.mjs.map +1 -0
- package/dist-lib/index.cjs +647 -8
- package/dist-lib/index.cjs.map +1 -1
- package/dist-lib/index.mjs +1041 -402
- package/dist-lib/index.mjs.map +1 -1
- package/dist-lib/preview/chat.cjs +3 -3
- package/dist-lib/preview/chat.mjs +3 -3
- package/dist-lib/preview/clientes.cjs +6 -6
- package/dist-lib/preview/clientes.mjs +6 -6
- package/dist-lib/preview/dashboard.cjs +4 -4
- package/dist-lib/preview/dashboard.mjs +4 -4
- package/dist-lib/shadcn.cjs +11 -11
- package/dist-lib/shadcn.mjs +153 -153
- package/dist-lib/src/components/index.d.ts +2 -0
- package/dist-lib/src/components/index.d.ts.map +1 -1
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.d.ts +35 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.styles.d.ts +94 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.styles.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.types.d.ts +50 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.types.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.d.ts +32 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.styles.d.ts +111 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.styles.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.types.d.ts +40 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.types.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/index.d.ts +21 -0
- package/dist-lib/src/components/ui/Breadcrumb/index.d.ts.map +1 -0
- package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.styles.d.ts +3 -3
- package/dist-lib/src/components/ui/Header/header-breadcrumb.d.ts +13 -3
- package/dist-lib/src/components/ui/Header/header-breadcrumb.d.ts.map +1 -1
- package/dist-lib/src/components/ui/Header/header.styles.d.ts +12 -33
- package/dist-lib/src/components/ui/Header/header.styles.d.ts.map +1 -1
- package/dist-lib/src/components/ui/Header/header.types.d.ts +17 -0
- package/dist-lib/src/components/ui/Header/header.types.d.ts.map +1 -1
- package/dist-lib/src/components/ui/TabsNavigation/index.d.ts +5 -0
- package/dist-lib/src/components/ui/TabsNavigation/index.d.ts.map +1 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation-context.d.ts +19 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation-context.d.ts.map +1 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.d.ts +84 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.d.ts.map +1 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.styles.d.ts +393 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.styles.d.ts.map +1 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.types.d.ts +99 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.types.d.ts.map +1 -0
- package/dist-lib/src/components/ui/TabsNavigation/use-arrastar-para-rolar.d.ts +26 -0
- package/dist-lib/src/components/ui/TabsNavigation/use-arrastar-para-rolar.d.ts.map +1 -0
- package/dist-lib/theme.css +15 -0
- package/package.json +1 -1
- package/dist-lib/chunks/avatar-DAmZ7fBZ.cjs.map +0 -1
- package/dist-lib/chunks/avatar-FPbG1TRy.mjs.map +0 -1
- package/dist-lib/chunks/toggle-group-C9rrkkmh.cjs.map +0 -1
- package/dist-lib/chunks/toggle-group-mXbG8_Jm.mjs.map +0 -1
- package/dist-lib/chunks/useTheme-Bk8AYqLr.mjs.map +0 -1
- package/dist-lib/chunks/useTheme-Dh3POjCr.cjs.map +0 -1
package/dist-lib/index.mjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { g as getContrastTextColor, a as FormField, e as Avatar, i as isFilterEntryActive, f as FilterPopover, T as ToolbarToolButton, h as ButtonGroup, j as ToolbarSimpleFilterDrawer, k as TableToolbar, l as ToolbarActions, m as ToolbarFilterButton, n as ToolbarSearch, o as ToolbarApplied, q as ToolbarTabs, r as columnTypeRegistry, L as ListItem, s as List } from "./chunks/panel-
|
|
2
|
-
import { t, A, u, B, v, C, w, x, y, D, z, E, G, H, I, J, K, M, N, d, O, Q, R, S, U, F, b, V, c, W, X, P, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, p, al, am, an, ao, ap } from "./chunks/panel-
|
|
3
|
-
import { C as Chip } from "./chunks/useTheme-
|
|
4
|
-
import { A as A2, a, b as b2, H as H2,
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { g as getContrastTextColor, a as FormField, e as Avatar, i as isFilterEntryActive, f as FilterPopover, T as ToolbarToolButton, h as ButtonGroup, j as ToolbarSimpleFilterDrawer, k as TableToolbar, l as ToolbarActions, m as ToolbarFilterButton, n as ToolbarSearch, o as ToolbarApplied, q as ToolbarTabs, r as columnTypeRegistry, L as ListItem, s as List } from "./chunks/panel-C3puLY_V.mjs";
|
|
2
|
+
import { t, A, u, B, v, C, w, x, y, D, z, E, G, H, I, J, K, M, N, d, O, Q, R, S, U, F, b, V, c, W, X, P, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, p, al, am, an, ao, ap } from "./chunks/panel-C3puLY_V.mjs";
|
|
3
|
+
import { C as Chip } from "./chunks/useTheme-caPM-I73.mjs";
|
|
4
|
+
import { A as A2, B as B2, c as c2, a, b as b2, H as H2, d as d2, e, f, g, h, M as M2, S as S2, i, j, k, l, m, n, o, U as U2, p as p2, q, r, s, t as t2, v as v2, w as w2, x as x2, y as y2, z as z2, u as u2 } from "./chunks/useTheme-caPM-I73.mjs";
|
|
5
|
+
import { af as tv, c as cn, a0 as Popover, a4 as PopoverTrigger, a3 as PopoverContent, ae as Button, D as Dialog, G as DialogTrigger, v as DialogContent, F as DialogTitle, a1 as PopoverAnchor, u as DialogClose, w as DialogDescription, H as DropdownMenu, V as DropdownMenuTrigger, J as DropdownMenuContent, M as DropdownMenuLabel, Q as DropdownMenuSeparator, L as DropdownMenuItem } from "./chunks/avatar-CZRLkTxt.mjs";
|
|
6
|
+
import { d as d3, e as e2, f as f2, g as g2, h as h2, i as i2, W as W2, X as X2, Y as Y2, Z as Z2, _ as _2, $ as $2, I as I2, O as O2, P as P2, ag as ag2, ad as ad2 } from "./chunks/avatar-CZRLkTxt.mjs";
|
|
7
7
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
8
8
|
import * as React from "react";
|
|
9
|
-
import { createContext, forwardRef, useContext, useId, useState, Fragment as Fragment$1, isValidElement, useCallback, useMemo, createElement, useRef, useEffect, useLayoutEffect } from "react";
|
|
10
|
-
import { Q as Switch, l as Checkbox, C as Calendar, T as Textarea } from "./chunks/sheet-
|
|
11
|
-
import { G as G2, H as
|
|
12
|
-
import {
|
|
13
|
-
import { B as
|
|
14
|
-
import { Check, MoreHorizontal, SlidersHorizontal, Calendar as Calendar$1, AlertCircle, CheckCheck, Clock, MoreVertical, Ban, X as
|
|
9
|
+
import { createContext, forwardRef, useContext, useId, useState, Fragment as Fragment$1, isValidElement, useCallback, useMemo, createElement, useRef, useEffect, useLayoutEffect, Children } from "react";
|
|
10
|
+
import { Q as Switch, l as Checkbox, C as Calendar, T as Textarea } from "./chunks/sheet-Bjjo4ZaT.mjs";
|
|
11
|
+
import { G as G2, H as H3, F as F2, O as O3 } from "./chunks/sheet-Bjjo4ZaT.mjs";
|
|
12
|
+
import { ao as RadioGroup, ap as RadioGroupItem, as as Separator, at as Skeleton, T as HoverCard, V as HoverCardTrigger, U as HoverCardContent } from "./chunks/toggle-group-XMgZgL-H.mjs";
|
|
13
|
+
import { B as B3, aC } from "./chunks/toggle-group-XMgZgL-H.mjs";
|
|
14
|
+
import { Check, MoreHorizontal, SlidersHorizontal, Calendar as Calendar$1, AlertCircle, CheckCheck, Clock, MoreVertical, Ban, X as X3, CalendarDays, ChevronDown, ChevronLeft, ChevronRight, Circle, Plus, RefreshCw, OctagonX, TriangleAlert, CircleCheck, Info, Bell } from "lucide-react";
|
|
15
15
|
import { Reply } from "lucide-react";
|
|
16
|
-
import { I as Input } from "./chunks/input-
|
|
17
|
-
import { i as
|
|
18
|
-
import { a as a10, b as b3, K as K2 } from "./chunks/kpi-delta-
|
|
19
|
-
import { P as P3, p as p3 } from "./chunks/page-header-
|
|
16
|
+
import { I as Input } from "./chunks/input-BQABJR2N.mjs";
|
|
17
|
+
import { i as i3 } from "./chunks/input-BQABJR2N.mjs";
|
|
18
|
+
import { a as a10, b as b3, K as K2 } from "./chunks/kpi-delta-Bfs_oVpq.mjs";
|
|
19
|
+
import { P as P3, p as p3 } from "./chunks/page-header-t5hFIp7o.mjs";
|
|
20
20
|
import * as RechartsPrimitive from "recharts";
|
|
21
21
|
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
22
22
|
import "@hello-pangea/dnd";
|
|
@@ -434,12 +434,12 @@ const DEFAULT_COLOR_PRESETS = [
|
|
|
434
434
|
"#111827"
|
|
435
435
|
];
|
|
436
436
|
function normalizeHex(raw) {
|
|
437
|
-
let
|
|
438
|
-
if (/^[0-9a-fA-F]{3}$/.test(
|
|
439
|
-
|
|
437
|
+
let h3 = raw.trim().replace(/^#/, "");
|
|
438
|
+
if (/^[0-9a-fA-F]{3}$/.test(h3)) {
|
|
439
|
+
h3 = h3.split("").map((c3) => c3 + c3).join("");
|
|
440
440
|
}
|
|
441
|
-
if (/^[0-9a-fA-F]{6}$/.test(
|
|
442
|
-
return `#${
|
|
441
|
+
if (/^[0-9a-fA-F]{6}$/.test(h3)) {
|
|
442
|
+
return `#${h3.toUpperCase()}`;
|
|
443
443
|
}
|
|
444
444
|
return null;
|
|
445
445
|
}
|
|
@@ -530,11 +530,11 @@ const ColorPicker = forwardRef(
|
|
|
530
530
|
"aria-label": "Cor hexadecimal",
|
|
531
531
|
className: styles2.hexInput(),
|
|
532
532
|
value: inlineDraft,
|
|
533
|
-
onChange: (
|
|
533
|
+
onChange: (e3) => setInlineDraft(e3.target.value),
|
|
534
534
|
onBlur: handleInlineCommit,
|
|
535
|
-
onKeyDown: (
|
|
536
|
-
if (
|
|
537
|
-
|
|
535
|
+
onKeyDown: (e3) => {
|
|
536
|
+
if (e3.key === "Enter") {
|
|
537
|
+
e3.preventDefault();
|
|
538
538
|
handleInlineCommit();
|
|
539
539
|
}
|
|
540
540
|
}
|
|
@@ -595,10 +595,10 @@ const ColorPicker = forwardRef(
|
|
|
595
595
|
placeholder,
|
|
596
596
|
"aria-label": "Cor hexadecimal",
|
|
597
597
|
value: customDraft,
|
|
598
|
-
onChange: (
|
|
599
|
-
onKeyDown: (
|
|
600
|
-
if (
|
|
601
|
-
|
|
598
|
+
onChange: (e3) => setCustomDraft(e3.target.value),
|
|
599
|
+
onKeyDown: (e3) => {
|
|
600
|
+
if (e3.key === "Enter") {
|
|
601
|
+
e3.preventDefault();
|
|
602
602
|
handleCustomConfirm();
|
|
603
603
|
}
|
|
604
604
|
}
|
|
@@ -705,12 +705,12 @@ function parseInline(text, s2, prefix) {
|
|
|
705
705
|
function parseLinksAndInline(text, s2, prefix) {
|
|
706
706
|
const out = [];
|
|
707
707
|
let last = 0;
|
|
708
|
-
let
|
|
708
|
+
let i4 = 0;
|
|
709
709
|
URL_RE.lastIndex = 0;
|
|
710
710
|
let m2;
|
|
711
711
|
while ((m2 = URL_RE.exec(text)) !== null) {
|
|
712
712
|
if (m2.index > last) {
|
|
713
|
-
pushAll(out, parseInline(text.slice(last, m2.index), s2, `${prefix}-${
|
|
713
|
+
pushAll(out, parseInline(text.slice(last, m2.index), s2, `${prefix}-${i4}t`));
|
|
714
714
|
}
|
|
715
715
|
const raw = m2[0];
|
|
716
716
|
const href = raw.startsWith("www.") ? `https://${raw}` : raw;
|
|
@@ -724,36 +724,36 @@ function parseLinksAndInline(text, s2, prefix) {
|
|
|
724
724
|
className: s2.link(),
|
|
725
725
|
children: raw
|
|
726
726
|
},
|
|
727
|
-
`${prefix}-${
|
|
727
|
+
`${prefix}-${i4}link`
|
|
728
728
|
)
|
|
729
729
|
);
|
|
730
730
|
last = m2.index + raw.length;
|
|
731
|
-
|
|
731
|
+
i4 += 1;
|
|
732
732
|
}
|
|
733
733
|
if (last < text.length) {
|
|
734
|
-
pushAll(out, parseInline(text.slice(last), s2, `${prefix}-${
|
|
734
|
+
pushAll(out, parseInline(text.slice(last), s2, `${prefix}-${i4}t`));
|
|
735
735
|
}
|
|
736
736
|
return out;
|
|
737
737
|
}
|
|
738
738
|
function parseMarkdown(source, s2) {
|
|
739
739
|
const out = [];
|
|
740
740
|
let last = 0;
|
|
741
|
-
let
|
|
741
|
+
let i4 = 0;
|
|
742
742
|
CODE_RE.lastIndex = 0;
|
|
743
743
|
let m2;
|
|
744
744
|
while ((m2 = CODE_RE.exec(source)) !== null) {
|
|
745
745
|
if (m2.index > last) {
|
|
746
|
-
pushAll(out, parseLinksAndInline(source.slice(last, m2.index), s2, `${
|
|
746
|
+
pushAll(out, parseLinksAndInline(source.slice(last, m2.index), s2, `${i4}t`));
|
|
747
747
|
}
|
|
748
748
|
const codeContent = m2[1] ?? m2[2] ?? "";
|
|
749
749
|
out.push(
|
|
750
|
-
/* @__PURE__ */ jsx("code", { className: s2.code(), children: codeContent }, `${
|
|
750
|
+
/* @__PURE__ */ jsx("code", { className: s2.code(), children: codeContent }, `${i4}code`)
|
|
751
751
|
);
|
|
752
752
|
last = m2.index + m2[0].length;
|
|
753
|
-
|
|
753
|
+
i4 += 1;
|
|
754
754
|
}
|
|
755
755
|
if (last < source.length) {
|
|
756
|
-
pushAll(out, parseLinksAndInline(source.slice(last), s2, `${
|
|
756
|
+
pushAll(out, parseLinksAndInline(source.slice(last), s2, `${i4}t`));
|
|
757
757
|
}
|
|
758
758
|
return out;
|
|
759
759
|
}
|
|
@@ -765,7 +765,7 @@ function MarkdownText({
|
|
|
765
765
|
const styles2 = markdownTextStyles({ inline });
|
|
766
766
|
const source = inline ? children.replace(/\s+/g, " ").trim() : children;
|
|
767
767
|
const nodes = parseMarkdown(source, styles2);
|
|
768
|
-
const content = nodes.map((node,
|
|
768
|
+
const content = nodes.map((node, i4) => /* @__PURE__ */ jsx(Fragment$1, { children: node }, i4));
|
|
769
769
|
if (inline) {
|
|
770
770
|
return /* @__PURE__ */ jsx("span", { className: styles2.root({ className }), children: content });
|
|
771
771
|
}
|
|
@@ -888,14 +888,14 @@ const ConversationListItem = forwardRef(function ConversationListItem2({
|
|
|
888
888
|
disabled
|
|
889
889
|
});
|
|
890
890
|
const interactive = !disabled && typeof onClick === "function";
|
|
891
|
-
const handleKeyDown = (
|
|
891
|
+
const handleKeyDown = (e3) => {
|
|
892
892
|
if (!interactive) return;
|
|
893
|
-
if (
|
|
894
|
-
|
|
893
|
+
if (e3.key === "Enter" || e3.key === " ") {
|
|
894
|
+
e3.preventDefault();
|
|
895
895
|
onClick?.();
|
|
896
896
|
}
|
|
897
897
|
};
|
|
898
|
-
const stopActions = (
|
|
898
|
+
const stopActions = (e3) => e3.stopPropagation();
|
|
899
899
|
let avatarNode = null;
|
|
900
900
|
if (avatar != null) {
|
|
901
901
|
if (isAvatarData(avatar)) {
|
|
@@ -1025,20 +1025,20 @@ function useToolbarFilters(options) {
|
|
|
1025
1025
|
[generateId]
|
|
1026
1026
|
);
|
|
1027
1027
|
const remove = useCallback((id) => {
|
|
1028
|
-
setList((prev) => prev.filter((
|
|
1028
|
+
setList((prev) => prev.filter((f3) => f3.id !== id));
|
|
1029
1029
|
}, []);
|
|
1030
1030
|
const update = useCallback((id, patch) => {
|
|
1031
1031
|
setList(
|
|
1032
|
-
(prev) => prev.map((
|
|
1032
|
+
(prev) => prev.map((f3) => f3.id === id ? { ...f3, ...patch } : f3)
|
|
1033
1033
|
);
|
|
1034
1034
|
}, []);
|
|
1035
1035
|
const clear = useCallback(() => setList([]), []);
|
|
1036
1036
|
const replaceAll = useCallback((next) => setList(next), []);
|
|
1037
1037
|
const count = useMemo(
|
|
1038
|
-
() => list.filter((
|
|
1039
|
-
if (
|
|
1040
|
-
if (typeof
|
|
1041
|
-
if (Array.isArray(
|
|
1038
|
+
() => list.filter((f3) => {
|
|
1039
|
+
if (f3.value === null || f3.value === void 0) return false;
|
|
1040
|
+
if (typeof f3.value === "string") return f3.value.length > 0;
|
|
1041
|
+
if (Array.isArray(f3.value)) return f3.value.length > 0;
|
|
1042
1042
|
return true;
|
|
1043
1043
|
}).length,
|
|
1044
1044
|
[list]
|
|
@@ -1063,7 +1063,7 @@ function useToolbarSort(options) {
|
|
|
1063
1063
|
next[idx] = { ...current, direction: "desc" };
|
|
1064
1064
|
return next;
|
|
1065
1065
|
}
|
|
1066
|
-
return prev.filter((
|
|
1066
|
+
return prev.filter((_3, i4) => i4 !== idx);
|
|
1067
1067
|
});
|
|
1068
1068
|
},
|
|
1069
1069
|
[maxColumns]
|
|
@@ -3861,7 +3861,7 @@ const Icon = forwardRef(
|
|
|
3861
3861
|
...props,
|
|
3862
3862
|
children: [
|
|
3863
3863
|
title2 ? /* @__PURE__ */ jsx("title", { children: title2 }) : null,
|
|
3864
|
-
paths.map((
|
|
3864
|
+
paths.map((d4, i4) => /* @__PURE__ */ jsx("path", { d: d4 }, i4))
|
|
3865
3865
|
]
|
|
3866
3866
|
}
|
|
3867
3867
|
);
|
|
@@ -4132,7 +4132,7 @@ function FileUploadField({
|
|
|
4132
4132
|
accept,
|
|
4133
4133
|
disabled,
|
|
4134
4134
|
className: "hidden",
|
|
4135
|
-
onChange: (
|
|
4135
|
+
onChange: (e3) => handleFiles(e3.target.files?.[0])
|
|
4136
4136
|
}
|
|
4137
4137
|
),
|
|
4138
4138
|
value == null ? /* @__PURE__ */ jsxs(
|
|
@@ -4352,7 +4352,7 @@ function MessageMediaRenderer({
|
|
|
4352
4352
|
role: onMediaClick ? "button" : void 0,
|
|
4353
4353
|
tabIndex: onMediaClick ? 0 : void 0,
|
|
4354
4354
|
onClick: onMediaClick,
|
|
4355
|
-
onKeyDown: (
|
|
4355
|
+
onKeyDown: (e3) => handleMediaKeyDown(e3, onMediaClick)
|
|
4356
4356
|
}
|
|
4357
4357
|
) : null });
|
|
4358
4358
|
case "audio":
|
|
@@ -4372,7 +4372,7 @@ function MessageMediaRenderer({
|
|
|
4372
4372
|
role: onMediaClick ? "button" : void 0,
|
|
4373
4373
|
tabIndex: onMediaClick ? 0 : void 0,
|
|
4374
4374
|
onClick: onMediaClick,
|
|
4375
|
-
onKeyDown: (
|
|
4375
|
+
onKeyDown: (e3) => handleMediaKeyDown(e3, onMediaClick)
|
|
4376
4376
|
}
|
|
4377
4377
|
)
|
|
4378
4378
|
) : null });
|
|
@@ -4686,7 +4686,7 @@ const MessageComposer = forwardRef(function MessageComposer2({
|
|
|
4686
4686
|
placeholder,
|
|
4687
4687
|
"aria-label": placeholder ?? "Mensagem",
|
|
4688
4688
|
className: styles2.textarea(),
|
|
4689
|
-
onChange: (
|
|
4689
|
+
onChange: (e3) => onChange(e3.target.value),
|
|
4690
4690
|
onKeyDown: handleKeyDown
|
|
4691
4691
|
}
|
|
4692
4692
|
) }),
|
|
@@ -4804,7 +4804,7 @@ function MessageVariablesPicker({
|
|
|
4804
4804
|
size: "sm",
|
|
4805
4805
|
asButton: true,
|
|
4806
4806
|
"aria-label": `Inserir ${variable.label}`,
|
|
4807
|
-
onMouseDown: (
|
|
4807
|
+
onMouseDown: (e3) => e3.preventDefault(),
|
|
4808
4808
|
onClick: () => handleSelect(variable.token),
|
|
4809
4809
|
children: variable.label
|
|
4810
4810
|
},
|
|
@@ -4958,7 +4958,7 @@ function Modal({
|
|
|
4958
4958
|
...description$1 ? {} : { "aria-describedby": void 0 },
|
|
4959
4959
|
children: [
|
|
4960
4960
|
!title$1 && /* @__PURE__ */ jsx(DialogTitle, { className: "sr-only", children: "Diálogo" }),
|
|
4961
|
-
!hideClose && /* @__PURE__ */ jsx(DialogClose, { className: closeBtn(), "aria-label": "Fechar", children: /* @__PURE__ */ jsx(
|
|
4961
|
+
!hideClose && /* @__PURE__ */ jsx(DialogClose, { className: closeBtn(), "aria-label": "Fechar", children: /* @__PURE__ */ jsx(X3, { className: "size-icon-sm" }) }),
|
|
4962
4962
|
hasHeader && /* @__PURE__ */ jsxs("header", { className: head(), children: [
|
|
4963
4963
|
icon && /* @__PURE__ */ jsx("span", { className: headIcon(), "aria-hidden": "true", children: icon }),
|
|
4964
4964
|
(title$1 || description$1) && /* @__PURE__ */ jsxs("div", { className: headTitleWrap(), children: [
|
|
@@ -5146,7 +5146,7 @@ const MonthYearPicker = forwardRef(function MonthYearPicker2({
|
|
|
5146
5146
|
const fmt = new Intl.DateTimeFormat(locale, { month: "short" });
|
|
5147
5147
|
return Array.from(
|
|
5148
5148
|
{ length: 12 },
|
|
5149
|
-
(
|
|
5149
|
+
(_3, i4) => capitalizeFirst(fmt.format(new Date(2020, i4, 1)).replace(/\.$/, ""))
|
|
5150
5150
|
);
|
|
5151
5151
|
}, [locale]);
|
|
5152
5152
|
const triggerLabel = useMemo(() => {
|
|
@@ -5228,9 +5228,9 @@ const MonthYearPicker = forwardRef(function MonthYearPicker2({
|
|
|
5228
5228
|
}
|
|
5229
5229
|
)
|
|
5230
5230
|
] }),
|
|
5231
|
-
/* @__PURE__ */ jsx("div", { className: styles2.grid(), role: "grid", children: monthLabels.map((label,
|
|
5232
|
-
const monthDisabled = isMonthDisabled(
|
|
5233
|
-
const isSelected = parsed?.year === viewYear && parsed?.month ===
|
|
5231
|
+
/* @__PURE__ */ jsx("div", { className: styles2.grid(), role: "grid", children: monthLabels.map((label, i4) => {
|
|
5232
|
+
const monthDisabled = isMonthDisabled(i4);
|
|
5233
|
+
const isSelected = parsed?.year === viewYear && parsed?.month === i4 + 1;
|
|
5234
5234
|
return /* @__PURE__ */ jsx(
|
|
5235
5235
|
"button",
|
|
5236
5236
|
{
|
|
@@ -5238,7 +5238,7 @@ const MonthYearPicker = forwardRef(function MonthYearPicker2({
|
|
|
5238
5238
|
role: "gridcell",
|
|
5239
5239
|
"aria-pressed": isSelected,
|
|
5240
5240
|
disabled: monthDisabled,
|
|
5241
|
-
onClick: () => selectMonth(
|
|
5241
|
+
onClick: () => selectMonth(i4),
|
|
5242
5242
|
className: monthYearMonthButton({
|
|
5243
5243
|
selected: isSelected,
|
|
5244
5244
|
disabled: monthDisabled
|
|
@@ -5392,7 +5392,7 @@ const ScreenLoader = forwardRef(
|
|
|
5392
5392
|
] }),
|
|
5393
5393
|
/* @__PURE__ */ jsx(Skeleton, { className: "min-h-form-md w-[120px] shrink-0" })
|
|
5394
5394
|
] }),
|
|
5395
|
-
skeletonLayout !== "page" && /* @__PURE__ */ jsx("div", { "aria-hidden": "true", className: styles2.skeletonKpis(), children: Array.from({ length: 4 }, (
|
|
5395
|
+
skeletonLayout !== "page" && /* @__PURE__ */ jsx("div", { "aria-hidden": "true", className: styles2.skeletonKpis(), children: Array.from({ length: 4 }, (_3, i4) => /* @__PURE__ */ jsx(Skeleton, { className: styles2.skeletonKpiCard() }, i4)) }),
|
|
5396
5396
|
/* @__PURE__ */ jsx(Skeleton, { "aria-hidden": "true", className: styles2.skeletonBody() })
|
|
5397
5397
|
] })
|
|
5398
5398
|
}
|
|
@@ -5400,39 +5400,651 @@ const ScreenLoader = forwardRef(
|
|
|
5400
5400
|
}
|
|
5401
5401
|
);
|
|
5402
5402
|
ScreenLoader.displayName = "ScreenLoader";
|
|
5403
|
+
const TabsNavigationContext = createContext(null);
|
|
5404
|
+
function useArrastarParaRolar(trilho, ativo = true, limiarPx = 6) {
|
|
5405
|
+
const engolirClique = useRef(false);
|
|
5406
|
+
useEffect(() => {
|
|
5407
|
+
if (!ativo) return;
|
|
5408
|
+
const el = trilho.current;
|
|
5409
|
+
if (!el) return;
|
|
5410
|
+
if (typeof window === "undefined") return;
|
|
5411
|
+
if (window.matchMedia?.("(pointer: coarse)").matches) return;
|
|
5412
|
+
let arrastando = false;
|
|
5413
|
+
let passouLimiar = false;
|
|
5414
|
+
let xInicial = 0;
|
|
5415
|
+
let scrollInicial = 0;
|
|
5416
|
+
const ehInterativo = (alvo) => alvo instanceof Element && !!alvo.closest(
|
|
5417
|
+
'button, a, input, select, textarea, [role="button"], [role="menuitem"], [data-radix-popper-content-wrapper], [role="dialog"], [role="menu"], [role="tooltip"]'
|
|
5418
|
+
);
|
|
5419
|
+
const onPointerDown = (e3) => {
|
|
5420
|
+
if (e3.button !== 0 || ehInterativo(e3.target)) return;
|
|
5421
|
+
arrastando = true;
|
|
5422
|
+
passouLimiar = false;
|
|
5423
|
+
xInicial = e3.clientX;
|
|
5424
|
+
scrollInicial = el.scrollLeft;
|
|
5425
|
+
};
|
|
5426
|
+
const onPointerMove = (e3) => {
|
|
5427
|
+
if (!arrastando) return;
|
|
5428
|
+
const delta = e3.clientX - xInicial;
|
|
5429
|
+
if (!passouLimiar) {
|
|
5430
|
+
if (Math.abs(delta) < limiarPx) return;
|
|
5431
|
+
passouLimiar = true;
|
|
5432
|
+
engolirClique.current = true;
|
|
5433
|
+
el.setPointerCapture?.(e3.pointerId);
|
|
5434
|
+
el.style.cursor = "grabbing";
|
|
5435
|
+
el.style.userSelect = "none";
|
|
5436
|
+
}
|
|
5437
|
+
el.scrollLeft = scrollInicial - delta;
|
|
5438
|
+
};
|
|
5439
|
+
const encerrar = (e3) => {
|
|
5440
|
+
if (!arrastando) return;
|
|
5441
|
+
arrastando = false;
|
|
5442
|
+
el.releasePointerCapture?.(e3.pointerId);
|
|
5443
|
+
el.style.cursor = "";
|
|
5444
|
+
el.style.userSelect = "";
|
|
5445
|
+
};
|
|
5446
|
+
const onClickCapture = (e3) => {
|
|
5447
|
+
if (!engolirClique.current) return;
|
|
5448
|
+
engolirClique.current = false;
|
|
5449
|
+
e3.stopPropagation();
|
|
5450
|
+
e3.preventDefault();
|
|
5451
|
+
};
|
|
5452
|
+
el.addEventListener("pointerdown", onPointerDown);
|
|
5453
|
+
el.addEventListener("pointermove", onPointerMove);
|
|
5454
|
+
el.addEventListener("pointerup", encerrar);
|
|
5455
|
+
el.addEventListener("pointercancel", encerrar);
|
|
5456
|
+
el.addEventListener("click", onClickCapture, true);
|
|
5457
|
+
return () => {
|
|
5458
|
+
el.removeEventListener("pointerdown", onPointerDown);
|
|
5459
|
+
el.removeEventListener("pointermove", onPointerMove);
|
|
5460
|
+
el.removeEventListener("pointerup", encerrar);
|
|
5461
|
+
el.removeEventListener("pointercancel", encerrar);
|
|
5462
|
+
el.removeEventListener("click", onClickCapture, true);
|
|
5463
|
+
el.style.cursor = "";
|
|
5464
|
+
el.style.userSelect = "";
|
|
5465
|
+
};
|
|
5466
|
+
}, [trilho, ativo, limiarPx]);
|
|
5467
|
+
}
|
|
5468
|
+
const tabsNavigationRoot = tv({
|
|
5469
|
+
base: "flex gap-gp-2xs px-pad-lg",
|
|
5470
|
+
variants: {
|
|
5471
|
+
/**
|
|
5472
|
+
* O RESPIRO DO TOPO É DO COMPONENTE, não do consumidor — e isso é o que torna a peça
|
|
5473
|
+
* independente da superfície onde ela cai.
|
|
5474
|
+
*
|
|
5475
|
+
* Enquanto o padding vinha de um wrapper por fora, aquela faixa de 8px acima das abas
|
|
5476
|
+
* ficava com a cor do container (a superfície do card) enquanto a tira ficava com o
|
|
5477
|
+
* recuo: duas cores na mesma banda, e a aba inativa parecia "um botão de outra cor
|
|
5478
|
+
* pousado num fundo diferente". Trazendo o padding pra cá, o recuo cobre a banda inteira
|
|
5479
|
+
* e a ÚNICA coisa com fundo próprio passa a ser a aba ativa.
|
|
5480
|
+
*/
|
|
5481
|
+
respiro: {
|
|
5482
|
+
comfortable: "pt-pad-md",
|
|
5483
|
+
compact: "pt-pad-sm",
|
|
5484
|
+
nenhum: ""
|
|
5485
|
+
},
|
|
5486
|
+
/**
|
|
5487
|
+
* `items-stretch` é o que faz a aba de altura total valer: com `items-end` ela encolheria
|
|
5488
|
+
* pro próprio conteúdo e o `h-full` não teria contra o que medir. A régua some junto.
|
|
5489
|
+
*/
|
|
5490
|
+
fill: {
|
|
5491
|
+
true: "items-stretch",
|
|
5492
|
+
false: "items-end border-b border-border-default"
|
|
5493
|
+
},
|
|
5494
|
+
/**
|
|
5495
|
+
* Fundo recuado da tira — o par por modo explicado no cabeçalho deste arquivo.
|
|
5496
|
+
*
|
|
5497
|
+
* No claro é `bg-emphasis` (0.94), não `bg-subtle` (0.973): contra a aba ativa branca, o
|
|
5498
|
+
* delta de 0.027 do subtle quase não se lia. Com `emphasis` o recuo é 0.06 e a aba
|
|
5499
|
+
* selecionada salta. No escuro `emphasis` é branco a 12% **sobre** o que está atrás, ou
|
|
5500
|
+
* seja mais CLARO que a superfície (0.28 contra 0.225) — inverteria a hierarquia; ali quem
|
|
5501
|
+
* recua continua sendo `canvas`, e o reforço vem da sombra na aba ativa.
|
|
5502
|
+
*/
|
|
5503
|
+
chrome: {
|
|
5504
|
+
true: "bg-bg-emphasis dark:bg-bg-canvas",
|
|
5505
|
+
false: ""
|
|
5506
|
+
}
|
|
5507
|
+
},
|
|
5508
|
+
defaultVariants: { fill: false, chrome: true, respiro: "comfortable" }
|
|
5509
|
+
});
|
|
5510
|
+
const tabsNavigationTrilho = tv({
|
|
5511
|
+
/**
|
|
5512
|
+
* `scrollbar-none` não é preferência: a barra ocupa 11px DENTRO do trilho e empurra as abas
|
|
5513
|
+
* pra cima da régua, matando a união. A affordance de navegação são as setas + a lista.
|
|
5514
|
+
*/
|
|
5515
|
+
base: "flex min-w-0 flex-1 gap-gp-2xs overflow-x-auto scrollbar-none",
|
|
5516
|
+
variants: {
|
|
5517
|
+
/** o `pb-px` só existe pra o `-mb-px` da aba não ser cortado pelo overflow. */
|
|
5518
|
+
fill: {
|
|
5519
|
+
true: "items-stretch",
|
|
5520
|
+
false: "items-end pb-px"
|
|
5521
|
+
}
|
|
5522
|
+
},
|
|
5523
|
+
defaultVariants: { fill: false }
|
|
5524
|
+
});
|
|
5525
|
+
const tabsNavigationTab = tv({
|
|
5526
|
+
base: [
|
|
5527
|
+
"group/aba relative flex shrink-0 cursor-pointer select-none",
|
|
5528
|
+
"items-center gap-gp-sm border border-transparent px-pad-xl",
|
|
5529
|
+
"text-fg-muted transition-colors",
|
|
5530
|
+
"focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-brand"
|
|
5531
|
+
],
|
|
5532
|
+
variants: {
|
|
5533
|
+
/**
|
|
5534
|
+
* A largura é fixa (aba que cresce com o título faz a fila dançar a cada troca) — mas
|
|
5535
|
+
* fixa em DOIS degraus: no celular, 228px é quase a tela inteira e o usuário vê uma aba
|
|
5536
|
+
* e meia, sem noção de que há uma fila. Abaixo de `sm` a aba cai pra ~168/148px, que
|
|
5537
|
+
* mostra duas e meia e deixa o gesto de arrastar fazer sentido.
|
|
5538
|
+
*/
|
|
5539
|
+
density: {
|
|
5540
|
+
comfortable: "w-[168px] sm:w-[228px]",
|
|
5541
|
+
compact: "w-[148px] sm:w-[196px]"
|
|
5542
|
+
},
|
|
5543
|
+
fill: {
|
|
5544
|
+
true: "h-full self-stretch",
|
|
5545
|
+
false: "-mb-px rounded-t-radius-lg"
|
|
5546
|
+
},
|
|
5547
|
+
/** A superfície da aba ATIVA — tem que casar com o conteúdo logo abaixo dela. */
|
|
5548
|
+
surface: {
|
|
5549
|
+
surface: "",
|
|
5550
|
+
canvas: ""
|
|
5551
|
+
},
|
|
5552
|
+
ativa: {
|
|
5553
|
+
/**
|
|
5554
|
+
* `shadow-sh-sm` faz o trabalho que a cor não consegue no escuro: ali a ativa (0.225) e
|
|
5555
|
+
* o recuo (0.205) distam 0.02, e mudar a cor da ativa quebraria a união com o conteúdo,
|
|
5556
|
+
* que é o ponto do componente. A sombra separa sem mexer na cor — e no dark ela vem
|
|
5557
|
+
* amplificada por token (L-011).
|
|
5558
|
+
*/
|
|
5559
|
+
true: "border-border-default text-fg-strong shadow-sh-sm",
|
|
5560
|
+
false: "hover:bg-bg-subtle"
|
|
5561
|
+
}
|
|
5562
|
+
},
|
|
5563
|
+
compoundVariants: [
|
|
5564
|
+
{ fill: false, density: "comfortable", class: "min-h-comp-3xl" },
|
|
5565
|
+
{ fill: false, density: "compact", class: "min-h-comp-xl" },
|
|
5566
|
+
/**
|
|
5567
|
+
* ⚠️ A borda de baixo da aba ativa é **transparente**, não "da cor do conteúdo".
|
|
5568
|
+
*
|
|
5569
|
+
* A primeira versão pintava `border-b-bg-surface` pra apagar a régua. Funcionava só quando
|
|
5570
|
+
* o conteúdo logo abaixo era exatamente aquela cor — nos exemplos em que a tira ficava
|
|
5571
|
+
* sobre container transparente, ou separada do painel por um gap, sobrava um traço claro
|
|
5572
|
+
* embaixo da aba selecionada. Com a borda transparente é o **fundo da aba** que cobre a
|
|
5573
|
+
* régua (o background pinta sob a border-box, e o `-mb-px` a coloca por cima da linha):
|
|
5574
|
+
* funciona igual em qualquer superfície, que é o comportamento que se espera por padrão —
|
|
5575
|
+
* a aba emenda no conteúdo, sem linha entre os dois.
|
|
5576
|
+
*/
|
|
5577
|
+
{ ativa: true, surface: "surface", class: "bg-bg-surface border-b-transparent" },
|
|
5578
|
+
{ ativa: true, surface: "canvas", class: "bg-bg-canvas border-b-transparent" }
|
|
5579
|
+
],
|
|
5580
|
+
defaultVariants: { density: "comfortable", fill: false, surface: "surface", ativa: false }
|
|
5581
|
+
});
|
|
5582
|
+
const tabsNavigationDivisoria = tv({
|
|
5583
|
+
base: "w-px shrink-0 bg-border-default",
|
|
5584
|
+
variants: {
|
|
5585
|
+
fill: {
|
|
5586
|
+
true: "h-[20px] self-center",
|
|
5587
|
+
false: "h-[20px] mb-[14px]"
|
|
5588
|
+
},
|
|
5589
|
+
/** Ao lado da aba ativa some: encostada na borda dela vira uma sombra falsa. */
|
|
5590
|
+
oculta: {
|
|
5591
|
+
true: "bg-transparent",
|
|
5592
|
+
false: ""
|
|
5593
|
+
}
|
|
5594
|
+
},
|
|
5595
|
+
defaultVariants: { fill: false, oculta: false }
|
|
5596
|
+
});
|
|
5597
|
+
const tabsNavigationControles = tv({
|
|
5598
|
+
base: "flex shrink-0 items-center gap-gp-2xs",
|
|
5599
|
+
variants: {
|
|
5600
|
+
fill: { true: "h-full", false: "" },
|
|
5601
|
+
density: { comfortable: "h-comp-3xl", compact: "h-comp-xl" }
|
|
5602
|
+
},
|
|
5603
|
+
compoundVariants: [
|
|
5604
|
+
{ fill: true, density: "comfortable", class: "h-full" },
|
|
5605
|
+
{ fill: true, density: "compact", class: "h-full" }
|
|
5606
|
+
],
|
|
5607
|
+
defaultVariants: { fill: false, density: "comfortable" }
|
|
5608
|
+
});
|
|
5609
|
+
const tabsNavigationAcao = tv({
|
|
5610
|
+
base: [
|
|
5611
|
+
"inline-flex size-comp-xs items-center justify-center rounded-radius-sm",
|
|
5612
|
+
"transition-colors focus-visible:outline-none focus-visible:ring-4"
|
|
5613
|
+
],
|
|
5614
|
+
variants: {
|
|
5615
|
+
tom: {
|
|
5616
|
+
neutro: "text-fg-muted hover:bg-bg-muted hover:text-fg-default focus-visible:ring-ring-brand",
|
|
5617
|
+
success: "text-fg-success hover:bg-bg-success-muted focus-visible:ring-ring-success",
|
|
5618
|
+
danger: "text-fg-danger hover:bg-bg-danger-muted focus-visible:ring-ring-danger"
|
|
5619
|
+
}
|
|
5620
|
+
},
|
|
5621
|
+
defaultVariants: { tom: "neutro" }
|
|
5622
|
+
});
|
|
5623
|
+
const tabsNavigationAcoes = tv({
|
|
5624
|
+
base: "grid transition-[grid-template-columns,opacity] duration-150 ease-out",
|
|
5625
|
+
variants: {
|
|
5626
|
+
visivel: {
|
|
5627
|
+
true: "grid-cols-[1fr] opacity-100",
|
|
5628
|
+
false: "grid-cols-[0fr] opacity-0 group-hover/aba:grid-cols-[1fr] group-hover/aba:opacity-100 group-focus-within/aba:grid-cols-[1fr] group-focus-within/aba:opacity-100"
|
|
5629
|
+
}
|
|
5630
|
+
},
|
|
5631
|
+
defaultVariants: { visivel: false }
|
|
5632
|
+
});
|
|
5633
|
+
const tabsNavigationStatus = tv({
|
|
5634
|
+
base: "size-icon-2xs shrink-0",
|
|
5635
|
+
variants: {
|
|
5636
|
+
status: {
|
|
5637
|
+
success: "fill-bg-success text-bg-success",
|
|
5638
|
+
warning: "fill-bg-warning text-bg-warning",
|
|
5639
|
+
danger: "fill-bg-danger text-bg-danger",
|
|
5640
|
+
info: "fill-bg-info text-bg-info",
|
|
5641
|
+
neutral: "fill-fg-subtle text-fg-subtle"
|
|
5642
|
+
}
|
|
5643
|
+
},
|
|
5644
|
+
defaultVariants: { status: "neutral" }
|
|
5645
|
+
});
|
|
5646
|
+
const STATUS_CONHECIDOS = ["success", "warning", "danger", "info", "neutral"];
|
|
5647
|
+
const ehStatusConhecido = (s2) => typeof s2 === "string" && STATUS_CONHECIDOS.includes(s2);
|
|
5648
|
+
function TabsNavigationTitle({ children, className, ...rest }) {
|
|
5649
|
+
return /* @__PURE__ */ jsx(
|
|
5650
|
+
"span",
|
|
5651
|
+
{
|
|
5652
|
+
className: [
|
|
5653
|
+
"block truncate text-body-sm font-medium",
|
|
5654
|
+
"group-aria-selected/aba:font-semibold",
|
|
5655
|
+
className ?? ""
|
|
5656
|
+
].join(" "),
|
|
5657
|
+
...rest,
|
|
5658
|
+
children
|
|
5659
|
+
}
|
|
5660
|
+
);
|
|
5661
|
+
}
|
|
5662
|
+
TabsNavigationTitle.displayName = "TabsNavigation.Title";
|
|
5663
|
+
function TabsNavigationSubtitle({ children, className, ...rest }) {
|
|
5664
|
+
const ctx = useContext(TabsNavigationContext);
|
|
5665
|
+
if (ctx?.density === "compact") return null;
|
|
5666
|
+
return /* @__PURE__ */ jsx(
|
|
5667
|
+
"span",
|
|
5668
|
+
{
|
|
5669
|
+
className: ["block truncate text-caption-md text-fg-subtle", className ?? ""].join(" "),
|
|
5670
|
+
...rest,
|
|
5671
|
+
children
|
|
5672
|
+
}
|
|
5673
|
+
);
|
|
5674
|
+
}
|
|
5675
|
+
TabsNavigationSubtitle.displayName = "TabsNavigation.Subtitle";
|
|
5676
|
+
const TabsNavigationAction = forwardRef(function TabsNavigationAction2({ tom = "neutro", className, onClick, ...rest }, ref) {
|
|
5677
|
+
return /* @__PURE__ */ jsx(
|
|
5678
|
+
"button",
|
|
5679
|
+
{
|
|
5680
|
+
ref,
|
|
5681
|
+
type: "button",
|
|
5682
|
+
className: tabsNavigationAcao({ tom, className }),
|
|
5683
|
+
onClick: (e3) => {
|
|
5684
|
+
e3.stopPropagation();
|
|
5685
|
+
onClick?.(e3);
|
|
5686
|
+
},
|
|
5687
|
+
...rest
|
|
5688
|
+
}
|
|
5689
|
+
);
|
|
5690
|
+
});
|
|
5691
|
+
TabsNavigationAction.displayName = "TabsNavigation.Action";
|
|
5692
|
+
function TabsNavigationActions({ children }) {
|
|
5693
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
5694
|
+
}
|
|
5695
|
+
TabsNavigationActions.displayName = "TabsNavigation.Actions";
|
|
5696
|
+
function TabsNavigationPanel({ value, children, className, ...rest }) {
|
|
5697
|
+
const ctx = useContext(TabsNavigationContext);
|
|
5698
|
+
if (!ctx || ctx.value !== value) return null;
|
|
5699
|
+
return /* @__PURE__ */ jsx(
|
|
5700
|
+
"div",
|
|
5701
|
+
{
|
|
5702
|
+
role: "tabpanel",
|
|
5703
|
+
"aria-labelledby": ctx.idTab(value),
|
|
5704
|
+
tabIndex: 0,
|
|
5705
|
+
className,
|
|
5706
|
+
...rest,
|
|
5707
|
+
children
|
|
5708
|
+
}
|
|
5709
|
+
);
|
|
5710
|
+
}
|
|
5711
|
+
TabsNavigationPanel.displayName = "TabsNavigation.Panel";
|
|
5712
|
+
const TabsNavigationTab = forwardRef(function TabsNavigationTab2({
|
|
5713
|
+
value,
|
|
5714
|
+
leading,
|
|
5715
|
+
status,
|
|
5716
|
+
badge,
|
|
5717
|
+
actions,
|
|
5718
|
+
onClose,
|
|
5719
|
+
menu,
|
|
5720
|
+
panelId,
|
|
5721
|
+
actionsAlwaysVisible = false,
|
|
5722
|
+
hoverCard,
|
|
5723
|
+
children,
|
|
5724
|
+
className,
|
|
5725
|
+
...rest
|
|
5726
|
+
}, ref) {
|
|
5727
|
+
const ctx = useContext(TabsNavigationContext);
|
|
5728
|
+
if (!ctx) throw new Error("<TabsNavigation.Tab> só funciona dentro de <TabsNavigation>.");
|
|
5729
|
+
const ativa = ctx.value === value;
|
|
5730
|
+
const temAcoesPadrao = !actions && typeof onClose === "function";
|
|
5731
|
+
const conteudoAcoes = actions ?? (temAcoesPadrao ? /* @__PURE__ */ jsx(AcoesPadrao, { onClose, menu }) : null);
|
|
5732
|
+
const aba = /* @__PURE__ */ jsxs(
|
|
5733
|
+
"div",
|
|
5734
|
+
{
|
|
5735
|
+
ref,
|
|
5736
|
+
role: "tab",
|
|
5737
|
+
id: ctx.idTab(value),
|
|
5738
|
+
"data-value": value,
|
|
5739
|
+
"aria-selected": ativa,
|
|
5740
|
+
"aria-controls": panelId,
|
|
5741
|
+
tabIndex: ativa ? 0 : -1,
|
|
5742
|
+
onClick: () => ctx.onValueChange(value),
|
|
5743
|
+
onKeyDown: (e3) => {
|
|
5744
|
+
if (e3.key === "Enter" || e3.key === " ") {
|
|
5745
|
+
e3.preventDefault();
|
|
5746
|
+
ctx.onValueChange(value);
|
|
5747
|
+
}
|
|
5748
|
+
},
|
|
5749
|
+
className: tabsNavigationTab({
|
|
5750
|
+
density: ctx.density,
|
|
5751
|
+
fill: ctx.fill,
|
|
5752
|
+
surface: ctx.surface,
|
|
5753
|
+
ativa,
|
|
5754
|
+
className
|
|
5755
|
+
}),
|
|
5756
|
+
...rest,
|
|
5757
|
+
children: [
|
|
5758
|
+
leading,
|
|
5759
|
+
/* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1", children: status !== void 0 ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-gp-sm", children: [
|
|
5760
|
+
ehStatusConhecido(status) ? /* @__PURE__ */ jsx(Circle, { className: tabsNavigationStatus({ status }), "aria-hidden": true }) : status,
|
|
5761
|
+
/* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1", children })
|
|
5762
|
+
] }) : children }),
|
|
5763
|
+
!ativa && badge !== void 0 && badge !== null && badge !== 0 ? typeof badge === "number" ? /* @__PURE__ */ jsx(
|
|
5764
|
+
"span",
|
|
5765
|
+
{
|
|
5766
|
+
className: "inline-flex min-w-[18px] items-center justify-center rounded-radius-full bg-bg-brand px-pad-xs text-caption-sm font-semibold text-fg-on-brand",
|
|
5767
|
+
"aria-hidden": true,
|
|
5768
|
+
children: badge
|
|
5769
|
+
}
|
|
5770
|
+
) : badge : null,
|
|
5771
|
+
conteudoAcoes ? /* @__PURE__ */ jsx(
|
|
5772
|
+
"div",
|
|
5773
|
+
{
|
|
5774
|
+
className: tabsNavigationAcoes({
|
|
5775
|
+
visivel: ativa || actionsAlwaysVisible || ctx.actionsMode === "persistent"
|
|
5776
|
+
}),
|
|
5777
|
+
children: /* @__PURE__ */ jsx("div", { className: "flex min-w-0 items-center gap-gp-2xs overflow-hidden", children: conteudoAcoes })
|
|
5778
|
+
}
|
|
5779
|
+
) : null
|
|
5780
|
+
]
|
|
5781
|
+
}
|
|
5782
|
+
);
|
|
5783
|
+
if (!hoverCard || ativa) return aba;
|
|
5784
|
+
return /* @__PURE__ */ jsxs(HoverCard, { openDelay: 500, closeDelay: 120, children: [
|
|
5785
|
+
/* @__PURE__ */ jsx(HoverCardTrigger, { asChild: true, children: aba }),
|
|
5786
|
+
/* @__PURE__ */ jsx(HoverCardContent, { align: "start", className: "w-[300px]", children: hoverCard })
|
|
5787
|
+
] });
|
|
5788
|
+
});
|
|
5789
|
+
TabsNavigationTab.displayName = "TabsNavigation.Tab";
|
|
5790
|
+
function AcoesPadrao({ onClose, menu }) {
|
|
5791
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5792
|
+
/* @__PURE__ */ jsxs(DropdownMenu, { children: [
|
|
5793
|
+
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(TabsNavigationAction, { "aria-label": "Opções da aba", children: /* @__PURE__ */ jsx(MoreHorizontal, { className: "size-icon-sm" }) }) }),
|
|
5794
|
+
/* @__PURE__ */ jsxs(DropdownMenuContent, { align: "start", className: "w-[196px]", children: [
|
|
5795
|
+
menu,
|
|
5796
|
+
menu ? /* @__PURE__ */ jsx(DropdownMenuSeparator, {}) : null,
|
|
5797
|
+
/* @__PURE__ */ jsxs(
|
|
5798
|
+
DropdownMenuItem,
|
|
5799
|
+
{
|
|
5800
|
+
onSelect: onClose,
|
|
5801
|
+
className: "text-fg-danger focus:bg-bg-danger-muted focus:text-fg-danger",
|
|
5802
|
+
children: [
|
|
5803
|
+
/* @__PURE__ */ jsx(X3, { className: "size-icon-sm" }),
|
|
5804
|
+
" Fechar aba"
|
|
5805
|
+
]
|
|
5806
|
+
}
|
|
5807
|
+
)
|
|
5808
|
+
] })
|
|
5809
|
+
] }),
|
|
5810
|
+
/* @__PURE__ */ jsx(TabsNavigationAction, { "aria-label": "Fechar aba", onClick: onClose, children: /* @__PURE__ */ jsx(X3, { className: "size-icon-sm" }) })
|
|
5811
|
+
] });
|
|
5812
|
+
}
|
|
5813
|
+
const TabsNavigationRoot = forwardRef(function TabsNavigation2({
|
|
5814
|
+
value,
|
|
5815
|
+
onValueChange,
|
|
5816
|
+
surface = "surface",
|
|
5817
|
+
density = "comfortable",
|
|
5818
|
+
fill = false,
|
|
5819
|
+
actionsMode = "hover",
|
|
5820
|
+
chrome = true,
|
|
5821
|
+
onNewTab,
|
|
5822
|
+
children,
|
|
5823
|
+
className,
|
|
5824
|
+
"aria-label": ariaLabel,
|
|
5825
|
+
...rest
|
|
5826
|
+
}, ref) {
|
|
5827
|
+
const prefixo = useId();
|
|
5828
|
+
const trilho = useRef(null);
|
|
5829
|
+
const ctx = useMemo(
|
|
5830
|
+
() => ({
|
|
5831
|
+
value,
|
|
5832
|
+
onValueChange,
|
|
5833
|
+
surface,
|
|
5834
|
+
density,
|
|
5835
|
+
fill,
|
|
5836
|
+
actionsMode,
|
|
5837
|
+
idTab: (v3) => `${prefixo}-${v3}`
|
|
5838
|
+
}),
|
|
5839
|
+
[value, onValueChange, surface, density, fill, actionsMode, prefixo]
|
|
5840
|
+
);
|
|
5841
|
+
const { abas, acoesGlobais } = useMemo(() => {
|
|
5842
|
+
const abas2 = [];
|
|
5843
|
+
let acoesGlobais2 = null;
|
|
5844
|
+
for (const filho of Children.toArray(children)) {
|
|
5845
|
+
if (!isValidElement(filho)) continue;
|
|
5846
|
+
if (filho.type === TabsNavigationActions) acoesGlobais2 = filho;
|
|
5847
|
+
else abas2.push(filho);
|
|
5848
|
+
}
|
|
5849
|
+
return { abas: abas2, acoesGlobais: acoesGlobais2 };
|
|
5850
|
+
}, [children]);
|
|
5851
|
+
const [rolagem, setRolagem] = useState({ transborda: false, esq: false, dir: false });
|
|
5852
|
+
const medir = useCallback(() => {
|
|
5853
|
+
const el = trilho.current;
|
|
5854
|
+
if (!el) return;
|
|
5855
|
+
const max = el.scrollWidth - el.clientWidth;
|
|
5856
|
+
setRolagem({ transborda: max > 1, esq: el.scrollLeft > 1, dir: el.scrollLeft < max - 1 });
|
|
5857
|
+
}, []);
|
|
5858
|
+
useEffect(() => {
|
|
5859
|
+
const el = trilho.current;
|
|
5860
|
+
if (!el) return;
|
|
5861
|
+
medir();
|
|
5862
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
5863
|
+
const ro = new ResizeObserver(medir);
|
|
5864
|
+
ro.observe(el);
|
|
5865
|
+
for (const filho of Array.from(el.children)) ro.observe(filho);
|
|
5866
|
+
return () => ro.disconnect();
|
|
5867
|
+
}, [medir, abas.length]);
|
|
5868
|
+
useEffect(() => {
|
|
5869
|
+
const el = trilho.current;
|
|
5870
|
+
const alvo = el?.querySelector(`[data-value="${CSS.escape(value)}"]`);
|
|
5871
|
+
alvo?.scrollIntoView({ inline: "nearest", block: "nearest", behavior: "smooth" });
|
|
5872
|
+
if (el?.contains(document.activeElement) && alvo !== document.activeElement) alvo?.focus();
|
|
5873
|
+
}, [value]);
|
|
5874
|
+
useArrastarParaRolar(trilho);
|
|
5875
|
+
const rolar = (dir) => trilho.current?.scrollBy({ left: dir * 240, behavior: "smooth" });
|
|
5876
|
+
const onKeyDown = (e3) => {
|
|
5877
|
+
const valores = abas.map((a11) => a11.props.value);
|
|
5878
|
+
const i4 = valores.indexOf(value);
|
|
5879
|
+
if (i4 < 0) return;
|
|
5880
|
+
const proximo = e3.key === "ArrowRight" ? valores[(i4 + 1) % valores.length] : e3.key === "ArrowLeft" ? valores[(i4 - 1 + valores.length) % valores.length] : e3.key === "Home" ? valores[0] : e3.key === "End" ? valores[valores.length - 1] : null;
|
|
5881
|
+
if (!proximo) return;
|
|
5882
|
+
e3.preventDefault();
|
|
5883
|
+
onValueChange(proximo);
|
|
5884
|
+
};
|
|
5885
|
+
const controles = tabsNavigationControles({ fill, density });
|
|
5886
|
+
return /* @__PURE__ */ jsx(TabsNavigationContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxs(
|
|
5887
|
+
"div",
|
|
5888
|
+
{
|
|
5889
|
+
ref,
|
|
5890
|
+
role: "tablist",
|
|
5891
|
+
"aria-label": ariaLabel,
|
|
5892
|
+
"aria-orientation": "horizontal",
|
|
5893
|
+
onKeyDown,
|
|
5894
|
+
className: tabsNavigationRoot({
|
|
5895
|
+
fill,
|
|
5896
|
+
chrome,
|
|
5897
|
+
// em `fill` a aba vai de ponta a ponta: respiro no topo desmontaria justamente isso
|
|
5898
|
+
respiro: fill ? "nenhum" : density,
|
|
5899
|
+
className
|
|
5900
|
+
}),
|
|
5901
|
+
...rest,
|
|
5902
|
+
children: [
|
|
5903
|
+
rolagem.esq ? /* @__PURE__ */ jsxs("div", { className: `${controles} hidden pr-pad-xs sm:flex`, children: [
|
|
5904
|
+
/* @__PURE__ */ jsx(
|
|
5905
|
+
Button,
|
|
5906
|
+
{
|
|
5907
|
+
variant: "ghost",
|
|
5908
|
+
color: "secondary",
|
|
5909
|
+
size: "icon-sm",
|
|
5910
|
+
"aria-label": "Abas anteriores",
|
|
5911
|
+
onClick: () => rolar(-1),
|
|
5912
|
+
children: /* @__PURE__ */ jsx(ChevronLeft, {})
|
|
5913
|
+
}
|
|
5914
|
+
),
|
|
5915
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: tabsNavigationDivisoria({ fill }) })
|
|
5916
|
+
] }) : null,
|
|
5917
|
+
/* @__PURE__ */ jsx("div", { ref: trilho, onScroll: medir, className: tabsNavigationTrilho({ fill }), children: abas.map((aba, i4) => {
|
|
5918
|
+
const vizinhaDaAtiva = aba.props.value === value || abas[i4 + 1]?.props.value === value;
|
|
5919
|
+
return /* @__PURE__ */ jsxs(
|
|
5920
|
+
"div",
|
|
5921
|
+
{
|
|
5922
|
+
className: ["flex shrink-0", fill ? "items-stretch" : "items-end"].join(" "),
|
|
5923
|
+
children: [
|
|
5924
|
+
aba,
|
|
5925
|
+
i4 < abas.length - 1 ? /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: tabsNavigationDivisoria({ fill, oculta: vizinhaDaAtiva }) }) : null
|
|
5926
|
+
]
|
|
5927
|
+
},
|
|
5928
|
+
aba.props.value
|
|
5929
|
+
);
|
|
5930
|
+
}) }),
|
|
5931
|
+
rolagem.dir ? /* @__PURE__ */ jsxs("div", { className: `${controles} hidden pl-pad-xs sm:flex`, children: [
|
|
5932
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: tabsNavigationDivisoria({ fill }) }),
|
|
5933
|
+
/* @__PURE__ */ jsx(
|
|
5934
|
+
Button,
|
|
5935
|
+
{
|
|
5936
|
+
variant: "ghost",
|
|
5937
|
+
color: "secondary",
|
|
5938
|
+
size: "icon-sm",
|
|
5939
|
+
"aria-label": "Próximas abas",
|
|
5940
|
+
onClick: () => rolar(1),
|
|
5941
|
+
children: /* @__PURE__ */ jsx(ChevronRight, {})
|
|
5942
|
+
}
|
|
5943
|
+
)
|
|
5944
|
+
] }) : null,
|
|
5945
|
+
onNewTab || rolagem.transborda && abas.length || acoesGlobais ? /* @__PURE__ */ jsxs("div", { className: controles, children: [
|
|
5946
|
+
onNewTab ? /* @__PURE__ */ jsx(
|
|
5947
|
+
Button,
|
|
5948
|
+
{
|
|
5949
|
+
variant: "ghost",
|
|
5950
|
+
color: "secondary",
|
|
5951
|
+
size: "icon-sm",
|
|
5952
|
+
"aria-label": "Abrir nova aba",
|
|
5953
|
+
onClick: onNewTab,
|
|
5954
|
+
children: /* @__PURE__ */ jsx(Plus, {})
|
|
5955
|
+
}
|
|
5956
|
+
) : null,
|
|
5957
|
+
rolagem.transborda && abas.length ? /* @__PURE__ */ jsxs(DropdownMenu, { children: [
|
|
5958
|
+
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
5959
|
+
Button,
|
|
5960
|
+
{
|
|
5961
|
+
variant: "ghost",
|
|
5962
|
+
color: "secondary",
|
|
5963
|
+
size: "icon-sm",
|
|
5964
|
+
"aria-label": `Listar as ${abas.length} abas abertas`,
|
|
5965
|
+
children: /* @__PURE__ */ jsx(ChevronDown, {})
|
|
5966
|
+
}
|
|
5967
|
+
) }),
|
|
5968
|
+
/* @__PURE__ */ jsxs(
|
|
5969
|
+
DropdownMenuContent,
|
|
5970
|
+
{
|
|
5971
|
+
align: "end",
|
|
5972
|
+
className: "max-h-[320px] w-[264px] overflow-y-auto scrollbar-thin",
|
|
5973
|
+
children: [
|
|
5974
|
+
/* @__PURE__ */ jsxs(DropdownMenuLabel, { children: [
|
|
5975
|
+
abas.length,
|
|
5976
|
+
" abas abertas"
|
|
5977
|
+
] }),
|
|
5978
|
+
/* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
|
|
5979
|
+
abas.map((aba) => {
|
|
5980
|
+
const p4 = aba.props;
|
|
5981
|
+
return /* @__PURE__ */ jsxs(
|
|
5982
|
+
DropdownMenuItem,
|
|
5983
|
+
{
|
|
5984
|
+
onSelect: () => onValueChange(p4.value),
|
|
5985
|
+
className: p4.value === value ? "bg-bg-brand-subtle text-fg-brand" : void 0,
|
|
5986
|
+
children: [
|
|
5987
|
+
ehStatusConhecido(p4.status) ? /* @__PURE__ */ jsx(Circle, { className: tabsNavigationStatus({ status: p4.status }), "aria-hidden": true }) : null,
|
|
5988
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1", children: p4.children })
|
|
5989
|
+
]
|
|
5990
|
+
},
|
|
5991
|
+
p4.value
|
|
5992
|
+
);
|
|
5993
|
+
})
|
|
5994
|
+
]
|
|
5995
|
+
}
|
|
5996
|
+
)
|
|
5997
|
+
] }) : null,
|
|
5998
|
+
acoesGlobais ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5999
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: tabsNavigationDivisoria({ fill, className: "mx-pad-xs" }) }),
|
|
6000
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-gp-2xs", children: acoesGlobais })
|
|
6001
|
+
] }) : null
|
|
6002
|
+
] }) : null
|
|
6003
|
+
]
|
|
6004
|
+
}
|
|
6005
|
+
) });
|
|
6006
|
+
});
|
|
6007
|
+
const TabsNavigation = Object.assign(TabsNavigationRoot, {
|
|
6008
|
+
Tab: TabsNavigationTab,
|
|
6009
|
+
Title: TabsNavigationTitle,
|
|
6010
|
+
Subtitle: TabsNavigationSubtitle,
|
|
6011
|
+
Action: TabsNavigationAction,
|
|
6012
|
+
Actions: TabsNavigationActions,
|
|
6013
|
+
Panel: TabsNavigationPanel
|
|
6014
|
+
});
|
|
5403
6015
|
class Adder {
|
|
5404
6016
|
constructor() {
|
|
5405
6017
|
this._partials = new Float64Array(32);
|
|
5406
6018
|
this._n = 0;
|
|
5407
6019
|
}
|
|
5408
|
-
add(
|
|
6020
|
+
add(x3) {
|
|
5409
6021
|
const p4 = this._partials;
|
|
5410
|
-
let
|
|
6022
|
+
let i4 = 0;
|
|
5411
6023
|
for (let j2 = 0; j2 < this._n && j2 < 32; j2++) {
|
|
5412
|
-
const y3 = p4[j2], hi =
|
|
5413
|
-
if (lo) p4[
|
|
5414
|
-
|
|
6024
|
+
const y3 = p4[j2], hi = x3 + y3, lo = Math.abs(x3) < Math.abs(y3) ? x3 - (hi - y3) : y3 - (hi - x3);
|
|
6025
|
+
if (lo) p4[i4++] = lo;
|
|
6026
|
+
x3 = hi;
|
|
5415
6027
|
}
|
|
5416
|
-
p4[
|
|
5417
|
-
this._n =
|
|
6028
|
+
p4[i4] = x3;
|
|
6029
|
+
this._n = i4 + 1;
|
|
5418
6030
|
return this;
|
|
5419
6031
|
}
|
|
5420
6032
|
valueOf() {
|
|
5421
6033
|
const p4 = this._partials;
|
|
5422
|
-
let n2 = this._n,
|
|
6034
|
+
let n2 = this._n, x3, y3, lo, hi = 0;
|
|
5423
6035
|
if (n2 > 0) {
|
|
5424
6036
|
hi = p4[--n2];
|
|
5425
6037
|
while (n2 > 0) {
|
|
5426
|
-
|
|
6038
|
+
x3 = hi;
|
|
5427
6039
|
y3 = p4[--n2];
|
|
5428
|
-
hi =
|
|
5429
|
-
lo = y3 - (hi -
|
|
6040
|
+
hi = x3 + y3;
|
|
6041
|
+
lo = y3 - (hi - x3);
|
|
5430
6042
|
if (lo) break;
|
|
5431
6043
|
}
|
|
5432
6044
|
if (n2 > 0 && (lo < 0 && p4[n2 - 1] < 0 || lo > 0 && p4[n2 - 1] > 0)) {
|
|
5433
6045
|
y3 = lo * 2;
|
|
5434
|
-
|
|
5435
|
-
if (y3 ==
|
|
6046
|
+
x3 = hi + y3;
|
|
6047
|
+
if (y3 == x3 - hi) hi = x3;
|
|
5436
6048
|
}
|
|
5437
6049
|
}
|
|
5438
6050
|
return hi;
|
|
@@ -5460,16 +6072,16 @@ var cos = Math.cos;
|
|
|
5460
6072
|
var exp = Math.exp;
|
|
5461
6073
|
var log = Math.log;
|
|
5462
6074
|
var sin = Math.sin;
|
|
5463
|
-
var sign = Math.sign || function(
|
|
5464
|
-
return
|
|
6075
|
+
var sign = Math.sign || function(x3) {
|
|
6076
|
+
return x3 > 0 ? 1 : x3 < 0 ? -1 : 0;
|
|
5465
6077
|
};
|
|
5466
6078
|
var sqrt = Math.sqrt;
|
|
5467
6079
|
var tan = Math.tan;
|
|
5468
|
-
function acos(
|
|
5469
|
-
return
|
|
6080
|
+
function acos(x3) {
|
|
6081
|
+
return x3 > 1 ? 0 : x3 < -1 ? pi : Math.acos(x3);
|
|
5470
6082
|
}
|
|
5471
|
-
function asin(
|
|
5472
|
-
return
|
|
6083
|
+
function asin(x3) {
|
|
6084
|
+
return x3 > 1 ? halfPi : x3 < -1 ? -halfPi : Math.asin(x3);
|
|
5473
6085
|
}
|
|
5474
6086
|
function noop() {
|
|
5475
6087
|
}
|
|
@@ -5483,8 +6095,8 @@ var streamObjectType = {
|
|
|
5483
6095
|
streamGeometry(object2.geometry, stream);
|
|
5484
6096
|
},
|
|
5485
6097
|
FeatureCollection: function(object2, stream) {
|
|
5486
|
-
var features = object2.features,
|
|
5487
|
-
while (++
|
|
6098
|
+
var features = object2.features, i4 = -1, n2 = features.length;
|
|
6099
|
+
while (++i4 < n2) streamGeometry(features[i4].geometry, stream);
|
|
5488
6100
|
}
|
|
5489
6101
|
};
|
|
5490
6102
|
var streamGeometryType = {
|
|
@@ -5496,38 +6108,38 @@ var streamGeometryType = {
|
|
|
5496
6108
|
stream.point(object2[0], object2[1], object2[2]);
|
|
5497
6109
|
},
|
|
5498
6110
|
MultiPoint: function(object2, stream) {
|
|
5499
|
-
var coordinates = object2.coordinates,
|
|
5500
|
-
while (++
|
|
6111
|
+
var coordinates = object2.coordinates, i4 = -1, n2 = coordinates.length;
|
|
6112
|
+
while (++i4 < n2) object2 = coordinates[i4], stream.point(object2[0], object2[1], object2[2]);
|
|
5501
6113
|
},
|
|
5502
6114
|
LineString: function(object2, stream) {
|
|
5503
6115
|
streamLine(object2.coordinates, stream, 0);
|
|
5504
6116
|
},
|
|
5505
6117
|
MultiLineString: function(object2, stream) {
|
|
5506
|
-
var coordinates = object2.coordinates,
|
|
5507
|
-
while (++
|
|
6118
|
+
var coordinates = object2.coordinates, i4 = -1, n2 = coordinates.length;
|
|
6119
|
+
while (++i4 < n2) streamLine(coordinates[i4], stream, 0);
|
|
5508
6120
|
},
|
|
5509
6121
|
Polygon: function(object2, stream) {
|
|
5510
6122
|
streamPolygon(object2.coordinates, stream);
|
|
5511
6123
|
},
|
|
5512
6124
|
MultiPolygon: function(object2, stream) {
|
|
5513
|
-
var coordinates = object2.coordinates,
|
|
5514
|
-
while (++
|
|
6125
|
+
var coordinates = object2.coordinates, i4 = -1, n2 = coordinates.length;
|
|
6126
|
+
while (++i4 < n2) streamPolygon(coordinates[i4], stream);
|
|
5515
6127
|
},
|
|
5516
6128
|
GeometryCollection: function(object2, stream) {
|
|
5517
|
-
var geometries = object2.geometries,
|
|
5518
|
-
while (++
|
|
6129
|
+
var geometries = object2.geometries, i4 = -1, n2 = geometries.length;
|
|
6130
|
+
while (++i4 < n2) streamGeometry(geometries[i4], stream);
|
|
5519
6131
|
}
|
|
5520
6132
|
};
|
|
5521
6133
|
function streamLine(coordinates, stream, closed) {
|
|
5522
|
-
var
|
|
6134
|
+
var i4 = -1, n2 = coordinates.length - closed, coordinate;
|
|
5523
6135
|
stream.lineStart();
|
|
5524
|
-
while (++
|
|
6136
|
+
while (++i4 < n2) coordinate = coordinates[i4], stream.point(coordinate[0], coordinate[1], coordinate[2]);
|
|
5525
6137
|
stream.lineEnd();
|
|
5526
6138
|
}
|
|
5527
6139
|
function streamPolygon(coordinates, stream) {
|
|
5528
|
-
var
|
|
6140
|
+
var i4 = -1, n2 = coordinates.length;
|
|
5529
6141
|
stream.polygonStart();
|
|
5530
|
-
while (++
|
|
6142
|
+
while (++i4 < n2) streamLine(coordinates[i4], stream, 1);
|
|
5531
6143
|
stream.polygonEnd();
|
|
5532
6144
|
}
|
|
5533
6145
|
function geoStream(object2, stream) {
|
|
@@ -5556,16 +6168,16 @@ function cartesianAddInPlace(a11, b4) {
|
|
|
5556
6168
|
function cartesianScale(vector, k2) {
|
|
5557
6169
|
return [vector[0] * k2, vector[1] * k2, vector[2] * k2];
|
|
5558
6170
|
}
|
|
5559
|
-
function cartesianNormalizeInPlace(
|
|
5560
|
-
var l2 = sqrt(
|
|
5561
|
-
|
|
6171
|
+
function cartesianNormalizeInPlace(d4) {
|
|
6172
|
+
var l2 = sqrt(d4[0] * d4[0] + d4[1] * d4[1] + d4[2] * d4[2]);
|
|
6173
|
+
d4[0] /= l2, d4[1] /= l2, d4[2] /= l2;
|
|
5562
6174
|
}
|
|
5563
6175
|
function compose(a11, b4) {
|
|
5564
|
-
function compose2(
|
|
5565
|
-
return
|
|
6176
|
+
function compose2(x3, y3) {
|
|
6177
|
+
return x3 = a11(x3, y3), b4(x3[0], x3[1]);
|
|
5566
6178
|
}
|
|
5567
|
-
if (a11.invert && b4.invert) compose2.invert = function(
|
|
5568
|
-
return
|
|
6179
|
+
if (a11.invert && b4.invert) compose2.invert = function(x3, y3) {
|
|
6180
|
+
return x3 = b4.invert(x3, y3), x3 && a11.invert(x3[0], x3[1]);
|
|
5569
6181
|
};
|
|
5570
6182
|
return compose2;
|
|
5571
6183
|
}
|
|
@@ -5592,17 +6204,17 @@ function rotationLambda(deltaLambda) {
|
|
|
5592
6204
|
function rotationPhiGamma(deltaPhi, deltaGamma) {
|
|
5593
6205
|
var cosDeltaPhi = cos(deltaPhi), sinDeltaPhi = sin(deltaPhi), cosDeltaGamma = cos(deltaGamma), sinDeltaGamma = sin(deltaGamma);
|
|
5594
6206
|
function rotation2(lambda, phi) {
|
|
5595
|
-
var cosPhi = cos(phi),
|
|
6207
|
+
var cosPhi = cos(phi), x3 = cos(lambda) * cosPhi, y3 = sin(lambda) * cosPhi, z3 = sin(phi), k2 = z3 * cosDeltaPhi + x3 * sinDeltaPhi;
|
|
5596
6208
|
return [
|
|
5597
|
-
atan2(y3 * cosDeltaGamma - k2 * sinDeltaGamma,
|
|
6209
|
+
atan2(y3 * cosDeltaGamma - k2 * sinDeltaGamma, x3 * cosDeltaPhi - z3 * sinDeltaPhi),
|
|
5598
6210
|
asin(k2 * cosDeltaGamma + y3 * sinDeltaGamma)
|
|
5599
6211
|
];
|
|
5600
6212
|
}
|
|
5601
6213
|
rotation2.invert = function(lambda, phi) {
|
|
5602
|
-
var cosPhi = cos(phi),
|
|
6214
|
+
var cosPhi = cos(phi), x3 = cos(lambda) * cosPhi, y3 = sin(lambda) * cosPhi, z3 = sin(phi), k2 = z3 * cosDeltaGamma - y3 * sinDeltaGamma;
|
|
5603
6215
|
return [
|
|
5604
|
-
atan2(y3 * cosDeltaGamma +
|
|
5605
|
-
asin(k2 * cosDeltaPhi -
|
|
6216
|
+
atan2(y3 * cosDeltaGamma + z3 * sinDeltaGamma, x3 * cosDeltaPhi + k2 * sinDeltaPhi),
|
|
6217
|
+
asin(k2 * cosDeltaPhi - x3 * sinDeltaPhi)
|
|
5606
6218
|
];
|
|
5607
6219
|
};
|
|
5608
6220
|
return rotation2;
|
|
@@ -5644,8 +6256,8 @@ function circleRadius(cosRadius, point) {
|
|
|
5644
6256
|
function clipBuffer() {
|
|
5645
6257
|
var lines = [], line;
|
|
5646
6258
|
return {
|
|
5647
|
-
point: function(
|
|
5648
|
-
line.push([
|
|
6259
|
+
point: function(x3, y3, m2) {
|
|
6260
|
+
line.push([x3, y3, m2]);
|
|
5649
6261
|
},
|
|
5650
6262
|
lineStart: function() {
|
|
5651
6263
|
lines.push(line = []);
|
|
@@ -5674,30 +6286,30 @@ function Intersection(point, points, other, entry) {
|
|
|
5674
6286
|
this.n = this.p = null;
|
|
5675
6287
|
}
|
|
5676
6288
|
function clipRejoin(segments, compareIntersection2, startInside, interpolate, stream) {
|
|
5677
|
-
var subject = [], clip2 = [],
|
|
6289
|
+
var subject = [], clip2 = [], i4, n2;
|
|
5678
6290
|
segments.forEach(function(segment) {
|
|
5679
6291
|
if ((n3 = segment.length - 1) <= 0) return;
|
|
5680
|
-
var n3, p0 = segment[0], p1 = segment[n3],
|
|
6292
|
+
var n3, p0 = segment[0], p1 = segment[n3], x3;
|
|
5681
6293
|
if (pointEqual(p0, p1)) {
|
|
5682
6294
|
if (!p0[2] && !p1[2]) {
|
|
5683
6295
|
stream.lineStart();
|
|
5684
|
-
for (
|
|
6296
|
+
for (i4 = 0; i4 < n3; ++i4) stream.point((p0 = segment[i4])[0], p0[1]);
|
|
5685
6297
|
stream.lineEnd();
|
|
5686
6298
|
return;
|
|
5687
6299
|
}
|
|
5688
6300
|
p1[0] += 2 * epsilon;
|
|
5689
6301
|
}
|
|
5690
|
-
subject.push(
|
|
5691
|
-
clip2.push(
|
|
5692
|
-
subject.push(
|
|
5693
|
-
clip2.push(
|
|
6302
|
+
subject.push(x3 = new Intersection(p0, segment, null, true));
|
|
6303
|
+
clip2.push(x3.o = new Intersection(p0, null, x3, false));
|
|
6304
|
+
subject.push(x3 = new Intersection(p1, segment, null, false));
|
|
6305
|
+
clip2.push(x3.o = new Intersection(p1, null, x3, true));
|
|
5694
6306
|
});
|
|
5695
6307
|
if (!subject.length) return;
|
|
5696
6308
|
clip2.sort(compareIntersection2);
|
|
5697
6309
|
link(subject);
|
|
5698
6310
|
link(clip2);
|
|
5699
|
-
for (
|
|
5700
|
-
clip2[
|
|
6311
|
+
for (i4 = 0, n2 = clip2.length; i4 < n2; ++i4) {
|
|
6312
|
+
clip2[i4].e = startInside = !startInside;
|
|
5701
6313
|
}
|
|
5702
6314
|
var start = subject[0], points, point;
|
|
5703
6315
|
while (1) {
|
|
@@ -5709,7 +6321,7 @@ function clipRejoin(segments, compareIntersection2, startInside, interpolate, st
|
|
|
5709
6321
|
current.v = current.o.v = true;
|
|
5710
6322
|
if (current.e) {
|
|
5711
6323
|
if (isSubject) {
|
|
5712
|
-
for (
|
|
6324
|
+
for (i4 = 0, n2 = points.length; i4 < n2; ++i4) stream.point((point = points[i4])[0], point[1]);
|
|
5713
6325
|
} else {
|
|
5714
6326
|
interpolate(current.x, current.n.x, 1, stream);
|
|
5715
6327
|
}
|
|
@@ -5717,7 +6329,7 @@ function clipRejoin(segments, compareIntersection2, startInside, interpolate, st
|
|
|
5717
6329
|
} else {
|
|
5718
6330
|
if (isSubject) {
|
|
5719
6331
|
points = current.p.z;
|
|
5720
|
-
for (
|
|
6332
|
+
for (i4 = points.length - 1; i4 >= 0; --i4) stream.point((point = points[i4])[0], point[1]);
|
|
5721
6333
|
} else {
|
|
5722
6334
|
interpolate(current.x, current.p.x, -1, stream);
|
|
5723
6335
|
}
|
|
@@ -5732,9 +6344,9 @@ function clipRejoin(segments, compareIntersection2, startInside, interpolate, st
|
|
|
5732
6344
|
}
|
|
5733
6345
|
function link(array) {
|
|
5734
6346
|
if (!(n2 = array.length)) return;
|
|
5735
|
-
var n2,
|
|
5736
|
-
while (++
|
|
5737
|
-
a11.n = b4 = array[
|
|
6347
|
+
var n2, i4 = 0, a11 = array[0], b4;
|
|
6348
|
+
while (++i4 < n2) {
|
|
6349
|
+
a11.n = b4 = array[i4];
|
|
5738
6350
|
b4.p = a11;
|
|
5739
6351
|
a11 = b4;
|
|
5740
6352
|
}
|
|
@@ -5749,8 +6361,8 @@ function polygonContains(polygon, point) {
|
|
|
5749
6361
|
var sum = new Adder();
|
|
5750
6362
|
if (sinPhi === 1) phi = halfPi + epsilon;
|
|
5751
6363
|
else if (sinPhi === -1) phi = -halfPi - epsilon;
|
|
5752
|
-
for (var
|
|
5753
|
-
if (!(m2 = (ring = polygon[
|
|
6364
|
+
for (var i4 = 0, n2 = polygon.length; i4 < n2; ++i4) {
|
|
6365
|
+
if (!(m2 = (ring = polygon[i4]).length)) continue;
|
|
5754
6366
|
var ring, m2, point0 = ring[m2 - 1], lambda0 = longitude(point0), phi0 = point0[1] / 2 + quarterPi, sinPhi0 = sin(phi0), cosPhi0 = cos(phi0);
|
|
5755
6367
|
for (var j2 = 0; j2 < m2; ++j2, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {
|
|
5756
6368
|
var point1 = ring[j2], lambda1 = longitude(point1), phi1 = point1[1] / 2 + quarterPi, sinPhi1 = sin(phi1), cosPhi1 = cos(phi1), delta = lambda1 - lambda0, sign2 = delta >= 0 ? 1 : -1, absDelta = sign2 * delta, antimeridian = absDelta > pi, k2 = sinPhi0 * sinPhi1;
|
|
@@ -5835,7 +6447,7 @@ function clip(pointVisible, clipLine2, interpolate, start) {
|
|
|
5835
6447
|
function ringEnd() {
|
|
5836
6448
|
pointRing(ring[0][0], ring[0][1]);
|
|
5837
6449
|
ringSink.lineEnd();
|
|
5838
|
-
var clean = ringSink.clean(), ringSegments = ringBuffer.result(),
|
|
6450
|
+
var clean = ringSink.clean(), ringSegments = ringBuffer.result(), i4, n2 = ringSegments.length, m2, segment, point2;
|
|
5839
6451
|
ring.pop();
|
|
5840
6452
|
polygon.push(ring);
|
|
5841
6453
|
ring = null;
|
|
@@ -5845,7 +6457,7 @@ function clip(pointVisible, clipLine2, interpolate, start) {
|
|
|
5845
6457
|
if ((m2 = segment.length - 1) > 0) {
|
|
5846
6458
|
if (!polygonStarted) sink.polygonStart(), polygonStarted = true;
|
|
5847
6459
|
sink.lineStart();
|
|
5848
|
-
for (
|
|
6460
|
+
for (i4 = 0; i4 < m2; ++i4) sink.point((point2 = segment[i4])[0], point2[1]);
|
|
5849
6461
|
sink.lineEnd();
|
|
5850
6462
|
}
|
|
5851
6463
|
return;
|
|
@@ -6008,18 +6620,18 @@ function clipCircle(radius) {
|
|
|
6008
6620
|
var pa = cartesian(a11), pb = cartesian(b4);
|
|
6009
6621
|
var n1 = [1, 0, 0], n2 = cartesianCross(pa, pb), n2n2 = cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;
|
|
6010
6622
|
if (!determinant) return !two && a11;
|
|
6011
|
-
var c1 = cr * n2n2 / determinant, c22 = -cr * n1n2 / determinant, n1xn2 = cartesianCross(n1, n2), A3 = cartesianScale(n1, c1),
|
|
6012
|
-
cartesianAddInPlace(A3,
|
|
6623
|
+
var c1 = cr * n2n2 / determinant, c22 = -cr * n1n2 / determinant, n1xn2 = cartesianCross(n1, n2), A3 = cartesianScale(n1, c1), B4 = cartesianScale(n2, c22);
|
|
6624
|
+
cartesianAddInPlace(A3, B4);
|
|
6013
6625
|
var u3 = n1xn2, w3 = cartesianDot(A3, u3), uu = cartesianDot(u3, u3), t22 = w3 * w3 - uu * (cartesianDot(A3, A3) - 1);
|
|
6014
6626
|
if (t22 < 0) return;
|
|
6015
6627
|
var t3 = sqrt(t22), q2 = cartesianScale(u3, (-w3 - t3) / uu);
|
|
6016
6628
|
cartesianAddInPlace(q2, A3);
|
|
6017
6629
|
q2 = spherical(q2);
|
|
6018
6630
|
if (!two) return q2;
|
|
6019
|
-
var lambda0 = a11[0], lambda1 = b4[0], phi0 = a11[1], phi1 = b4[1],
|
|
6020
|
-
if (lambda1 < lambda0)
|
|
6631
|
+
var lambda0 = a11[0], lambda1 = b4[0], phi0 = a11[1], phi1 = b4[1], z3;
|
|
6632
|
+
if (lambda1 < lambda0) z3 = lambda0, lambda0 = lambda1, lambda1 = z3;
|
|
6021
6633
|
var delta2 = lambda1 - lambda0, polar = abs(delta2 - pi) < epsilon, meridian = polar || delta2 < epsilon;
|
|
6022
|
-
if (!polar && phi1 < phi0)
|
|
6634
|
+
if (!polar && phi1 < phi0) z3 = phi0, phi0 = phi1, phi1 = z3;
|
|
6023
6635
|
if (meridian ? polar ? phi0 + phi1 > 0 ^ q2[1] < (abs(q2[0] - lambda0) < epsilon ? phi0 : phi1) : phi0 <= q2[1] && q2[1] <= phi1 : delta2 > pi ^ (lambda0 <= q2[0] && q2[0] <= lambda1)) {
|
|
6024
6636
|
var q1 = cartesianScale(u3, (-w3 + t3) / uu);
|
|
6025
6637
|
cartesianAddInPlace(q1, A3);
|
|
@@ -6084,8 +6696,8 @@ function clipLine(a11, b4, x02, y02, x12, y12) {
|
|
|
6084
6696
|
}
|
|
6085
6697
|
var clipMax = 1e9, clipMin = -clipMax;
|
|
6086
6698
|
function clipRectangle(x02, y02, x12, y12) {
|
|
6087
|
-
function visible(
|
|
6088
|
-
return x02 <=
|
|
6699
|
+
function visible(x3, y3) {
|
|
6700
|
+
return x02 <= x3 && x3 <= x12 && y02 <= y3 && y3 <= y12;
|
|
6089
6701
|
}
|
|
6090
6702
|
function interpolate(from, to, direction, stream) {
|
|
6091
6703
|
var a11 = 0, a12 = 0;
|
|
@@ -6116,13 +6728,13 @@ function clipRectangle(x02, y02, x12, y12) {
|
|
|
6116
6728
|
polygonStart,
|
|
6117
6729
|
polygonEnd
|
|
6118
6730
|
};
|
|
6119
|
-
function point(
|
|
6120
|
-
if (visible(
|
|
6731
|
+
function point(x3, y3) {
|
|
6732
|
+
if (visible(x3, y3)) activeStream.point(x3, y3);
|
|
6121
6733
|
}
|
|
6122
6734
|
function polygonInside() {
|
|
6123
6735
|
var winding = 0;
|
|
6124
|
-
for (var
|
|
6125
|
-
for (var ring2 = polygon[
|
|
6736
|
+
for (var i4 = 0, n2 = polygon.length; i4 < n2; ++i4) {
|
|
6737
|
+
for (var ring2 = polygon[i4], j2 = 1, m2 = ring2.length, point2 = ring2[0], a02, a12, b0 = point2[0], b1 = point2[1]; j2 < m2; ++j2) {
|
|
6126
6738
|
a02 = b0, a12 = b1, point2 = ring2[j2], b0 = point2[0], b1 = point2[1];
|
|
6127
6739
|
if (a12 <= y12) {
|
|
6128
6740
|
if (b1 > y12 && (b0 - a02) * (y12 - a12) > (b1 - a12) * (x02 - a02)) ++winding;
|
|
@@ -6168,20 +6780,20 @@ function clipRectangle(x02, y02, x12, y12) {
|
|
|
6168
6780
|
clipStream.point = point;
|
|
6169
6781
|
if (v_) activeStream.lineEnd();
|
|
6170
6782
|
}
|
|
6171
|
-
function linePoint(
|
|
6172
|
-
var v3 = visible(
|
|
6173
|
-
if (polygon) ring.push([
|
|
6783
|
+
function linePoint(x3, y3) {
|
|
6784
|
+
var v3 = visible(x3, y3);
|
|
6785
|
+
if (polygon) ring.push([x3, y3]);
|
|
6174
6786
|
if (first) {
|
|
6175
|
-
x__ =
|
|
6787
|
+
x__ = x3, y__ = y3, v__ = v3;
|
|
6176
6788
|
first = false;
|
|
6177
6789
|
if (v3) {
|
|
6178
6790
|
activeStream.lineStart();
|
|
6179
|
-
activeStream.point(
|
|
6791
|
+
activeStream.point(x3, y3);
|
|
6180
6792
|
}
|
|
6181
6793
|
} else {
|
|
6182
|
-
if (v3 && v_) activeStream.point(
|
|
6794
|
+
if (v3 && v_) activeStream.point(x3, y3);
|
|
6183
6795
|
else {
|
|
6184
|
-
var a11 = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))], b4 = [
|
|
6796
|
+
var a11 = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))], b4 = [x3 = Math.max(clipMin, Math.min(clipMax, x3)), y3 = Math.max(clipMin, Math.min(clipMax, y3))];
|
|
6185
6797
|
if (clipLine(a11, b4, x02, y02, x12, y12)) {
|
|
6186
6798
|
if (!v_) {
|
|
6187
6799
|
activeStream.lineStart();
|
|
@@ -6192,17 +6804,17 @@ function clipRectangle(x02, y02, x12, y12) {
|
|
|
6192
6804
|
clean = false;
|
|
6193
6805
|
} else if (v3) {
|
|
6194
6806
|
activeStream.lineStart();
|
|
6195
|
-
activeStream.point(
|
|
6807
|
+
activeStream.point(x3, y3);
|
|
6196
6808
|
clean = false;
|
|
6197
6809
|
}
|
|
6198
6810
|
}
|
|
6199
6811
|
}
|
|
6200
|
-
x_ =
|
|
6812
|
+
x_ = x3, y_ = y3, v_ = v3;
|
|
6201
6813
|
}
|
|
6202
6814
|
return clipStream;
|
|
6203
6815
|
};
|
|
6204
6816
|
}
|
|
6205
|
-
const identity$1 = (
|
|
6817
|
+
const identity$1 = (x3) => x3;
|
|
6206
6818
|
var areaSum = new Adder(), areaRingSum = new Adder(), x00$2, y00$2, x0$3, y0$3;
|
|
6207
6819
|
var areaStream = {
|
|
6208
6820
|
point: noop,
|
|
@@ -6226,13 +6838,13 @@ var areaStream = {
|
|
|
6226
6838
|
function areaRingStart() {
|
|
6227
6839
|
areaStream.point = areaPointFirst;
|
|
6228
6840
|
}
|
|
6229
|
-
function areaPointFirst(
|
|
6841
|
+
function areaPointFirst(x3, y3) {
|
|
6230
6842
|
areaStream.point = areaPoint;
|
|
6231
|
-
x00$2 = x0$3 =
|
|
6843
|
+
x00$2 = x0$3 = x3, y00$2 = y0$3 = y3;
|
|
6232
6844
|
}
|
|
6233
|
-
function areaPoint(
|
|
6234
|
-
areaRingSum.add(y0$3 *
|
|
6235
|
-
x0$3 =
|
|
6845
|
+
function areaPoint(x3, y3) {
|
|
6846
|
+
areaRingSum.add(y0$3 * x3 - x0$3 * y3);
|
|
6847
|
+
x0$3 = x3, y0$3 = y3;
|
|
6236
6848
|
}
|
|
6237
6849
|
function areaRingEnd() {
|
|
6238
6850
|
areaPoint(x00$2, y00$2);
|
|
@@ -6250,13 +6862,13 @@ var boundsStream = {
|
|
|
6250
6862
|
return bounds;
|
|
6251
6863
|
}
|
|
6252
6864
|
};
|
|
6253
|
-
function boundsPoint(
|
|
6254
|
-
if (
|
|
6255
|
-
if (
|
|
6865
|
+
function boundsPoint(x3, y3) {
|
|
6866
|
+
if (x3 < x0$2) x0$2 = x3;
|
|
6867
|
+
if (x3 > x1) x1 = x3;
|
|
6256
6868
|
if (y3 < y0$2) y0$2 = y3;
|
|
6257
6869
|
if (y3 > y1) y1 = y3;
|
|
6258
6870
|
}
|
|
6259
|
-
var X0 = 0, Y0 = 0, Z0 = 0, X1 = 0, Y1 = 0, Z1 = 0, X22 = 0,
|
|
6871
|
+
var X0 = 0, Y0 = 0, Z0 = 0, X1 = 0, Y1 = 0, Z1 = 0, X22 = 0, Y22 = 0, Z22 = 0, x00$1, y00$1, x0$1, y0$1;
|
|
6260
6872
|
var centroidStream = {
|
|
6261
6873
|
point: centroidPoint,
|
|
6262
6874
|
lineStart: centroidLineStart,
|
|
@@ -6271,29 +6883,29 @@ var centroidStream = {
|
|
|
6271
6883
|
centroidStream.lineEnd = centroidLineEnd;
|
|
6272
6884
|
},
|
|
6273
6885
|
result: function() {
|
|
6274
|
-
var centroid =
|
|
6275
|
-
X0 = Y0 = Z0 = X1 = Y1 = Z1 = X22 =
|
|
6886
|
+
var centroid = Z22 ? [X22 / Z22, Y22 / Z22] : Z1 ? [X1 / Z1, Y1 / Z1] : Z0 ? [X0 / Z0, Y0 / Z0] : [NaN, NaN];
|
|
6887
|
+
X0 = Y0 = Z0 = X1 = Y1 = Z1 = X22 = Y22 = Z22 = 0;
|
|
6276
6888
|
return centroid;
|
|
6277
6889
|
}
|
|
6278
6890
|
};
|
|
6279
|
-
function centroidPoint(
|
|
6280
|
-
X0 +=
|
|
6891
|
+
function centroidPoint(x3, y3) {
|
|
6892
|
+
X0 += x3;
|
|
6281
6893
|
Y0 += y3;
|
|
6282
6894
|
++Z0;
|
|
6283
6895
|
}
|
|
6284
6896
|
function centroidLineStart() {
|
|
6285
6897
|
centroidStream.point = centroidPointFirstLine;
|
|
6286
6898
|
}
|
|
6287
|
-
function centroidPointFirstLine(
|
|
6899
|
+
function centroidPointFirstLine(x3, y3) {
|
|
6288
6900
|
centroidStream.point = centroidPointLine;
|
|
6289
|
-
centroidPoint(x0$1 =
|
|
6901
|
+
centroidPoint(x0$1 = x3, y0$1 = y3);
|
|
6290
6902
|
}
|
|
6291
|
-
function centroidPointLine(
|
|
6292
|
-
var dx =
|
|
6293
|
-
X1 +=
|
|
6294
|
-
Y1 +=
|
|
6295
|
-
Z1 +=
|
|
6296
|
-
centroidPoint(x0$1 =
|
|
6903
|
+
function centroidPointLine(x3, y3) {
|
|
6904
|
+
var dx = x3 - x0$1, dy = y3 - y0$1, z3 = sqrt(dx * dx + dy * dy);
|
|
6905
|
+
X1 += z3 * (x0$1 + x3) / 2;
|
|
6906
|
+
Y1 += z3 * (y0$1 + y3) / 2;
|
|
6907
|
+
Z1 += z3;
|
|
6908
|
+
centroidPoint(x0$1 = x3, y0$1 = y3);
|
|
6297
6909
|
}
|
|
6298
6910
|
function centroidLineEnd() {
|
|
6299
6911
|
centroidStream.point = centroidPoint;
|
|
@@ -6304,28 +6916,28 @@ function centroidRingStart() {
|
|
|
6304
6916
|
function centroidRingEnd() {
|
|
6305
6917
|
centroidPointRing(x00$1, y00$1);
|
|
6306
6918
|
}
|
|
6307
|
-
function centroidPointFirstRing(
|
|
6919
|
+
function centroidPointFirstRing(x3, y3) {
|
|
6308
6920
|
centroidStream.point = centroidPointRing;
|
|
6309
|
-
centroidPoint(x00$1 = x0$1 =
|
|
6310
|
-
}
|
|
6311
|
-
function centroidPointRing(
|
|
6312
|
-
var dx =
|
|
6313
|
-
X1 +=
|
|
6314
|
-
Y1 +=
|
|
6315
|
-
Z1 +=
|
|
6316
|
-
|
|
6317
|
-
X22 +=
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
centroidPoint(x0$1 =
|
|
6921
|
+
centroidPoint(x00$1 = x0$1 = x3, y00$1 = y0$1 = y3);
|
|
6922
|
+
}
|
|
6923
|
+
function centroidPointRing(x3, y3) {
|
|
6924
|
+
var dx = x3 - x0$1, dy = y3 - y0$1, z3 = sqrt(dx * dx + dy * dy);
|
|
6925
|
+
X1 += z3 * (x0$1 + x3) / 2;
|
|
6926
|
+
Y1 += z3 * (y0$1 + y3) / 2;
|
|
6927
|
+
Z1 += z3;
|
|
6928
|
+
z3 = y0$1 * x3 - x0$1 * y3;
|
|
6929
|
+
X22 += z3 * (x0$1 + x3);
|
|
6930
|
+
Y22 += z3 * (y0$1 + y3);
|
|
6931
|
+
Z22 += z3 * 3;
|
|
6932
|
+
centroidPoint(x0$1 = x3, y0$1 = y3);
|
|
6321
6933
|
}
|
|
6322
6934
|
function PathContext(context) {
|
|
6323
6935
|
this._context = context;
|
|
6324
6936
|
}
|
|
6325
6937
|
PathContext.prototype = {
|
|
6326
6938
|
_radius: 4.5,
|
|
6327
|
-
pointRadius: function(
|
|
6328
|
-
return this._radius =
|
|
6939
|
+
pointRadius: function(_3) {
|
|
6940
|
+
return this._radius = _3, this;
|
|
6329
6941
|
},
|
|
6330
6942
|
polygonStart: function() {
|
|
6331
6943
|
this._line = 0;
|
|
@@ -6340,20 +6952,20 @@ PathContext.prototype = {
|
|
|
6340
6952
|
if (this._line === 0) this._context.closePath();
|
|
6341
6953
|
this._point = NaN;
|
|
6342
6954
|
},
|
|
6343
|
-
point: function(
|
|
6955
|
+
point: function(x3, y3) {
|
|
6344
6956
|
switch (this._point) {
|
|
6345
6957
|
case 0: {
|
|
6346
|
-
this._context.moveTo(
|
|
6958
|
+
this._context.moveTo(x3, y3);
|
|
6347
6959
|
this._point = 1;
|
|
6348
6960
|
break;
|
|
6349
6961
|
}
|
|
6350
6962
|
case 1: {
|
|
6351
|
-
this._context.lineTo(
|
|
6963
|
+
this._context.lineTo(x3, y3);
|
|
6352
6964
|
break;
|
|
6353
6965
|
}
|
|
6354
6966
|
default: {
|
|
6355
|
-
this._context.moveTo(
|
|
6356
|
-
this._context.arc(
|
|
6967
|
+
this._context.moveTo(x3 + this._radius, y3);
|
|
6968
|
+
this._context.arc(x3, y3, this._radius, 0, tau);
|
|
6357
6969
|
break;
|
|
6358
6970
|
}
|
|
6359
6971
|
}
|
|
@@ -6382,14 +6994,14 @@ var lengthStream = {
|
|
|
6382
6994
|
return length;
|
|
6383
6995
|
}
|
|
6384
6996
|
};
|
|
6385
|
-
function lengthPointFirst(
|
|
6997
|
+
function lengthPointFirst(x3, y3) {
|
|
6386
6998
|
lengthStream.point = lengthPoint;
|
|
6387
|
-
x00 = x0 =
|
|
6999
|
+
x00 = x0 = x3, y00 = y0 = y3;
|
|
6388
7000
|
}
|
|
6389
|
-
function lengthPoint(
|
|
6390
|
-
x0 -=
|
|
7001
|
+
function lengthPoint(x3, y3) {
|
|
7002
|
+
x0 -= x3, y0 -= y3;
|
|
6391
7003
|
lengthSum.add(sqrt(x0 * x0 + y0 * y0));
|
|
6392
|
-
x0 =
|
|
7004
|
+
x0 = x3, y0 = y3;
|
|
6393
7005
|
}
|
|
6394
7006
|
let cacheDigits, cacheAppend, cacheRadius, cacheCircle;
|
|
6395
7007
|
class PathString {
|
|
@@ -6398,8 +7010,8 @@ class PathString {
|
|
|
6398
7010
|
this._radius = 4.5;
|
|
6399
7011
|
this._ = "";
|
|
6400
7012
|
}
|
|
6401
|
-
pointRadius(
|
|
6402
|
-
this._radius = +
|
|
7013
|
+
pointRadius(_3) {
|
|
7014
|
+
this._radius = +_3;
|
|
6403
7015
|
return this;
|
|
6404
7016
|
}
|
|
6405
7017
|
polygonStart() {
|
|
@@ -6415,19 +7027,19 @@ class PathString {
|
|
|
6415
7027
|
if (this._line === 0) this._ += "Z";
|
|
6416
7028
|
this._point = NaN;
|
|
6417
7029
|
}
|
|
6418
|
-
point(
|
|
7030
|
+
point(x3, y3) {
|
|
6419
7031
|
switch (this._point) {
|
|
6420
7032
|
case 0: {
|
|
6421
|
-
this._append`M${
|
|
7033
|
+
this._append`M${x3},${y3}`;
|
|
6422
7034
|
this._point = 1;
|
|
6423
7035
|
break;
|
|
6424
7036
|
}
|
|
6425
7037
|
case 1: {
|
|
6426
|
-
this._append`L${
|
|
7038
|
+
this._append`L${x3},${y3}`;
|
|
6427
7039
|
break;
|
|
6428
7040
|
}
|
|
6429
7041
|
default: {
|
|
6430
|
-
this._append`M${
|
|
7042
|
+
this._append`M${x3},${y3}`;
|
|
6431
7043
|
if (this._radius !== cacheRadius || this._append !== cacheAppend) {
|
|
6432
7044
|
const r2 = this._radius;
|
|
6433
7045
|
const s2 = this._;
|
|
@@ -6450,24 +7062,24 @@ class PathString {
|
|
|
6450
7062
|
}
|
|
6451
7063
|
}
|
|
6452
7064
|
function append(strings) {
|
|
6453
|
-
let
|
|
7065
|
+
let i4 = 1;
|
|
6454
7066
|
this._ += strings[0];
|
|
6455
|
-
for (const j2 = strings.length;
|
|
6456
|
-
this._ += arguments[
|
|
7067
|
+
for (const j2 = strings.length; i4 < j2; ++i4) {
|
|
7068
|
+
this._ += arguments[i4] + strings[i4];
|
|
6457
7069
|
}
|
|
6458
7070
|
}
|
|
6459
7071
|
function appendRound(digits) {
|
|
6460
|
-
const
|
|
6461
|
-
if (!(
|
|
6462
|
-
if (
|
|
6463
|
-
if (
|
|
6464
|
-
const k2 = 10 **
|
|
6465
|
-
cacheDigits =
|
|
7072
|
+
const d4 = Math.floor(digits);
|
|
7073
|
+
if (!(d4 >= 0)) throw new RangeError(`invalid digits: ${digits}`);
|
|
7074
|
+
if (d4 > 15) return append;
|
|
7075
|
+
if (d4 !== cacheDigits) {
|
|
7076
|
+
const k2 = 10 ** d4;
|
|
7077
|
+
cacheDigits = d4;
|
|
6466
7078
|
cacheAppend = function append2(strings) {
|
|
6467
|
-
let
|
|
7079
|
+
let i4 = 1;
|
|
6468
7080
|
this._ += strings[0];
|
|
6469
|
-
for (const j2 = strings.length;
|
|
6470
|
-
this._ += Math.round(arguments[
|
|
7081
|
+
for (const j2 = strings.length; i4 < j2; ++i4) {
|
|
7082
|
+
this._ += Math.round(arguments[i4] * k2) / k2 + strings[i4];
|
|
6471
7083
|
}
|
|
6472
7084
|
};
|
|
6473
7085
|
}
|
|
@@ -6498,29 +7110,29 @@ function geoPath(projection2, context) {
|
|
|
6498
7110
|
geoStream(object2, projectionStream(centroidStream));
|
|
6499
7111
|
return centroidStream.result();
|
|
6500
7112
|
};
|
|
6501
|
-
path.projection = function(
|
|
7113
|
+
path.projection = function(_3) {
|
|
6502
7114
|
if (!arguments.length) return projection2;
|
|
6503
|
-
projectionStream =
|
|
7115
|
+
projectionStream = _3 == null ? (projection2 = null, identity$1) : (projection2 = _3).stream;
|
|
6504
7116
|
return path;
|
|
6505
7117
|
};
|
|
6506
|
-
path.context = function(
|
|
7118
|
+
path.context = function(_3) {
|
|
6507
7119
|
if (!arguments.length) return context;
|
|
6508
|
-
contextStream =
|
|
7120
|
+
contextStream = _3 == null ? (context = null, new PathString(digits)) : new PathContext(context = _3);
|
|
6509
7121
|
if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius);
|
|
6510
7122
|
return path;
|
|
6511
7123
|
};
|
|
6512
|
-
path.pointRadius = function(
|
|
7124
|
+
path.pointRadius = function(_3) {
|
|
6513
7125
|
if (!arguments.length) return pointRadius;
|
|
6514
|
-
pointRadius = typeof
|
|
7126
|
+
pointRadius = typeof _3 === "function" ? _3 : (contextStream.pointRadius(+_3), +_3);
|
|
6515
7127
|
return path;
|
|
6516
7128
|
};
|
|
6517
|
-
path.digits = function(
|
|
7129
|
+
path.digits = function(_3) {
|
|
6518
7130
|
if (!arguments.length) return digits;
|
|
6519
|
-
if (
|
|
7131
|
+
if (_3 == null) digits = null;
|
|
6520
7132
|
else {
|
|
6521
|
-
const
|
|
6522
|
-
if (!(
|
|
6523
|
-
digits =
|
|
7133
|
+
const d4 = Math.floor(_3);
|
|
7134
|
+
if (!(d4 >= 0)) throw new RangeError(`invalid digits: ${_3}`);
|
|
7135
|
+
digits = d4;
|
|
6524
7136
|
}
|
|
6525
7137
|
if (context === null) contextStream = new PathString(digits);
|
|
6526
7138
|
return path;
|
|
@@ -6539,8 +7151,8 @@ function TransformStream() {
|
|
|
6539
7151
|
}
|
|
6540
7152
|
TransformStream.prototype = {
|
|
6541
7153
|
constructor: TransformStream,
|
|
6542
|
-
point: function(
|
|
6543
|
-
this.stream.point(
|
|
7154
|
+
point: function(x3, y3) {
|
|
7155
|
+
this.stream.point(x3, y3);
|
|
6544
7156
|
},
|
|
6545
7157
|
sphere: function() {
|
|
6546
7158
|
this.stream.sphere();
|
|
@@ -6569,8 +7181,8 @@ function fit(projection2, fitBounds, object2) {
|
|
|
6569
7181
|
}
|
|
6570
7182
|
function fitExtent(projection2, extent, object2) {
|
|
6571
7183
|
return fit(projection2, function(b4) {
|
|
6572
|
-
var w3 = extent[1][0] - extent[0][0],
|
|
6573
|
-
projection2.scale(150 * k2).translate([
|
|
7184
|
+
var w3 = extent[1][0] - extent[0][0], h3 = extent[1][1] - extent[0][1], k2 = Math.min(w3 / (b4[1][0] - b4[0][0]), h3 / (b4[1][1] - b4[0][1])), x3 = +extent[0][0] + (w3 - k2 * (b4[1][0] + b4[0][0])) / 2, y3 = +extent[0][1] + (h3 - k2 * (b4[1][1] + b4[0][1])) / 2;
|
|
7185
|
+
projection2.scale(150 * k2).translate([x3, y3]);
|
|
6574
7186
|
}, object2);
|
|
6575
7187
|
}
|
|
6576
7188
|
function fitSize(projection2, size, object2) {
|
|
@@ -6578,14 +7190,14 @@ function fitSize(projection2, size, object2) {
|
|
|
6578
7190
|
}
|
|
6579
7191
|
function fitWidth(projection2, width, object2) {
|
|
6580
7192
|
return fit(projection2, function(b4) {
|
|
6581
|
-
var w3 = +width, k2 = w3 / (b4[1][0] - b4[0][0]),
|
|
6582
|
-
projection2.scale(150 * k2).translate([
|
|
7193
|
+
var w3 = +width, k2 = w3 / (b4[1][0] - b4[0][0]), x3 = (w3 - k2 * (b4[1][0] + b4[0][0])) / 2, y3 = -k2 * b4[0][1];
|
|
7194
|
+
projection2.scale(150 * k2).translate([x3, y3]);
|
|
6583
7195
|
}, object2);
|
|
6584
7196
|
}
|
|
6585
7197
|
function fitHeight(projection2, height, object2) {
|
|
6586
7198
|
return fit(projection2, function(b4) {
|
|
6587
|
-
var
|
|
6588
|
-
projection2.scale(150 * k2).translate([
|
|
7199
|
+
var h3 = +height, k2 = h3 / (b4[1][1] - b4[0][1]), x3 = -k2 * b4[0][0], y3 = (h3 - k2 * (b4[1][1] + b4[0][1])) / 2;
|
|
7200
|
+
projection2.scale(150 * k2).translate([x3, y3]);
|
|
6589
7201
|
}, object2);
|
|
6590
7202
|
}
|
|
6591
7203
|
var maxDepth = 16, cosMinDistance = cos(30 * radians);
|
|
@@ -6594,9 +7206,9 @@ function resample(project, delta2) {
|
|
|
6594
7206
|
}
|
|
6595
7207
|
function resampleNone(project) {
|
|
6596
7208
|
return transformer({
|
|
6597
|
-
point: function(
|
|
6598
|
-
|
|
6599
|
-
this.stream.point(
|
|
7209
|
+
point: function(x3, y3) {
|
|
7210
|
+
x3 = project(x3, y3);
|
|
7211
|
+
this.stream.point(x3[0], x3[1]);
|
|
6600
7212
|
}
|
|
6601
7213
|
});
|
|
6602
7214
|
}
|
|
@@ -6604,11 +7216,11 @@ function resample$1(project, delta2) {
|
|
|
6604
7216
|
function resampleLineTo(x02, y02, lambda0, a02, b0, c0, x12, y12, lambda1, a12, b1, c1, depth, stream) {
|
|
6605
7217
|
var dx = x12 - x02, dy = y12 - y02, d22 = dx * dx + dy * dy;
|
|
6606
7218
|
if (d22 > 4 * delta2 && depth--) {
|
|
6607
|
-
var a11 = a02 + a12, b4 = b0 + b1, c3 = c0 + c1, m2 = sqrt(a11 * a11 + b4 * b4 + c3 * c3), phi2 = asin(c3 /= m2), lambda2 = abs(abs(c3) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b4, a11), p4 = project(lambda2, phi2),
|
|
7219
|
+
var a11 = a02 + a12, b4 = b0 + b1, c3 = c0 + c1, m2 = sqrt(a11 * a11 + b4 * b4 + c3 * c3), phi2 = asin(c3 /= m2), lambda2 = abs(abs(c3) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b4, a11), p4 = project(lambda2, phi2), x22 = p4[0], y22 = p4[1], dx2 = x22 - x02, dy2 = y22 - y02, dz = dy * dx2 - dx * dy2;
|
|
6608
7220
|
if (dz * dz / d22 > delta2 || abs((dx * dx2 + dy * dy2) / d22 - 0.5) > 0.3 || a02 * a12 + b0 * b1 + c0 * c1 < cosMinDistance) {
|
|
6609
|
-
resampleLineTo(x02, y02, lambda0, a02, b0, c0,
|
|
6610
|
-
stream.point(
|
|
6611
|
-
resampleLineTo(
|
|
7221
|
+
resampleLineTo(x02, y02, lambda0, a02, b0, c0, x22, y22, lambda2, a11 /= m2, b4 /= m2, c3, depth, stream);
|
|
7222
|
+
stream.point(x22, y22);
|
|
7223
|
+
resampleLineTo(x22, y22, lambda2, a11, b4, c3, x12, y12, lambda1, a12, b1, c1, depth, stream);
|
|
6612
7224
|
}
|
|
6613
7225
|
}
|
|
6614
7226
|
}
|
|
@@ -6627,9 +7239,9 @@ function resample$1(project, delta2) {
|
|
|
6627
7239
|
resampleStream.lineStart = lineStart;
|
|
6628
7240
|
}
|
|
6629
7241
|
};
|
|
6630
|
-
function point(
|
|
6631
|
-
|
|
6632
|
-
stream.point(
|
|
7242
|
+
function point(x3, y3) {
|
|
7243
|
+
x3 = project(x3, y3);
|
|
7244
|
+
stream.point(x3[0], x3[1]);
|
|
6633
7245
|
}
|
|
6634
7246
|
function lineStart() {
|
|
6635
7247
|
x02 = NaN;
|
|
@@ -6663,39 +7275,39 @@ function resample$1(project, delta2) {
|
|
|
6663
7275
|
};
|
|
6664
7276
|
}
|
|
6665
7277
|
var transformRadians = transformer({
|
|
6666
|
-
point: function(
|
|
6667
|
-
this.stream.point(
|
|
7278
|
+
point: function(x3, y3) {
|
|
7279
|
+
this.stream.point(x3 * radians, y3 * radians);
|
|
6668
7280
|
}
|
|
6669
7281
|
});
|
|
6670
7282
|
function transformRotate(rotate) {
|
|
6671
7283
|
return transformer({
|
|
6672
|
-
point: function(
|
|
6673
|
-
var r2 = rotate(
|
|
7284
|
+
point: function(x3, y3) {
|
|
7285
|
+
var r2 = rotate(x3, y3);
|
|
6674
7286
|
return this.stream.point(r2[0], r2[1]);
|
|
6675
7287
|
}
|
|
6676
7288
|
});
|
|
6677
7289
|
}
|
|
6678
7290
|
function scaleTranslate(k2, dx, dy, sx, sy) {
|
|
6679
|
-
function transform2(
|
|
6680
|
-
|
|
7291
|
+
function transform2(x3, y3) {
|
|
7292
|
+
x3 *= sx;
|
|
6681
7293
|
y3 *= sy;
|
|
6682
|
-
return [dx + k2 *
|
|
7294
|
+
return [dx + k2 * x3, dy - k2 * y3];
|
|
6683
7295
|
}
|
|
6684
|
-
transform2.invert = function(
|
|
6685
|
-
return [(
|
|
7296
|
+
transform2.invert = function(x3, y3) {
|
|
7297
|
+
return [(x3 - dx) / k2 * sx, (dy - y3) / k2 * sy];
|
|
6686
7298
|
};
|
|
6687
7299
|
return transform2;
|
|
6688
7300
|
}
|
|
6689
7301
|
function scaleTranslateRotate(k2, dx, dy, sx, sy, alpha) {
|
|
6690
7302
|
if (!alpha) return scaleTranslate(k2, dx, dy, sx, sy);
|
|
6691
7303
|
var cosAlpha = cos(alpha), sinAlpha = sin(alpha), a11 = cosAlpha * k2, b4 = sinAlpha * k2, ai2 = cosAlpha / k2, bi = sinAlpha / k2, ci = (sinAlpha * dy - cosAlpha * dx) / k2, fi = (sinAlpha * dx + cosAlpha * dy) / k2;
|
|
6692
|
-
function transform2(
|
|
6693
|
-
|
|
7304
|
+
function transform2(x3, y3) {
|
|
7305
|
+
x3 *= sx;
|
|
6694
7306
|
y3 *= sy;
|
|
6695
|
-
return [a11 *
|
|
7307
|
+
return [a11 * x3 - b4 * y3 + dx, dy - b4 * x3 - a11 * y3];
|
|
6696
7308
|
}
|
|
6697
|
-
transform2.invert = function(
|
|
6698
|
-
return [sx * (ai2 *
|
|
7309
|
+
transform2.invert = function(x3, y3) {
|
|
7310
|
+
return [sx * (ai2 * x3 - bi * y3 + ci), sy * (fi - bi * x3 - ai2 * y3)];
|
|
6699
7311
|
};
|
|
6700
7312
|
return transform2;
|
|
6701
7313
|
}
|
|
@@ -6705,7 +7317,7 @@ function projection(project) {
|
|
|
6705
7317
|
})();
|
|
6706
7318
|
}
|
|
6707
7319
|
function projectionMutator(projectAt) {
|
|
6708
|
-
var project, k2 = 150,
|
|
7320
|
+
var project, k2 = 150, x3 = 480, y3 = 250, lambda = 0, phi = 0, deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, alpha = 0, sx = 1, sy = 1, theta = null, preclip = clipAntimeridian, x02 = null, y02, x12, y12, postclip = identity$1, delta2 = 0.5, projectResample, projectTransform, projectRotateTransform, cache, cacheStream;
|
|
6709
7321
|
function projection2(point) {
|
|
6710
7322
|
return projectRotateTransform(point[0] * radians, point[1] * radians);
|
|
6711
7323
|
}
|
|
@@ -6716,41 +7328,41 @@ function projectionMutator(projectAt) {
|
|
|
6716
7328
|
projection2.stream = function(stream) {
|
|
6717
7329
|
return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));
|
|
6718
7330
|
};
|
|
6719
|
-
projection2.preclip = function(
|
|
6720
|
-
return arguments.length ? (preclip =
|
|
7331
|
+
projection2.preclip = function(_3) {
|
|
7332
|
+
return arguments.length ? (preclip = _3, theta = void 0, reset()) : preclip;
|
|
6721
7333
|
};
|
|
6722
|
-
projection2.postclip = function(
|
|
6723
|
-
return arguments.length ? (postclip =
|
|
7334
|
+
projection2.postclip = function(_3) {
|
|
7335
|
+
return arguments.length ? (postclip = _3, x02 = y02 = x12 = y12 = null, reset()) : postclip;
|
|
6724
7336
|
};
|
|
6725
|
-
projection2.clipAngle = function(
|
|
6726
|
-
return arguments.length ? (preclip = +
|
|
7337
|
+
projection2.clipAngle = function(_3) {
|
|
7338
|
+
return arguments.length ? (preclip = +_3 ? clipCircle(theta = _3 * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;
|
|
6727
7339
|
};
|
|
6728
|
-
projection2.clipExtent = function(
|
|
6729
|
-
return arguments.length ? (postclip =
|
|
7340
|
+
projection2.clipExtent = function(_3) {
|
|
7341
|
+
return arguments.length ? (postclip = _3 == null ? (x02 = y02 = x12 = y12 = null, identity$1) : clipRectangle(x02 = +_3[0][0], y02 = +_3[0][1], x12 = +_3[1][0], y12 = +_3[1][1]), reset()) : x02 == null ? null : [[x02, y02], [x12, y12]];
|
|
6730
7342
|
};
|
|
6731
|
-
projection2.scale = function(
|
|
6732
|
-
return arguments.length ? (k2 = +
|
|
7343
|
+
projection2.scale = function(_3) {
|
|
7344
|
+
return arguments.length ? (k2 = +_3, recenter()) : k2;
|
|
6733
7345
|
};
|
|
6734
|
-
projection2.translate = function(
|
|
6735
|
-
return arguments.length ? (
|
|
7346
|
+
projection2.translate = function(_3) {
|
|
7347
|
+
return arguments.length ? (x3 = +_3[0], y3 = +_3[1], recenter()) : [x3, y3];
|
|
6736
7348
|
};
|
|
6737
|
-
projection2.center = function(
|
|
6738
|
-
return arguments.length ? (lambda =
|
|
7349
|
+
projection2.center = function(_3) {
|
|
7350
|
+
return arguments.length ? (lambda = _3[0] % 360 * radians, phi = _3[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];
|
|
6739
7351
|
};
|
|
6740
|
-
projection2.rotate = function(
|
|
6741
|
-
return arguments.length ? (deltaLambda =
|
|
7352
|
+
projection2.rotate = function(_3) {
|
|
7353
|
+
return arguments.length ? (deltaLambda = _3[0] % 360 * radians, deltaPhi = _3[1] % 360 * radians, deltaGamma = _3.length > 2 ? _3[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];
|
|
6742
7354
|
};
|
|
6743
|
-
projection2.angle = function(
|
|
6744
|
-
return arguments.length ? (alpha =
|
|
7355
|
+
projection2.angle = function(_3) {
|
|
7356
|
+
return arguments.length ? (alpha = _3 % 360 * radians, recenter()) : alpha * degrees;
|
|
6745
7357
|
};
|
|
6746
|
-
projection2.reflectX = function(
|
|
6747
|
-
return arguments.length ? (sx =
|
|
7358
|
+
projection2.reflectX = function(_3) {
|
|
7359
|
+
return arguments.length ? (sx = _3 ? -1 : 1, recenter()) : sx < 0;
|
|
6748
7360
|
};
|
|
6749
|
-
projection2.reflectY = function(
|
|
6750
|
-
return arguments.length ? (sy =
|
|
7361
|
+
projection2.reflectY = function(_3) {
|
|
7362
|
+
return arguments.length ? (sy = _3 ? -1 : 1, recenter()) : sy < 0;
|
|
6751
7363
|
};
|
|
6752
|
-
projection2.precision = function(
|
|
6753
|
-
return arguments.length ? (projectResample = resample(projectTransform, delta2 =
|
|
7364
|
+
projection2.precision = function(_3) {
|
|
7365
|
+
return arguments.length ? (projectResample = resample(projectTransform, delta2 = _3 * _3), reset()) : sqrt(delta2);
|
|
6754
7366
|
};
|
|
6755
7367
|
projection2.fitExtent = function(extent, object2) {
|
|
6756
7368
|
return fitExtent(projection2, extent, object2);
|
|
@@ -6765,7 +7377,7 @@ function projectionMutator(projectAt) {
|
|
|
6765
7377
|
return fitHeight(projection2, height, object2);
|
|
6766
7378
|
};
|
|
6767
7379
|
function recenter() {
|
|
6768
|
-
var center = scaleTranslateRotate(k2, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)), transform2 = scaleTranslateRotate(k2,
|
|
7380
|
+
var center = scaleTranslateRotate(k2, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)), transform2 = scaleTranslateRotate(k2, x3 - center[0], y3 - center[1], sx, sy, alpha);
|
|
6769
7381
|
rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);
|
|
6770
7382
|
projectTransform = compose(project, transform2);
|
|
6771
7383
|
projectRotateTransform = compose(rotate, projectTransform);
|
|
@@ -6785,25 +7397,25 @@ function projectionMutator(projectAt) {
|
|
|
6785
7397
|
function mercatorRaw(lambda, phi) {
|
|
6786
7398
|
return [lambda, log(tan((halfPi + phi) / 2))];
|
|
6787
7399
|
}
|
|
6788
|
-
mercatorRaw.invert = function(
|
|
6789
|
-
return [
|
|
7400
|
+
mercatorRaw.invert = function(x3, y3) {
|
|
7401
|
+
return [x3, 2 * atan(exp(y3)) - halfPi];
|
|
6790
7402
|
};
|
|
6791
7403
|
function geoMercator() {
|
|
6792
7404
|
return mercatorProjection(mercatorRaw).scale(961 / tau);
|
|
6793
7405
|
}
|
|
6794
7406
|
function mercatorProjection(project) {
|
|
6795
7407
|
var m2 = projection(project), center = m2.center, scale = m2.scale, translate = m2.translate, clipExtent = m2.clipExtent, x02 = null, y02, x12, y12;
|
|
6796
|
-
m2.scale = function(
|
|
6797
|
-
return arguments.length ? (scale(
|
|
7408
|
+
m2.scale = function(_3) {
|
|
7409
|
+
return arguments.length ? (scale(_3), reclip()) : scale();
|
|
6798
7410
|
};
|
|
6799
|
-
m2.translate = function(
|
|
6800
|
-
return arguments.length ? (translate(
|
|
7411
|
+
m2.translate = function(_3) {
|
|
7412
|
+
return arguments.length ? (translate(_3), reclip()) : translate();
|
|
6801
7413
|
};
|
|
6802
|
-
m2.center = function(
|
|
6803
|
-
return arguments.length ? (center(
|
|
7414
|
+
m2.center = function(_3) {
|
|
7415
|
+
return arguments.length ? (center(_3), reclip()) : center();
|
|
6804
7416
|
};
|
|
6805
|
-
m2.clipExtent = function(
|
|
6806
|
-
return arguments.length ? (
|
|
7417
|
+
m2.clipExtent = function(_3) {
|
|
7418
|
+
return arguments.length ? (_3 == null ? x02 = y02 = x12 = y12 = null : (x02 = +_3[0][0], y02 = +_3[0][1], x12 = +_3[1][0], y12 = +_3[1][1]), reclip()) : x02 == null ? null : [[x02, y02], [x12, y12]];
|
|
6807
7419
|
};
|
|
6808
7420
|
function reclip() {
|
|
6809
7421
|
var k2 = pi * scale(), t3 = m2(rotation(m2.rotate()).invert([0, 0]));
|
|
@@ -6811,14 +7423,14 @@ function mercatorProjection(project) {
|
|
|
6811
7423
|
}
|
|
6812
7424
|
return reclip();
|
|
6813
7425
|
}
|
|
6814
|
-
function identity(
|
|
6815
|
-
return
|
|
7426
|
+
function identity(x3) {
|
|
7427
|
+
return x3;
|
|
6816
7428
|
}
|
|
6817
7429
|
function transform(transform2) {
|
|
6818
7430
|
if (transform2 == null) return identity;
|
|
6819
7431
|
var x02, y02, kx = transform2.scale[0], ky = transform2.scale[1], dx = transform2.translate[0], dy = transform2.translate[1];
|
|
6820
|
-
return function(input,
|
|
6821
|
-
if (!
|
|
7432
|
+
return function(input, i4) {
|
|
7433
|
+
if (!i4) x02 = y02 = 0;
|
|
6822
7434
|
var j2 = 2, n2 = input.length, output = new Array(n2);
|
|
6823
7435
|
output[0] = (x02 += input[0]) * kx + dx;
|
|
6824
7436
|
output[1] = (y02 += input[1]) * ky + dy;
|
|
@@ -6827,8 +7439,8 @@ function transform(transform2) {
|
|
|
6827
7439
|
};
|
|
6828
7440
|
}
|
|
6829
7441
|
function reverse(array, n2) {
|
|
6830
|
-
var t3, j2 = array.length,
|
|
6831
|
-
while (
|
|
7442
|
+
var t3, j2 = array.length, i4 = j2 - n2;
|
|
7443
|
+
while (i4 < --j2) t3 = array[i4], array[i4++] = array[j2], array[j2] = t3;
|
|
6832
7444
|
}
|
|
6833
7445
|
function topojsonFeature(topology, o2) {
|
|
6834
7446
|
if (typeof o2 === "string") o2 = topology.objects[o2];
|
|
@@ -6842,19 +7454,19 @@ function feature(topology, o2) {
|
|
|
6842
7454
|
}
|
|
6843
7455
|
function object(topology, o2) {
|
|
6844
7456
|
var transformPoint = transform(topology.transform), arcs = topology.arcs;
|
|
6845
|
-
function arc(
|
|
7457
|
+
function arc(i4, points) {
|
|
6846
7458
|
if (points.length) points.pop();
|
|
6847
|
-
for (var a11 = arcs[
|
|
7459
|
+
for (var a11 = arcs[i4 < 0 ? ~i4 : i4], k2 = 0, n2 = a11.length; k2 < n2; ++k2) {
|
|
6848
7460
|
points.push(transformPoint(a11[k2], k2));
|
|
6849
7461
|
}
|
|
6850
|
-
if (
|
|
7462
|
+
if (i4 < 0) reverse(points, n2);
|
|
6851
7463
|
}
|
|
6852
7464
|
function point(p4) {
|
|
6853
7465
|
return transformPoint(p4);
|
|
6854
7466
|
}
|
|
6855
7467
|
function line(arcs2) {
|
|
6856
7468
|
var points = [];
|
|
6857
|
-
for (var
|
|
7469
|
+
for (var i4 = 0, n2 = arcs2.length; i4 < n2; ++i4) arc(arcs2[i4], points);
|
|
6858
7470
|
if (points.length < 2) points.push(points[0]);
|
|
6859
7471
|
return points;
|
|
6860
7472
|
}
|
|
@@ -6943,11 +7555,11 @@ const choroplethStyles = tv({
|
|
|
6943
7555
|
legendScale: "flex items-center justify-between text-caption-xs text-fg-muted tabular-nums"
|
|
6944
7556
|
}
|
|
6945
7557
|
});
|
|
6946
|
-
function isTopology(
|
|
6947
|
-
return !Array.isArray(
|
|
7558
|
+
function isTopology(g3) {
|
|
7559
|
+
return !Array.isArray(g3) && g3.type === "Topology";
|
|
6948
7560
|
}
|
|
6949
|
-
function isFeatureCollection(
|
|
6950
|
-
return !Array.isArray(
|
|
7561
|
+
function isFeatureCollection(g3) {
|
|
7562
|
+
return !Array.isArray(g3) && g3.type === "FeatureCollection";
|
|
6951
7563
|
}
|
|
6952
7564
|
function normalizeFeatures(geography, topologyObject) {
|
|
6953
7565
|
if (Array.isArray(geography)) return geography;
|
|
@@ -7001,21 +7613,21 @@ const ChoroplethMap = forwardRef(
|
|
|
7001
7613
|
}
|
|
7002
7614
|
);
|
|
7003
7615
|
const pathGen = geoPath(proj);
|
|
7004
|
-
return features.map((
|
|
7005
|
-
feature:
|
|
7006
|
-
d: pathGen(
|
|
7616
|
+
return features.map((f3) => ({
|
|
7617
|
+
feature: f3,
|
|
7618
|
+
d: pathGen(f3) ?? ""
|
|
7007
7619
|
}));
|
|
7008
7620
|
}, [features, projection2, width, height]);
|
|
7009
|
-
const getId = (
|
|
7010
|
-
if (getFeatureId) return getFeatureId(
|
|
7011
|
-
if (
|
|
7012
|
-
const p4 =
|
|
7621
|
+
const getId = (f3) => {
|
|
7622
|
+
if (getFeatureId) return getFeatureId(f3);
|
|
7623
|
+
if (f3.id != null) return f3.id;
|
|
7624
|
+
const p4 = f3.properties ?? {};
|
|
7013
7625
|
return p4.id ?? p4.ID ?? "";
|
|
7014
7626
|
};
|
|
7015
|
-
const getName = (
|
|
7016
|
-
if (getFeatureName) return getFeatureName(
|
|
7017
|
-
const p4 =
|
|
7018
|
-
return String(p4.name ?? p4.nome ?? p4.NOME ?? p4.Name ?? getId(
|
|
7627
|
+
const getName = (f3) => {
|
|
7628
|
+
if (getFeatureName) return getFeatureName(f3);
|
|
7629
|
+
const p4 = f3.properties ?? {};
|
|
7630
|
+
return String(p4.name ?? p4.nome ?? p4.NOME ?? p4.Name ?? getId(f3));
|
|
7019
7631
|
};
|
|
7020
7632
|
const numeric = Object.values(values).filter(
|
|
7021
7633
|
(v3) => typeof v3 === "number" && Number.isFinite(v3)
|
|
@@ -7049,26 +7661,26 @@ const ChoroplethMap = forwardRef(
|
|
|
7049
7661
|
role: "img",
|
|
7050
7662
|
"aria-label": ariaLabel,
|
|
7051
7663
|
onMouseLeave: () => setHover(null),
|
|
7052
|
-
onMouseMove: (
|
|
7053
|
-
const r2 =
|
|
7664
|
+
onMouseMove: (e3) => {
|
|
7665
|
+
const r2 = e3.currentTarget.getBoundingClientRect();
|
|
7054
7666
|
setPos({
|
|
7055
|
-
ax: (
|
|
7056
|
-
ay: (
|
|
7667
|
+
ax: (e3.clientX - r2.left) / r2.width * 100,
|
|
7668
|
+
ay: (e3.clientY - r2.top) / r2.height * 100
|
|
7057
7669
|
});
|
|
7058
7670
|
},
|
|
7059
7671
|
children: [
|
|
7060
|
-
geometry.map(({ feature: feature2, d:
|
|
7672
|
+
geometry.map(({ feature: feature2, d: d4 }, index) => {
|
|
7061
7673
|
const id = getId(feature2);
|
|
7062
7674
|
const value = values[id];
|
|
7063
7675
|
return /* @__PURE__ */ jsx(
|
|
7064
7676
|
"path",
|
|
7065
7677
|
{
|
|
7066
|
-
d:
|
|
7678
|
+
d: d4,
|
|
7067
7679
|
fill: fillFor(value),
|
|
7068
7680
|
strokeWidth,
|
|
7069
7681
|
className: styles2.path(),
|
|
7070
7682
|
style: onFeatureClick ? { cursor: "pointer" } : void 0,
|
|
7071
|
-
onMouseEnter: () => setHover({ id, name: getName(feature2), value, feature: feature2, d:
|
|
7683
|
+
onMouseEnter: () => setHover({ id, name: getName(feature2), value, feature: feature2, d: d4 }),
|
|
7072
7684
|
onClick: onFeatureClick ? () => onFeatureClick({
|
|
7073
7685
|
id,
|
|
7074
7686
|
name: getName(feature2),
|
|
@@ -7081,7 +7693,7 @@ const ChoroplethMap = forwardRef(
|
|
|
7081
7693
|
}),
|
|
7082
7694
|
selectedId != null && (() => {
|
|
7083
7695
|
const sel = geometry.find(
|
|
7084
|
-
(
|
|
7696
|
+
(g3) => getId(g3.feature) === selectedId
|
|
7085
7697
|
);
|
|
7086
7698
|
return sel ? /* @__PURE__ */ jsx(
|
|
7087
7699
|
"path",
|
|
@@ -7419,13 +8031,13 @@ function applyFilterModel(items, model, fieldsById) {
|
|
|
7419
8031
|
const field = fieldsById.get(fieldId);
|
|
7420
8032
|
if (!field) return true;
|
|
7421
8033
|
const val = field.accessor(item);
|
|
7422
|
-
const anyOf = group.filter((
|
|
7423
|
-
const noneOf = group.filter((
|
|
7424
|
-
const scalar = group.filter((
|
|
8034
|
+
const anyOf = group.filter((g3) => g3.operator === "isAnyOf").map((g3) => g3.value);
|
|
8035
|
+
const noneOf = group.filter((g3) => g3.operator === "isNoneOf").map((g3) => g3.value);
|
|
8036
|
+
const scalar = group.filter((g3) => g3.operator !== "isAnyOf" && g3.operator !== "isNoneOf");
|
|
7425
8037
|
if (anyOf.length && !anyOf.some((v3) => matchOp("equals", val, v3))) return false;
|
|
7426
8038
|
if (noneOf.length && noneOf.some((v3) => matchOp("equals", val, v3))) return false;
|
|
7427
|
-
for (const
|
|
7428
|
-
if (!matchOp(
|
|
8039
|
+
for (const g3 of scalar) {
|
|
8040
|
+
if (!matchOp(g3.operator, val, g3.value)) return false;
|
|
7429
8041
|
}
|
|
7430
8042
|
return true;
|
|
7431
8043
|
};
|
|
@@ -7533,7 +8145,7 @@ function useDataList({
|
|
|
7533
8145
|
}, []);
|
|
7534
8146
|
const fieldsById = useMemo(() => {
|
|
7535
8147
|
const m2 = /* @__PURE__ */ new Map();
|
|
7536
|
-
for (const
|
|
8148
|
+
for (const f3 of filterFields ?? []) m2.set(f3.id, f3);
|
|
7537
8149
|
return m2;
|
|
7538
8150
|
}, [filterFields]);
|
|
7539
8151
|
const matchesSearch = useCallback(
|
|
@@ -7544,7 +8156,7 @@ function useDataList({
|
|
|
7544
8156
|
asText(item.title),
|
|
7545
8157
|
asText(item.subtitle),
|
|
7546
8158
|
asText(item.description),
|
|
7547
|
-
...(filterFields ?? []).map((
|
|
8159
|
+
...(filterFields ?? []).map((f3) => asText(f3.accessor(item)))
|
|
7548
8160
|
].join(" ").toLowerCase();
|
|
7549
8161
|
return hay.includes(s2);
|
|
7550
8162
|
},
|
|
@@ -7574,12 +8186,12 @@ function useDataList({
|
|
|
7574
8186
|
}
|
|
7575
8187
|
const ALL_VIEW_ID = "__all__";
|
|
7576
8188
|
function toColumns(fields) {
|
|
7577
|
-
return fields.map((
|
|
7578
|
-
key:
|
|
7579
|
-
label:
|
|
7580
|
-
filterType:
|
|
7581
|
-
type:
|
|
7582
|
-
options:
|
|
8189
|
+
return fields.map((f3) => ({
|
|
8190
|
+
key: f3.id,
|
|
8191
|
+
label: f3.label,
|
|
8192
|
+
filterType: f3.type,
|
|
8193
|
+
type: f3.type === "select" ? "select" : f3.type === "number" ? "number" : "text",
|
|
8194
|
+
options: f3.options
|
|
7583
8195
|
}));
|
|
7584
8196
|
}
|
|
7585
8197
|
function toAppliedFilters(model, fieldsById) {
|
|
@@ -7642,7 +8254,7 @@ function DataListToolbar({
|
|
|
7642
8254
|
const columns = useMemo(() => toColumns(filterFields ?? []), [filterFields]);
|
|
7643
8255
|
const fieldsById = useMemo(() => {
|
|
7644
8256
|
const m2 = /* @__PURE__ */ new Map();
|
|
7645
|
-
for (const
|
|
8257
|
+
for (const f3 of filterFields ?? []) m2.set(f3.id, f3);
|
|
7646
8258
|
return m2;
|
|
7647
8259
|
}, [filterFields]);
|
|
7648
8260
|
const appliedFilters = useMemo(
|
|
@@ -7654,7 +8266,7 @@ function DataListToolbar({
|
|
|
7654
8266
|
const isEmptyVal2 = (v3) => v3 == null || v3 === "" || Array.isArray(v3) && v3.length === 0;
|
|
7655
8267
|
const setGroupValue = (field, operator, value) => {
|
|
7656
8268
|
const rest = filterModel.items.filter(
|
|
7657
|
-
(
|
|
8269
|
+
(i4) => !(i4.field === field && i4.operator === operator)
|
|
7658
8270
|
);
|
|
7659
8271
|
const next = isEmptyVal2(value) ? rest : [
|
|
7660
8272
|
...rest,
|
|
@@ -7667,8 +8279,8 @@ function DataListToolbar({
|
|
|
7667
8279
|
];
|
|
7668
8280
|
onFilterModelChange({ ...filterModel, items: next });
|
|
7669
8281
|
};
|
|
7670
|
-
const renderEditableChip = (
|
|
7671
|
-
const [field, operator] =
|
|
8282
|
+
const renderEditableChip = (f3, defaultChip) => {
|
|
8283
|
+
const [field, operator] = f3.id.split("|");
|
|
7672
8284
|
const fieldDef = fieldsById.get(field);
|
|
7673
8285
|
if (!fieldDef) return defaultChip;
|
|
7674
8286
|
const isMulti = operator === "isAnyOf" || operator === "isNoneOf";
|
|
@@ -7676,16 +8288,16 @@ function DataListToolbar({
|
|
|
7676
8288
|
const regType = isMulti ? "multiSelect" : fieldDef.type;
|
|
7677
8289
|
const def = columnTypeRegistry.get(regType);
|
|
7678
8290
|
const groupItems = filterModel.items.filter(
|
|
7679
|
-
(
|
|
8291
|
+
(i4) => i4.field === field && i4.operator === operator
|
|
7680
8292
|
);
|
|
7681
8293
|
const currentValue = isTuple ? groupItems[0]?.value : isMulti ? groupItems.flatMap(
|
|
7682
|
-
(
|
|
8294
|
+
(i4) => Array.isArray(i4.value) ? i4.value : i4.value != null ? [i4.value] : []
|
|
7683
8295
|
) : groupItems[0]?.value;
|
|
7684
8296
|
return /* @__PURE__ */ jsxs(
|
|
7685
8297
|
Popover,
|
|
7686
8298
|
{
|
|
7687
|
-
open: openChipKey ===
|
|
7688
|
-
onOpenChange: (o2) => setOpenChipKey(o2 ?
|
|
8299
|
+
open: openChipKey === f3.id,
|
|
8300
|
+
onOpenChange: (o2) => setOpenChipKey(o2 ? f3.id : null),
|
|
7689
8301
|
children: [
|
|
7690
8302
|
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: defaultChip }),
|
|
7691
8303
|
/* @__PURE__ */ jsx(PopoverContent, { align: "start", className: "p-0", children: def.renderFastFilterInput({
|
|
@@ -7721,7 +8333,7 @@ function DataListToolbar({
|
|
|
7721
8333
|
onFilterModelChange({
|
|
7722
8334
|
...filterModel,
|
|
7723
8335
|
items: filterModel.items.filter(
|
|
7724
|
-
(
|
|
8336
|
+
(i4) => !(i4.field === field && i4.operator === operator)
|
|
7725
8337
|
)
|
|
7726
8338
|
});
|
|
7727
8339
|
};
|
|
@@ -7744,7 +8356,7 @@ function DataListToolbar({
|
|
|
7744
8356
|
{
|
|
7745
8357
|
value: search,
|
|
7746
8358
|
placeholder: searchPlaceholder ?? "Buscar...",
|
|
7747
|
-
onChange: (
|
|
8359
|
+
onChange: (e3) => onSearch(e3.target.value)
|
|
7748
8360
|
}
|
|
7749
8361
|
) : void 0,
|
|
7750
8362
|
filter: filterFields && filterFields.length > 0 ? /* @__PURE__ */ jsx(
|
|
@@ -7766,7 +8378,7 @@ function DataListToolbar({
|
|
|
7766
8378
|
}
|
|
7767
8379
|
) }),
|
|
7768
8380
|
/* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", sideOffset: 4, children: moreActions.map(
|
|
7769
|
-
(a11,
|
|
8381
|
+
(a11, i4) => a11.separator ? /* @__PURE__ */ jsx(DropdownMenuSeparator, {}, `s${i4}`) : /* @__PURE__ */ jsxs(
|
|
7770
8382
|
DropdownMenuItem,
|
|
7771
8383
|
{
|
|
7772
8384
|
variant: a11.destructive ? "destructive" : "default",
|
|
@@ -7777,7 +8389,7 @@ function DataListToolbar({
|
|
|
7777
8389
|
a11.label
|
|
7778
8390
|
]
|
|
7779
8391
|
},
|
|
7780
|
-
a11.label?.toString() ??
|
|
8392
|
+
a11.label?.toString() ?? i4
|
|
7781
8393
|
)
|
|
7782
8394
|
) })
|
|
7783
8395
|
] }) : void 0
|
|
@@ -7790,7 +8402,7 @@ function DataListToolbar({
|
|
|
7790
8402
|
onRemove: removeFilter,
|
|
7791
8403
|
onClearAll: () => onFilterModelChange({ ...filterModel, items: [] }),
|
|
7792
8404
|
separator: false,
|
|
7793
|
-
renderChip: (
|
|
8405
|
+
renderChip: (f3, defaultChip) => renderEditableChip(f3, defaultChip)
|
|
7794
8406
|
}
|
|
7795
8407
|
),
|
|
7796
8408
|
filterFields && filterFields.length > 0 && /* @__PURE__ */ jsx(
|
|
@@ -7868,7 +8480,7 @@ function DataListVirtualized({
|
|
|
7868
8480
|
}) }) });
|
|
7869
8481
|
}
|
|
7870
8482
|
function DataListSkeleton({ count = 3 }) {
|
|
7871
|
-
return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-gp-lg", "aria-hidden": "true", children: Array.from({ length: count }).map((
|
|
8483
|
+
return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-gp-lg", "aria-hidden": "true", children: Array.from({ length: count }).map((_3, i4) => /* @__PURE__ */ jsxs(
|
|
7872
8484
|
"div",
|
|
7873
8485
|
{
|
|
7874
8486
|
className: "w-full p-pad-xl bg-bg-surface border border-border-subtle dark:border-border-default rounded-radius-lg",
|
|
@@ -7877,7 +8489,7 @@ function DataListSkeleton({ count = 3 }) {
|
|
|
7877
8489
|
/* @__PURE__ */ jsx("div", { className: cn("h-[12px] rounded-radius-full bg-bg-muted animate-pulse", "w-2/3") })
|
|
7878
8490
|
]
|
|
7879
8491
|
},
|
|
7880
|
-
|
|
8492
|
+
i4
|
|
7881
8493
|
)) });
|
|
7882
8494
|
}
|
|
7883
8495
|
function DataListInfinite({
|
|
@@ -8071,7 +8683,7 @@ function DataList(props) {
|
|
|
8071
8683
|
" selecionado(s)"
|
|
8072
8684
|
] }),
|
|
8073
8685
|
/* @__PURE__ */ jsxs("div", { className: "ml-auto flex items-center gap-gp-sm", children: [
|
|
8074
|
-
bulkActions.map((a11,
|
|
8686
|
+
bulkActions.map((a11, i4) => /* @__PURE__ */ jsx(
|
|
8075
8687
|
Button,
|
|
8076
8688
|
{
|
|
8077
8689
|
size: "sm",
|
|
@@ -8081,7 +8693,7 @@ function DataList(props) {
|
|
|
8081
8693
|
onClick: () => a11.onClick(ctrl.selected),
|
|
8082
8694
|
children: a11.label
|
|
8083
8695
|
},
|
|
8084
|
-
|
|
8696
|
+
i4
|
|
8085
8697
|
)),
|
|
8086
8698
|
/* @__PURE__ */ jsx(
|
|
8087
8699
|
Button,
|
|
@@ -8187,7 +8799,7 @@ function ToastCard({
|
|
|
8187
8799
|
variant: "ghost",
|
|
8188
8800
|
size: "icon-2xs",
|
|
8189
8801
|
"aria-label": "Fechar",
|
|
8190
|
-
iconLeft: /* @__PURE__ */ jsx(
|
|
8802
|
+
iconLeft: /* @__PURE__ */ jsx(X3, {}),
|
|
8191
8803
|
onClick: handleClose
|
|
8192
8804
|
}
|
|
8193
8805
|
)
|
|
@@ -8264,13 +8876,13 @@ function useBrand(options) {
|
|
|
8264
8876
|
useEffect(() => {
|
|
8265
8877
|
if (typeof window === "undefined") return;
|
|
8266
8878
|
const valido = (v3) => typeof v3 === "string" && ids.split(",").includes(v3);
|
|
8267
|
-
const onCustom = (
|
|
8268
|
-
const next =
|
|
8879
|
+
const onCustom = (e3) => {
|
|
8880
|
+
const next = e3.detail;
|
|
8269
8881
|
if (valido(next)) setBrandState(next);
|
|
8270
8882
|
};
|
|
8271
|
-
const onStorage = (
|
|
8272
|
-
if (
|
|
8273
|
-
if (valido(
|
|
8883
|
+
const onStorage = (e3) => {
|
|
8884
|
+
if (e3.key !== STORAGE_KEY) return;
|
|
8885
|
+
if (valido(e3.newValue)) setBrandState(e3.newValue);
|
|
8274
8886
|
};
|
|
8275
8887
|
window.addEventListener(CHANGE_EVENT, onCustom);
|
|
8276
8888
|
window.addEventListener("storage", onStorage);
|
|
@@ -8281,8 +8893,8 @@ function useBrand(options) {
|
|
|
8281
8893
|
}, [ids]);
|
|
8282
8894
|
const toggle = useCallback(() => {
|
|
8283
8895
|
const lista = ids.split(",");
|
|
8284
|
-
const
|
|
8285
|
-
setBrand(lista[(
|
|
8896
|
+
const i4 = lista.indexOf(brand);
|
|
8897
|
+
setBrand(lista[(i4 + 1) % lista.length] ?? fallback);
|
|
8286
8898
|
}, [brand, ids, setBrand, fallback]);
|
|
8287
8899
|
const current = useMemo(
|
|
8288
8900
|
() => brands.find((b4) => b4.id === brand) ?? brands[0],
|
|
@@ -8297,7 +8909,15 @@ export {
|
|
|
8297
8909
|
Avatar,
|
|
8298
8910
|
u as AvatarGroup,
|
|
8299
8911
|
BRANDS,
|
|
8300
|
-
|
|
8912
|
+
B3 as Badge,
|
|
8913
|
+
B2 as Breadcrumb,
|
|
8914
|
+
d3 as BreadcrumbEllipsis,
|
|
8915
|
+
e2 as BreadcrumbItem,
|
|
8916
|
+
f2 as BreadcrumbLink,
|
|
8917
|
+
g2 as BreadcrumbList,
|
|
8918
|
+
h2 as BreadcrumbPage,
|
|
8919
|
+
i2 as BreadcrumbSeparator,
|
|
8920
|
+
c2 as BreadcrumbSwitcher,
|
|
8301
8921
|
B as BulkActionButton,
|
|
8302
8922
|
v as BulkActionsBar,
|
|
8303
8923
|
Button,
|
|
@@ -8351,19 +8971,19 @@ export {
|
|
|
8351
8971
|
V as FormFieldSwitch,
|
|
8352
8972
|
c as FormFieldTextarea,
|
|
8353
8973
|
H2 as Header,
|
|
8354
|
-
|
|
8355
|
-
|
|
8356
|
-
|
|
8357
|
-
|
|
8358
|
-
|
|
8974
|
+
d2 as HeaderBreadcrumb,
|
|
8975
|
+
e as HeaderMessages,
|
|
8976
|
+
f as HeaderNotifications,
|
|
8977
|
+
g as HeaderSearch,
|
|
8978
|
+
h as HeaderThemeSwitcher,
|
|
8359
8979
|
Icon,
|
|
8360
8980
|
Input,
|
|
8361
|
-
|
|
8362
|
-
|
|
8363
|
-
|
|
8364
|
-
|
|
8365
|
-
|
|
8366
|
-
|
|
8981
|
+
W2 as InputGroup,
|
|
8982
|
+
X2 as InputGroupAddon,
|
|
8983
|
+
Y2 as InputGroupButton,
|
|
8984
|
+
Z2 as InputGroupInput,
|
|
8985
|
+
_2 as InputGroupText,
|
|
8986
|
+
$2 as InputGroupTextarea,
|
|
8367
8987
|
W as Kanban,
|
|
8368
8988
|
a10 as Kpi,
|
|
8369
8989
|
b3 as KpiDelta,
|
|
@@ -8380,31 +9000,31 @@ export {
|
|
|
8380
9000
|
Modal,
|
|
8381
9001
|
MonthYearPicker,
|
|
8382
9002
|
X as MoreMenu,
|
|
8383
|
-
|
|
9003
|
+
I2 as MoreMenuCheckboxItem,
|
|
8384
9004
|
DropdownMenuItem as MoreMenuItem,
|
|
8385
|
-
|
|
8386
|
-
|
|
8387
|
-
|
|
9005
|
+
DropdownMenuLabel as MoreMenuLabel,
|
|
9006
|
+
O2 as MoreMenuRadioGroup,
|
|
9007
|
+
P2 as MoreMenuRadioItem,
|
|
8388
9008
|
DropdownMenuSeparator as MoreMenuSeparator,
|
|
8389
9009
|
P3 as PageHeader,
|
|
8390
9010
|
P as Panel,
|
|
8391
9011
|
Y as PanelBody,
|
|
8392
9012
|
G2 as PanelCloseAction,
|
|
8393
|
-
|
|
9013
|
+
H3 as PanelContent,
|
|
8394
9014
|
Z as PanelFooter,
|
|
8395
9015
|
_ as PanelHeader,
|
|
8396
|
-
|
|
8397
|
-
|
|
9016
|
+
F2 as PanelRoot,
|
|
9017
|
+
O3 as PanelTrigger,
|
|
8398
9018
|
$ as SELECTION_COLUMN_WIDTH,
|
|
8399
9019
|
ScreenLoader,
|
|
8400
9020
|
S2 as SidebarBrandIcon,
|
|
8401
|
-
|
|
8402
|
-
|
|
8403
|
-
|
|
8404
|
-
|
|
8405
|
-
|
|
8406
|
-
|
|
8407
|
-
|
|
9021
|
+
i as SidebarItem,
|
|
9022
|
+
j as SidebarPanel,
|
|
9023
|
+
k as SidebarPill,
|
|
9024
|
+
l as SidebarRail,
|
|
9025
|
+
m as SidebarSection,
|
|
9026
|
+
n as SidebarSubgroup,
|
|
9027
|
+
o as SingleMenuSidebar,
|
|
8408
9028
|
a0 as SortPanel,
|
|
8409
9029
|
a1 as SortPopover,
|
|
8410
9030
|
Spinner,
|
|
@@ -8418,6 +9038,15 @@ export {
|
|
|
8418
9038
|
a9 as TableRow,
|
|
8419
9039
|
TableToolbar,
|
|
8420
9040
|
aa as TableToolbarViews,
|
|
9041
|
+
TabsNavigation,
|
|
9042
|
+
TabsNavigationAction,
|
|
9043
|
+
TabsNavigationActions,
|
|
9044
|
+
TabsNavigationContext,
|
|
9045
|
+
TabsNavigationPanel,
|
|
9046
|
+
TabsNavigationRoot,
|
|
9047
|
+
TabsNavigationSubtitle,
|
|
9048
|
+
TabsNavigationTab,
|
|
9049
|
+
TabsNavigationTitle,
|
|
8421
9050
|
ToastCard,
|
|
8422
9051
|
ToolbarApplied,
|
|
8423
9052
|
ab as ToolbarDivider,
|
|
@@ -8438,13 +9067,15 @@ export {
|
|
|
8438
9067
|
ag as avatarGroupItem,
|
|
8439
9068
|
ah as avatarGroupRoot,
|
|
8440
9069
|
ai as avatarVariants,
|
|
8441
|
-
|
|
8442
|
-
|
|
9070
|
+
aC as badgeVariants,
|
|
9071
|
+
p2 as breadcrumbCaminho,
|
|
9072
|
+
q as breadcrumbSwitcher,
|
|
9073
|
+
ag2 as buttonVariants,
|
|
8443
9074
|
cardCheckbox,
|
|
8444
9075
|
cardOption,
|
|
8445
9076
|
cardOptionGroup,
|
|
8446
|
-
|
|
8447
|
-
|
|
9077
|
+
r as chipCount,
|
|
9078
|
+
s as chipVariants,
|
|
8448
9079
|
colorPickerStyles,
|
|
8449
9080
|
columnTypeRegistry,
|
|
8450
9081
|
conversationListItemStyles,
|
|
@@ -8457,12 +9088,12 @@ export {
|
|
|
8457
9088
|
aj as floatingPanelStyles,
|
|
8458
9089
|
iconStyles,
|
|
8459
9090
|
icons,
|
|
8460
|
-
|
|
8461
|
-
|
|
8462
|
-
|
|
9091
|
+
ad2 as inputGroupVariants,
|
|
9092
|
+
i3 as inputVariants,
|
|
9093
|
+
t2 as isExternalHref,
|
|
8463
9094
|
isFilterEntryActive,
|
|
8464
|
-
|
|
8465
|
-
|
|
9095
|
+
v2 as isHashHref,
|
|
9096
|
+
w2 as isModifiedClick,
|
|
8466
9097
|
markdownTextStyles,
|
|
8467
9098
|
messageAckStyles,
|
|
8468
9099
|
messageBubbleStyles,
|
|
@@ -8474,8 +9105,16 @@ export {
|
|
|
8474
9105
|
phoneColumn,
|
|
8475
9106
|
p as presetView,
|
|
8476
9107
|
al as savedViewsMockService,
|
|
8477
|
-
|
|
9108
|
+
x2 as shouldPreventNavigation,
|
|
8478
9109
|
statusColumn,
|
|
9110
|
+
tabsNavigationAcao,
|
|
9111
|
+
tabsNavigationAcoes,
|
|
9112
|
+
tabsNavigationControles,
|
|
9113
|
+
tabsNavigationDivisoria,
|
|
9114
|
+
tabsNavigationRoot,
|
|
9115
|
+
tabsNavigationStatus,
|
|
9116
|
+
tabsNavigationTab,
|
|
9117
|
+
tabsNavigationTrilho,
|
|
8479
9118
|
textColumn,
|
|
8480
9119
|
toast,
|
|
8481
9120
|
toastVariants,
|
|
@@ -8483,10 +9122,10 @@ export {
|
|
|
8483
9122
|
useChart,
|
|
8484
9123
|
am as useColumnResize,
|
|
8485
9124
|
an as useColumnWidths,
|
|
8486
|
-
|
|
9125
|
+
y2 as useControllable,
|
|
8487
9126
|
ao as useDataTableContext,
|
|
8488
9127
|
ap as useFloatingPanelResize,
|
|
8489
|
-
|
|
9128
|
+
z2 as useMediaQuery,
|
|
8490
9129
|
u2 as useTheme,
|
|
8491
9130
|
useToolbarFilterControl,
|
|
8492
9131
|
useToolbarFilters,
|