@krizaka/ui 2.9.0 → 3.0.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/README.md +44 -6
- package/dist/audio-player.js +1 -1
- package/dist/blocks.css +247 -0
- package/dist/catalogue-page.d.ts +34 -0
- package/dist/catalogue-page.js +26 -0
- package/dist/catalogue-page.js.map +1 -0
- package/dist/changelog-page.d.ts +50 -0
- package/dist/changelog-page.js +27 -0
- package/dist/changelog-page.js.map +1 -0
- package/dist/{chunk-EUPTXKH7.js → chunk-BRKMQ6JV.js} +2 -1
- package/dist/chunk-FDCMBWUU.js +168 -0
- package/dist/chunk-FDCMBWUU.js.map +1 -0
- package/dist/chunk-HCNOOPZE.js +210 -0
- package/dist/chunk-HCNOOPZE.js.map +1 -0
- package/dist/{chunk-NOVUREEC.js → chunk-JZPVUJIX.js} +25 -3
- package/dist/chunk-JZPVUJIX.js.map +1 -0
- package/dist/chunk-KNBYZGSQ.js +11 -0
- package/dist/chunk-KNBYZGSQ.js.map +1 -0
- package/dist/{chunk-X6TW3X6Y.js → chunk-LCZXS6AK.js} +2 -2
- package/dist/chunk-OGJI5X4W.js +157 -0
- package/dist/chunk-OGJI5X4W.js.map +1 -0
- package/dist/combobox.js +2 -2
- package/dist/component-page.d.ts +41 -0
- package/dist/component-page.js +17 -0
- package/dist/component-page.js.map +1 -0
- package/dist/contact-page.d.ts +31 -0
- package/dist/contact-page.js +26 -0
- package/dist/contact-page.js.map +1 -0
- package/dist/data-table.d.ts +284 -24
- package/dist/data-table.js +914 -121
- package/dist/data-table.js.map +1 -1
- package/dist/date-picker.js +1 -1
- package/dist/docs-article-page.d.ts +54 -0
- package/dist/docs-article-page.js +29 -0
- package/dist/docs-article-page.js.map +1 -0
- package/dist/docs-hub-page.d.ts +72 -0
- package/dist/docs-hub-page.js +45 -0
- package/dist/docs-hub-page.js.map +1 -0
- package/dist/error-page.d.ts +22 -0
- package/dist/error-page.js +23 -0
- package/dist/error-page.js.map +1 -0
- package/dist/filter-bar.d.ts +12 -12
- package/dist/filter-bar.js +9 -145
- package/dist/filter-bar.js.map +1 -1
- package/dist/gallery-page.d.ts +50 -0
- package/dist/gallery-page.js +30 -0
- package/dist/gallery-page.js.map +1 -0
- package/dist/{geometry-CXrAW34x.d.ts → geometry-CbOU4rtL.d.ts} +4 -4
- package/dist/how-it-works-page.d.ts +48 -0
- package/dist/how-it-works-page.js +28 -0
- package/dist/how-it-works-page.js.map +1 -0
- package/dist/image-cropper.js +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/index.js +93 -5
- package/dist/index.js.map +1 -1
- package/dist/landing-page.d.ts +58 -0
- package/dist/landing-page.js +42 -0
- package/dist/landing-page.js.map +1 -0
- package/dist/legal-page.d.ts +34 -0
- package/dist/legal-page.js +18 -0
- package/dist/legal-page.js.map +1 -0
- package/dist/longform-page.d.ts +42 -0
- package/dist/longform-page.js +29 -0
- package/dist/longform-page.js.map +1 -0
- package/dist/mascot-quote.d.ts +4 -4
- package/dist/mascot-quote.js +23 -1
- package/dist/mascot-quote.js.map +1 -1
- package/dist/mascot-state.d.ts +2 -2
- package/dist/mascot-state.js +1 -1
- package/dist/mascot-state.js.map +1 -1
- package/dist/mascots.d.ts +4 -4
- package/dist/mascots.js +1 -1
- package/dist/media-capture.js +1 -1
- package/dist/native/list.d.ts +95 -0
- package/dist/native/list.js +135 -0
- package/dist/native/list.js.map +1 -0
- package/dist/native.d.ts +16 -9
- package/dist/native.js +183 -74
- package/dist/native.js.map +1 -1
- package/dist/pricing-page.d.ts +62 -0
- package/dist/pricing-page.js +71 -0
- package/dist/pricing-page.js.map +1 -0
- package/dist/product-page.d.ts +83 -0
- package/dist/product-page.js +60 -0
- package/dist/product-page.js.map +1 -0
- package/dist/search-field.js +6 -160
- package/dist/search-field.js.map +1 -1
- package/dist/status-page.d.ts +42 -0
- package/dist/status-page.js +28 -0
- package/dist/status-page.js.map +1 -0
- package/dist/tag-input.js +2 -2
- package/dist/video-player.js +1 -1
- package/dist/video-trimmer.js +1 -1
- package/dist/virtual.d.ts +140 -0
- package/dist/virtual.js +19 -0
- package/dist/virtual.js.map +1 -0
- package/package.json +296 -10
- package/registry/achievement.json +1 -1
- package/registry/action-bar.json +1 -1
- package/registry/alert.json +1 -1
- package/registry/app-shell.json +1 -1
- package/registry/argument-card.json +1 -1
- package/registry/audio-player.json +1 -1
- package/registry/auth-layout.json +1 -1
- package/registry/avatar.json +1 -1
- package/registry/badge.json +1 -1
- package/registry/button.json +1 -1
- package/registry/card-grid.json +1 -1
- package/registry/card.json +1 -1
- package/registry/catalogue-page.json +240 -0
- package/registry/changelog-page.json +226 -0
- package/registry/checkbox.json +1 -1
- package/registry/chip-link.json +1 -1
- package/registry/chip.json +1 -1
- package/registry/choice-grid.json +1 -1
- package/registry/code-block.json +1 -1
- package/registry/combobox.json +1 -1
- package/registry/command.json +1 -1
- package/registry/component-page.json +227 -0
- package/registry/confirm-button.json +1 -1
- package/registry/contact-page.json +212 -0
- package/registry/continue-prompt.json +1 -1
- package/registry/countdown.json +1 -1
- package/registry/cta-panel.json +1 -1
- package/registry/dashboard-layout.json +1 -1
- package/registry/data-table.json +643 -49
- package/registry/date-picker.json +1 -1
- package/registry/decision-list.json +1 -1
- package/registry/detail-layout.json +1 -1
- package/registry/dialog.json +1 -1
- package/registry/docs-article-page.json +242 -0
- package/registry/docs-hub-page.json +270 -0
- package/registry/docs-layout.json +1 -1
- package/registry/dropdown-menu.json +1 -1
- package/registry/empty-state.json +1 -1
- package/registry/error-page.json +183 -0
- package/registry/examples/catalogue-page/components.d.ts +4 -0
- package/registry/examples/catalogue-page/components.js +33 -0
- package/registry/examples/catalogue-page/components.tsx +36 -0
- package/registry/examples/changelog-page/releases.d.ts +4 -0
- package/registry/examples/changelog-page/releases.js +44 -0
- package/registry/examples/changelog-page/releases.tsx +39 -0
- package/registry/examples/component-page/button.d.ts +4 -0
- package/registry/examples/component-page/button.js +33 -0
- package/registry/examples/component-page/button.tsx +30 -0
- package/registry/examples/contact-page/team.d.ts +4 -0
- package/registry/examples/contact-page/team.js +39 -0
- package/registry/examples/contact-page/team.tsx +38 -0
- package/registry/examples/data-table/details.d.ts +4 -0
- package/registry/examples/data-table/details.js +33 -0
- package/registry/examples/data-table/details.tsx +31 -0
- package/registry/examples/data-table/filters.d.ts +4 -0
- package/registry/examples/data-table/filters.js +40 -0
- package/registry/examples/data-table/filters.tsx +40 -0
- package/registry/examples/data-table/grouped.d.ts +4 -0
- package/registry/examples/data-table/grouped.js +24 -0
- package/registry/examples/data-table/grouped.tsx +23 -0
- package/registry/examples/data-table/paginated.d.ts +4 -0
- package/registry/examples/data-table/paginated.js +23 -0
- package/registry/examples/data-table/paginated.tsx +22 -0
- package/registry/examples/data-table/pinned.d.ts +4 -0
- package/registry/examples/data-table/pinned.js +26 -0
- package/registry/examples/data-table/pinned.tsx +25 -0
- package/registry/examples/data-table/server.d.ts +4 -0
- package/registry/examples/data-table/server.js +40 -0
- package/registry/examples/data-table/server.tsx +40 -0
- package/registry/examples/data-table/virtualized.js +2 -2
- package/registry/examples/data-table/virtualized.tsx +3 -3
- package/registry/examples/docs-article-page/cli.d.ts +4 -0
- package/registry/examples/docs-article-page/cli.js +33 -0
- package/registry/examples/docs-article-page/cli.tsx +38 -0
- package/registry/examples/docs-hub-page/krizaka.d.ts +4 -0
- package/registry/examples/docs-hub-page/krizaka.js +46 -0
- package/registry/examples/docs-hub-page/krizaka.tsx +37 -0
- package/registry/examples/error-page/not-found.d.ts +4 -0
- package/registry/examples/error-page/not-found.js +24 -0
- package/registry/examples/error-page/not-found.tsx +19 -0
- package/registry/examples/gallery-page/made-here.d.ts +4 -0
- package/registry/examples/gallery-page/made-here.js +34 -0
- package/registry/examples/gallery-page/made-here.tsx +32 -0
- package/registry/examples/how-it-works-page/orazaka.d.ts +4 -0
- package/registry/examples/how-it-works-page/orazaka.js +30 -0
- package/registry/examples/how-it-works-page/orazaka.tsx +26 -0
- package/registry/examples/landing-page/krizaka.d.ts +4 -0
- package/registry/examples/landing-page/krizaka.js +44 -0
- package/registry/examples/landing-page/krizaka.tsx +44 -0
- package/registry/examples/legal-page/privacy.d.ts +4 -0
- package/registry/examples/legal-page/privacy.js +24 -0
- package/registry/examples/legal-page/privacy.tsx +19 -0
- package/registry/examples/list/native/default.d.ts +4 -0
- package/registry/examples/list/native/default.dark.png +0 -0
- package/registry/examples/list/native/default.js +33 -0
- package/registry/examples/list/native/default.light.png +0 -0
- package/registry/examples/list/native/default.tsx +31 -0
- package/registry/examples/list/native/infinite.d.ts +4 -0
- package/registry/examples/list/native/infinite.dark.png +0 -0
- package/registry/examples/list/native/infinite.js +30 -0
- package/registry/examples/list/native/infinite.light.png +0 -0
- package/registry/examples/list/native/infinite.tsx +35 -0
- package/registry/examples/list/native/states.d.ts +4 -0
- package/registry/examples/list/native/states.dark.png +0 -0
- package/registry/examples/list/native/states.js +26 -0
- package/registry/examples/list/native/states.light.png +0 -0
- package/registry/examples/list/native/states.tsx +21 -0
- package/registry/examples/longform-page/story.d.ts +4 -0
- package/registry/examples/longform-page/story.js +38 -0
- package/registry/examples/longform-page/story.tsx +35 -0
- package/registry/examples/mascots/crane.d.ts +4 -0
- package/registry/examples/mascots/crane.js +19 -0
- package/registry/examples/mascots/crane.tsx +18 -0
- package/registry/examples/mascots/flock.tsx +2 -1
- package/registry/examples/mascots/native/crane.d.ts +4 -0
- package/registry/examples/mascots/native/crane.dark.png +0 -0
- package/registry/examples/mascots/native/crane.js +21 -0
- package/registry/examples/mascots/native/crane.light.png +0 -0
- package/registry/examples/mascots/native/crane.tsx +18 -0
- package/registry/examples/pricing-page/credits.d.ts +4 -0
- package/registry/examples/pricing-page/credits.js +41 -0
- package/registry/examples/pricing-page/credits.tsx +33 -0
- package/registry/examples/product-page/orazaka.d.ts +4 -0
- package/registry/examples/product-page/orazaka.js +44 -0
- package/registry/examples/product-page/orazaka.tsx +36 -0
- package/registry/examples/status-page/building.d.ts +4 -0
- package/registry/examples/status-page/building.js +29 -0
- package/registry/examples/status-page/building.tsx +25 -0
- package/registry/examples/status-page/operational.d.ts +4 -0
- package/registry/examples/status-page/operational.js +26 -0
- package/registry/examples/status-page/operational.tsx +20 -0
- package/registry/examples/virtual/feed.d.ts +4 -0
- package/registry/examples/virtual/feed.js +26 -0
- package/registry/examples/virtual/feed.tsx +24 -0
- package/registry/examples/virtual/gallery.d.ts +4 -0
- package/registry/examples/virtual/gallery.js +31 -0
- package/registry/examples/virtual/gallery.tsx +28 -0
- package/registry/examples/virtual/messages.d.ts +4 -0
- package/registry/examples/virtual/messages.js +28 -0
- package/registry/examples/virtual/messages.tsx +28 -0
- package/registry/field.json +1 -1
- package/registry/file-upload.json +1 -1
- package/registry/filter-bar.json +1 -1
- package/registry/gallery-page.json +256 -0
- package/registry/glow-card.json +1 -1
- package/registry/goal-gauge.json +1 -1
- package/registry/how-it-works-page.json +242 -0
- package/registry/image-cropper.json +1 -1
- package/registry/index.json +356 -9
- package/registry/iso.json +1 -1
- package/registry/kbd.json +1 -1
- package/registry/landing-page.json +242 -0
- package/registry/landscape.json +1 -1
- package/registry/legal-page.json +199 -0
- package/registry/link-card.json +1 -1
- package/registry/list.json +249 -0
- package/registry/loader.json +1 -1
- package/registry/longform-page.json +213 -0
- package/registry/marketing-layout.json +1 -1
- package/registry/marquee.json +1 -1
- package/registry/mascot-quote.json +6 -6
- package/registry/mascot-state.json +34 -34
- package/registry/mascots.json +41 -21
- package/registry/media-capture.json +1 -1
- package/registry/meter.json +1 -1
- package/registry/nav-bar.json +1 -1
- package/registry/number-ticker.json +1 -1
- package/registry/page-header.json +1 -1
- package/registry/page-hero.json +1 -1
- package/registry/page.json +1 -1
- package/registry/pagination.json +1 -1
- package/registry/pointer-light.json +1 -1
- package/registry/popover.json +1 -1
- package/registry/pricing-page.json +245 -0
- package/registry/product-page.json +319 -0
- package/registry/profile-card.json +1 -1
- package/registry/progress.json +1 -1
- package/registry/promise-card.json +1 -1
- package/registry/radio-group.json +1 -1
- package/registry/scroll-stage.json +1 -1
- package/registry/search-field.json +1 -1
- package/registry/section-backdrop.json +1 -1
- package/registry/separator.json +1 -1
- package/registry/settings-layout.json +1 -1
- package/registry/skeleton.json +1 -1
- package/registry/slider.json +1 -1
- package/registry/slot.json +1 -1
- package/registry/spinner.json +1 -1
- package/registry/split-view.json +1 -1
- package/registry/stage-banner.json +1 -1
- package/registry/stat.json +1 -1
- package/registry/status-page.json +263 -0
- package/registry/stepper.json +1 -1
- package/registry/switch.json +1 -1
- package/registry/tabs.json +1 -1
- package/registry/tag-input.json +1 -1
- package/registry/terminal-replay.json +1 -1
- package/registry/theme.json +1 -1
- package/registry/toast.json +1 -1
- package/registry/toc.json +1 -1
- package/registry/tooltip.json +1 -1
- package/registry/video-player.json +1 -1
- package/registry/video-trimmer.json +1 -1
- package/registry/virtual.json +569 -0
- package/skills/data-table/SKILL.md +56 -0
- package/skills/native-list/SKILL.md +39 -0
- package/skills/virtual/SKILL.md +35 -0
- package/dist/chunk-NOVUREEC.js.map +0 -1
- /package/dist/{chunk-EUPTXKH7.js.map → chunk-BRKMQ6JV.js.map} +0 -0
- /package/dist/{chunk-X6TW3X6Y.js.map → chunk-LCZXS6AK.js.map} +0 -0
package/dist/native.js
CHANGED
|
@@ -176,6 +176,16 @@ var marks = /* @__PURE__ */ Object.freeze({
|
|
|
176
176
|
"100%",
|
|
177
177
|
"#089b96"
|
|
178
178
|
]
|
|
179
|
+
],
|
|
180
|
+
"yororis": [
|
|
181
|
+
[
|
|
182
|
+
"0%",
|
|
183
|
+
"#a4773d"
|
|
184
|
+
],
|
|
185
|
+
[
|
|
186
|
+
"100%",
|
|
187
|
+
"#5d894d"
|
|
188
|
+
]
|
|
179
189
|
]
|
|
180
190
|
});
|
|
181
191
|
|
|
@@ -1008,6 +1018,26 @@ var BIRDS = {
|
|
|
1008
1018
|
details: ["M43 40 C42 28 51 22 60 22 C69 22 78 28 77 40 C76 50 68 55 60 55 C52 55 44 50 43 40 Z"],
|
|
1009
1019
|
beak: "M55 44 C55 40 65 40 65 44 C65 50 62 54 60 55 C58 54 55 50 55 44 Z",
|
|
1010
1020
|
eyes: { at: [[51, 36], [69, 36]], white: 4.6, pupil: 2.4 }
|
|
1021
|
+
},
|
|
1022
|
+
/**
|
|
1023
|
+
* The crane — the one that listens: posed, unhurried, drawn in one line. A tall wader seen in profile, standing still
|
|
1024
|
+
* on two straight legs, the neck a single stroke up to a small head with its crown (the detail colour) and a long,
|
|
1025
|
+
* straight beak; the folded wings low on its back. The flamingo bends and answers; the crane stands and listens.
|
|
1026
|
+
*/
|
|
1027
|
+
crane: {
|
|
1028
|
+
shadow: [62, 110, 20, 3],
|
|
1029
|
+
legs: ["M56 87 L55 108 M51 108 L59 108", "M67 87 L68 108 M64 108 L73 108"],
|
|
1030
|
+
body: "M40 66 C38 54 84 54 86 68 C88 82 76 88 62 88 C48 88 40 80 40 66 Z",
|
|
1031
|
+
belly: "M48 70 C48 62 78 62 79 70 C80 79 72 84 63 84 C54 84 48 79 48 70 Z",
|
|
1032
|
+
wings: [
|
|
1033
|
+
{ d: "M44 62 C33 68 35 82 49 83 C45 76 45 69 44 62 Z", pivot: [44, 62] },
|
|
1034
|
+
{ d: "M82 62 C93 67 96 82 80 84 C83 76 83 69 82 62 Z", pivot: [82, 62] }
|
|
1035
|
+
],
|
|
1036
|
+
neck: { d: "M52 62 C48 47 52 37 48 26", width: 6 },
|
|
1037
|
+
head: { cx: 47, cy: 21, r: 8.5 },
|
|
1038
|
+
details: ["M41 16.5 C42 11 52 11 53 16.5 C50 14.6 44 14.6 41 16.5 Z"],
|
|
1039
|
+
beak: "M40.5 18.5 L19 22.5 L40.5 25.5 Z",
|
|
1040
|
+
eyes: { at: [[45.5, 19.5]], white: 2.8, pupil: 1.6 }
|
|
1011
1041
|
}
|
|
1012
1042
|
};
|
|
1013
1043
|
var MOOD_PARTS = {
|
|
@@ -1036,7 +1066,9 @@ var OWN_PALETTES = {
|
|
|
1036
1066
|
duck: { from: "#f43f5e", to: "#be123c", wing: "#db2777", detail: "#9f1239", beak: "#fbbf24", eye: "#1f2937" },
|
|
1037
1067
|
flamingo: { from: "#f9a8d4", to: "#db2777", wing: "#ec4899", detail: "#be185d", beak: "#fbbf24", eye: "#1f2937" },
|
|
1038
1068
|
pigeon: { from: "#22d3ee", to: "#6366f1", wing: "#a855f7", detail: "#4338ca", beak: "#f59e0b", eye: "#1f2937" },
|
|
1039
|
-
lovebird: { from: "#6ee7b7", to: "#059669", wing: "#047857", detail: "#fb7185", beak: "#f97316", eye: "#1f2937" }
|
|
1069
|
+
lovebird: { from: "#6ee7b7", to: "#059669", wing: "#047857", detail: "#fb7185", beak: "#f97316", eye: "#1f2937" },
|
|
1070
|
+
// The sandhill crane (grue du Canada): sand-grey plumage, its red crown, dark legs and beak.
|
|
1071
|
+
crane: { from: "#ebe3d6", to: "#9c8f80", wing: "#7d7266", detail: "#dc2626", beak: "#44403c", eye: "#1f2937" }
|
|
1040
1072
|
};
|
|
1041
1073
|
var LIGHT = "#ffffff";
|
|
1042
1074
|
var SHADE = "#000000";
|
|
@@ -1530,27 +1562,103 @@ function YazakiaMark({ size = 48, animated = true, title, neutral }) {
|
|
|
1530
1562
|
] });
|
|
1531
1563
|
}
|
|
1532
1564
|
|
|
1565
|
+
// src/native/YororisMark.tsx
|
|
1566
|
+
import { View as View15 } from "react-native";
|
|
1567
|
+
import Svg9, { Circle as Circle7, Defs as Defs8, LinearGradient as LinearGradient8, Path as Path8, RadialGradient as RadialGradient6, Stop as Stop8 } from "react-native-svg";
|
|
1568
|
+
|
|
1569
|
+
// src/marks/yororis-geometry.ts
|
|
1570
|
+
var sand = marks.yororis[0][1];
|
|
1571
|
+
var sage = marks.yororis[marks.yororis.length - 1][1];
|
|
1572
|
+
var YORORIS = {
|
|
1573
|
+
viewBox: "0 0 400 400",
|
|
1574
|
+
croppedViewBox: "80 80 240 240",
|
|
1575
|
+
center: 200,
|
|
1576
|
+
/** The two leaves — open hands, mirrored around x = 200 — filled, rising from the stem. */
|
|
1577
|
+
leaves: [
|
|
1578
|
+
"M200 262 C142 256 104 206 110 122 C138 130 154 152 160 180 C168 218 182 238 204 246 Z",
|
|
1579
|
+
"M200 262 C258 256 296 206 290 122 C262 130 246 152 240 180 C232 218 218 238 196 246 Z"
|
|
1580
|
+
],
|
|
1581
|
+
/** A vein of light along each leaf (dashed, it drifts slowly when animated). */
|
|
1582
|
+
veins: "M122 142 C128 196 156 232 192 248 M278 142 C272 196 244 232 208 248",
|
|
1583
|
+
vein: { color: "#fbf6ea", opacity: 0.45, width: 3, dash: "2 14" },
|
|
1584
|
+
/** The stem, from the junction down. */
|
|
1585
|
+
stem: "M200 244 L200 312",
|
|
1586
|
+
stroke: 30,
|
|
1587
|
+
gradient: { x1: 110, y1: 300, x2: 290, y2: 100, stops: marks.yororis },
|
|
1588
|
+
/** The core's warm light: from the mark's sand (below) to a light sand (above). */
|
|
1589
|
+
coreGradient: { stops: [["0%", sand], ["100%", "#e6c993"]] },
|
|
1590
|
+
/** The core, held in the hollow of the leaves (not on the junction): the one who is listened to. It breathes. */
|
|
1591
|
+
core: { cx: 200, cy: 184, r: 32, inner: 11 },
|
|
1592
|
+
highlight: "#fbf6ea",
|
|
1593
|
+
/** The moment: one node on the orbit, that turns with it. */
|
|
1594
|
+
moment: { r: 9, at: [200, 40] },
|
|
1595
|
+
glow: { color: sage, opacity: 0.18 },
|
|
1596
|
+
/** The core's breathing shadow (web), in the core's warm sand. */
|
|
1597
|
+
pulse: { color: sand, low: 0.3, high: 0.6 },
|
|
1598
|
+
orbit: { r: 160, dash: "8 8", width: 1.5 },
|
|
1599
|
+
ring: { r: 134, width: 1 }
|
|
1600
|
+
};
|
|
1601
|
+
|
|
1602
|
+
// src/native/YororisMark.tsx
|
|
1603
|
+
import { jsx as jsx19, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1604
|
+
function YororisMark({ size = 48, animated = true, title, neutral }) {
|
|
1605
|
+
const { theme } = useTheme();
|
|
1606
|
+
const { Animated: Animated14, layer, spinStyle, pulseStyle } = useMarkMotion(size, animated, 36e3);
|
|
1607
|
+
const id = useSvgId("yrm");
|
|
1608
|
+
const viewBox = size < 48 ? YORORIS.croppedViewBox : YORORIS.viewBox;
|
|
1609
|
+
const stroke = neutral ?? theme.textMuted;
|
|
1610
|
+
const gradient = /* @__PURE__ */ jsx19(LinearGradient8, { id: `${id}a`, gradientUnits: "userSpaceOnUse", x1: YORORIS.gradient.x1, y1: YORORIS.gradient.y1, x2: YORORIS.gradient.x2, y2: YORORIS.gradient.y2, children: YORORIS.gradient.stops.map(([offset, color]) => /* @__PURE__ */ jsx19(Stop8, { offset, stopColor: color }, offset)) });
|
|
1611
|
+
const fill = `url(#${id}a)`;
|
|
1612
|
+
return /* @__PURE__ */ jsxs16(View15, { style: { width: size, height: size }, ...markA11y(title), children: [
|
|
1613
|
+
/* @__PURE__ */ jsxs16(Svg9, { viewBox, style: layer, children: [
|
|
1614
|
+
/* @__PURE__ */ jsxs16(Defs8, { children: [
|
|
1615
|
+
/* @__PURE__ */ jsxs16(RadialGradient6, { id: `${id}g`, cx: "50%", cy: "50%", r: "50%", children: [
|
|
1616
|
+
/* @__PURE__ */ jsx19(Stop8, { offset: "0%", stopColor: YORORIS.glow.color, stopOpacity: YORORIS.glow.opacity }),
|
|
1617
|
+
/* @__PURE__ */ jsx19(Stop8, { offset: "100%", stopColor: YORORIS.glow.color, stopOpacity: 0 })
|
|
1618
|
+
] }),
|
|
1619
|
+
gradient
|
|
1620
|
+
] }),
|
|
1621
|
+
size >= 48 ? /* @__PURE__ */ jsx19(Circle7, { cx: YORORIS.center, cy: YORORIS.center, r: 190, fill: `url(#${id}g)` }) : null,
|
|
1622
|
+
/* @__PURE__ */ jsx19(Circle7, { cx: YORORIS.center, cy: YORORIS.center, r: YORORIS.ring.r, stroke, strokeWidth: YORORIS.ring.width, opacity: 0.35, fill: "none" }),
|
|
1623
|
+
/* @__PURE__ */ jsx19(Path8, { d: YORORIS.stem, stroke: fill, strokeWidth: YORORIS.stroke, strokeLinecap: "round", fill: "none" }),
|
|
1624
|
+
YORORIS.leaves.map((d) => /* @__PURE__ */ jsx19(Path8, { d, fill }, d)),
|
|
1625
|
+
/* @__PURE__ */ jsx19(Path8, { d: YORORIS.veins, stroke: YORORIS.vein.color, strokeOpacity: YORORIS.vein.opacity, strokeWidth: YORORIS.vein.width, strokeLinecap: "round", strokeDasharray: YORORIS.vein.dash, fill: "none" })
|
|
1626
|
+
] }),
|
|
1627
|
+
/* @__PURE__ */ jsx19(Animated14.View, { style: [layer, spinStyle], children: /* @__PURE__ */ jsxs16(Svg9, { viewBox, style: layer, children: [
|
|
1628
|
+
/* @__PURE__ */ jsx19(Defs8, { children: gradient }),
|
|
1629
|
+
/* @__PURE__ */ jsx19(Circle7, { cx: YORORIS.center, cy: YORORIS.center, r: YORORIS.orbit.r, stroke, strokeWidth: YORORIS.orbit.width, strokeDasharray: YORORIS.orbit.dash, opacity: 0.6, fill: "none" }),
|
|
1630
|
+
/* @__PURE__ */ jsx19(Circle7, { cx: YORORIS.moment.at[0], cy: YORORIS.moment.at[1], r: YORORIS.moment.r, fill })
|
|
1631
|
+
] }) }),
|
|
1632
|
+
/* @__PURE__ */ jsx19(Animated14.View, { style: [layer, pulseStyle], children: /* @__PURE__ */ jsxs16(Svg9, { viewBox, style: layer, children: [
|
|
1633
|
+
/* @__PURE__ */ jsx19(Defs8, { children: /* @__PURE__ */ jsx19(LinearGradient8, { id: `${id}c`, x1: "50%", y1: "100%", x2: "50%", y2: "0%", children: YORORIS.coreGradient.stops.map(([offset, color]) => /* @__PURE__ */ jsx19(Stop8, { offset, stopColor: color }, offset)) }) }),
|
|
1634
|
+
/* @__PURE__ */ jsx19(Circle7, { cx: YORORIS.core.cx, cy: YORORIS.core.cy, r: YORORIS.core.r, fill: `url(#${id}c)` }),
|
|
1635
|
+
/* @__PURE__ */ jsx19(Circle7, { cx: YORORIS.core.cx, cy: YORORIS.core.cy, r: YORORIS.core.inner, fill: YORORIS.highlight })
|
|
1636
|
+
] }) })
|
|
1637
|
+
] });
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1533
1640
|
// src/native/ProductMark.tsx
|
|
1534
|
-
import { jsx as
|
|
1641
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1535
1642
|
function ProductMark({ id, ...props }) {
|
|
1536
|
-
if (id === "krizaka") return /* @__PURE__ */
|
|
1537
|
-
if (id === "orazaka") return /* @__PURE__ */
|
|
1538
|
-
if (id === "yazakia") return /* @__PURE__ */
|
|
1539
|
-
return /* @__PURE__ */
|
|
1643
|
+
if (id === "krizaka") return /* @__PURE__ */ jsx20(KrizakaMark, { ...props });
|
|
1644
|
+
if (id === "orazaka") return /* @__PURE__ */ jsx20(OrazakaMark, { ...props });
|
|
1645
|
+
if (id === "yazakia") return /* @__PURE__ */ jsx20(YazakiaMark, { ...props });
|
|
1646
|
+
if (id === "yororis") return /* @__PURE__ */ jsx20(YororisMark, { ...props });
|
|
1647
|
+
return /* @__PURE__ */ jsx20(OrochiaMark, { ...props });
|
|
1540
1648
|
}
|
|
1541
1649
|
|
|
1542
1650
|
// src/native/profile-card.tsx
|
|
1543
1651
|
import * as React13 from "react";
|
|
1544
|
-
import { Animated as Animated10, StyleSheet as StyleSheet12, View as
|
|
1545
|
-
import { jsx as
|
|
1652
|
+
import { Animated as Animated10, StyleSheet as StyleSheet12, View as View16 } from "react-native";
|
|
1653
|
+
import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1546
1654
|
var ratioOf = (value, max = 100) => Math.min(1, Math.max(0, value / (max || 1)));
|
|
1547
1655
|
function Bar({ label, ratio, words, animated, delay }) {
|
|
1548
1656
|
const { theme } = useTheme();
|
|
1549
1657
|
const t = useEntrance(animated, delay, 900);
|
|
1550
1658
|
const [width, setWidth] = React13.useState(0);
|
|
1551
1659
|
const translateX = t.interpolate({ inputRange: [0, 1], outputRange: [-width * ratio, 0] });
|
|
1552
|
-
return /* @__PURE__ */
|
|
1553
|
-
|
|
1660
|
+
return /* @__PURE__ */ jsx21(
|
|
1661
|
+
View16,
|
|
1554
1662
|
{
|
|
1555
1663
|
accessible: true,
|
|
1556
1664
|
role: "meter",
|
|
@@ -1561,37 +1669,37 @@ function Bar({ label, ratio, words, animated, delay }) {
|
|
|
1561
1669
|
"aria-valuetext": words,
|
|
1562
1670
|
onLayout: (e) => setWidth(e.nativeEvent.layout.width),
|
|
1563
1671
|
style: [styles12.track, { backgroundColor: theme.surface3 }],
|
|
1564
|
-
children: /* @__PURE__ */
|
|
1672
|
+
children: /* @__PURE__ */ jsx21(Animated10.View, { style: [styles12.fill, { width: `${ratio * 100}%`, backgroundColor: theme.accent, transform: [{ translateX }] }] })
|
|
1565
1673
|
}
|
|
1566
1674
|
);
|
|
1567
1675
|
}
|
|
1568
1676
|
function ProfileCard({ visual, name, statLabel, value = 100, valueText, stats, caption, children, animated = true, style, ...props }) {
|
|
1569
1677
|
const { theme, radius: radius3 } = useTheme();
|
|
1570
1678
|
const ratio = ratioOf(value);
|
|
1571
|
-
return /* @__PURE__ */
|
|
1572
|
-
/* @__PURE__ */
|
|
1573
|
-
/* @__PURE__ */
|
|
1574
|
-
/* @__PURE__ */
|
|
1575
|
-
statLabel ? /* @__PURE__ */
|
|
1679
|
+
return /* @__PURE__ */ jsxs17(View16, { ...props, style: [styles12.root, { backgroundColor: theme.surface1, borderColor: theme.borderSubtle, borderRadius: radius3.xl }, style], children: [
|
|
1680
|
+
/* @__PURE__ */ jsx21(View16, { "aria-hidden": true, style: [styles12.disc, { backgroundColor: theme.surface2, borderColor: theme.accentSoft }], children: visual }),
|
|
1681
|
+
/* @__PURE__ */ jsxs17(View16, { style: styles12.head, children: [
|
|
1682
|
+
/* @__PURE__ */ jsx21(Txt, { variant: "title", style: styles12.name, children: name }),
|
|
1683
|
+
statLabel ? /* @__PURE__ */ jsxs17(Txt, { variant: "caption", tone: "secondary", children: [
|
|
1576
1684
|
statLabel,
|
|
1577
1685
|
" ",
|
|
1578
|
-
/* @__PURE__ */
|
|
1686
|
+
/* @__PURE__ */ jsx21(Txt, { variant: "caption", children: valueText ?? `${Math.round(ratio * 100)} %` })
|
|
1579
1687
|
] }) : null
|
|
1580
1688
|
] }),
|
|
1581
|
-
statLabel ? /* @__PURE__ */
|
|
1689
|
+
statLabel ? /* @__PURE__ */ jsx21(Bar, { label: statLabel, ratio, words: valueText ?? `${Math.round(ratio * 100)} %`, animated, delay: 200 }) : null,
|
|
1582
1690
|
stats?.map((s, i) => {
|
|
1583
1691
|
const r = ratioOf(s.value, s.max);
|
|
1584
1692
|
const words = s.valueText ?? `${Math.round(r * 100)} %`;
|
|
1585
|
-
return /* @__PURE__ */
|
|
1586
|
-
/* @__PURE__ */
|
|
1587
|
-
/* @__PURE__ */
|
|
1588
|
-
/* @__PURE__ */
|
|
1693
|
+
return /* @__PURE__ */ jsxs17(View16, { style: styles12.stat, children: [
|
|
1694
|
+
/* @__PURE__ */ jsxs17(View16, { "aria-hidden": true, style: styles12.statHead, children: [
|
|
1695
|
+
/* @__PURE__ */ jsx21(Txt, { variant: "caption", tone: "secondary", children: s.label }),
|
|
1696
|
+
/* @__PURE__ */ jsx21(Txt, { variant: "caption", children: words })
|
|
1589
1697
|
] }),
|
|
1590
|
-
/* @__PURE__ */
|
|
1698
|
+
/* @__PURE__ */ jsx21(Bar, { label: s.label, ratio: r, words, animated, delay: 320 + i * 120 })
|
|
1591
1699
|
] }, s.label);
|
|
1592
1700
|
}),
|
|
1593
|
-
caption ? /* @__PURE__ */
|
|
1594
|
-
children ? /* @__PURE__ */
|
|
1701
|
+
caption ? /* @__PURE__ */ jsx21(Txt, { variant: "caption", tone: "secondary", style: styles12.caption, children: caption }) : null,
|
|
1702
|
+
children ? /* @__PURE__ */ jsx21(View16, { style: styles12.extra, children }) : null
|
|
1595
1703
|
] });
|
|
1596
1704
|
}
|
|
1597
1705
|
var styles12 = StyleSheet12.create({
|
|
@@ -1609,10 +1717,10 @@ var styles12 = StyleSheet12.create({
|
|
|
1609
1717
|
|
|
1610
1718
|
// src/native/progress.tsx
|
|
1611
1719
|
import * as React14 from "react";
|
|
1612
|
-
import { Animated as Animated11, Easing as Easing7, StyleSheet as StyleSheet13, View as
|
|
1613
|
-
import
|
|
1614
|
-
import { jsx as
|
|
1615
|
-
var AnimatedCircle = Animated11.createAnimatedComponent(
|
|
1720
|
+
import { Animated as Animated11, Easing as Easing7, StyleSheet as StyleSheet13, View as View17 } from "react-native";
|
|
1721
|
+
import Svg10, { Circle as Circle8, Defs as Defs9, LinearGradient as LinearGradient9, Rect as Rect3, Stop as Stop9 } from "react-native-svg";
|
|
1722
|
+
import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1723
|
+
var AnimatedCircle = Animated11.createAnimatedComponent(Circle8);
|
|
1616
1724
|
var BAR = { sm: 4, md: 8, lg: 12 };
|
|
1617
1725
|
var RING = { sm: 40, md: 80, lg: 144 };
|
|
1618
1726
|
var STROKE = { sm: 12, md: 9, lg: 7 };
|
|
@@ -1653,9 +1761,9 @@ function Progress({ variant = "bar", size = "md", value, max = 100, label, value
|
|
|
1653
1761
|
"aria-valuenow": known ? Math.min(max, Math.max(0, value)) : void 0,
|
|
1654
1762
|
"aria-valuetext": known ? valueText ?? `${percent}%` : valueText
|
|
1655
1763
|
};
|
|
1656
|
-
const gradient = /* @__PURE__ */
|
|
1657
|
-
/* @__PURE__ */
|
|
1658
|
-
/* @__PURE__ */
|
|
1764
|
+
const gradient = /* @__PURE__ */ jsx22(Defs9, { children: /* @__PURE__ */ jsxs18(LinearGradient9, { id, x1: "0", y1: "0", x2: "1", y2: variant === "ring" ? "1" : "0", children: [
|
|
1765
|
+
/* @__PURE__ */ jsx22(Stop9, { offset: "0", stopColor: theme.accent }),
|
|
1766
|
+
/* @__PURE__ */ jsx22(Stop9, { offset: "1", stopColor: theme.accent2 })
|
|
1659
1767
|
] }) });
|
|
1660
1768
|
if (variant === "ring") {
|
|
1661
1769
|
const side = RING[size];
|
|
@@ -1664,11 +1772,11 @@ function Progress({ variant = "bar", size = "md", value, max = 100, label, value
|
|
|
1664
1772
|
const circumference = 2 * Math.PI * r;
|
|
1665
1773
|
const offset = known ? progress.interpolate({ inputRange: [0, 1], outputRange: [circumference, 0] }) : circumference * 0.75;
|
|
1666
1774
|
const rotate = spin.interpolate({ inputRange: [0, 1], outputRange: ["0deg", "360deg"] });
|
|
1667
|
-
return /* @__PURE__ */
|
|
1668
|
-
/* @__PURE__ */
|
|
1775
|
+
return /* @__PURE__ */ jsxs18(View17, { ...a11y, style: [styles13.ring, { width: side, height: side }, style], children: [
|
|
1776
|
+
/* @__PURE__ */ jsx22(Animated11.View, { style: [StyleSheet13.absoluteFill, { transform: [{ rotate: known ? "-90deg" : rotate }] }], children: /* @__PURE__ */ jsxs18(Svg10, { width: side, height: side, viewBox: "0 0 100 100", children: [
|
|
1669
1777
|
gradient,
|
|
1670
|
-
/* @__PURE__ */
|
|
1671
|
-
/* @__PURE__ */
|
|
1778
|
+
/* @__PURE__ */ jsx22(Circle8, { cx: 50, cy: 50, r, fill: "none", stroke: theme.borderDefault, strokeWidth: stroke }),
|
|
1779
|
+
/* @__PURE__ */ jsx22(
|
|
1672
1780
|
AnimatedCircle,
|
|
1673
1781
|
{
|
|
1674
1782
|
cx: 50,
|
|
@@ -1688,15 +1796,15 @@ function Progress({ variant = "bar", size = "md", value, max = 100, label, value
|
|
|
1688
1796
|
}
|
|
1689
1797
|
const width = known ? progress.interpolate({ inputRange: [0, 1], outputRange: ["0%", "100%"] }) : "40%";
|
|
1690
1798
|
const translate = spin.interpolate({ inputRange: [0, 1], outputRange: [-0.4 * track, track] });
|
|
1691
|
-
return /* @__PURE__ */
|
|
1692
|
-
|
|
1799
|
+
return /* @__PURE__ */ jsx22(
|
|
1800
|
+
View17,
|
|
1693
1801
|
{
|
|
1694
1802
|
...a11y,
|
|
1695
1803
|
onLayout: known ? void 0 : (event) => setTrack(event.nativeEvent.layout.width),
|
|
1696
1804
|
style: [styles13.bar, { height: BAR[size], backgroundColor: theme.surface3 }, style],
|
|
1697
|
-
children: /* @__PURE__ */
|
|
1805
|
+
children: /* @__PURE__ */ jsx22(Animated11.View, { style: [styles13.fill, { width }, known || reduce ? null : { transform: [{ translateX: translate }] }], children: /* @__PURE__ */ jsxs18(Svg10, { width: "100%", height: "100%", preserveAspectRatio: "none", children: [
|
|
1698
1806
|
gradient,
|
|
1699
|
-
/* @__PURE__ */
|
|
1807
|
+
/* @__PURE__ */ jsx22(Rect3, { x: 0, y: 0, width: "100%", height: "100%", fill: `url(#${id})` })
|
|
1700
1808
|
] }) })
|
|
1701
1809
|
}
|
|
1702
1810
|
);
|
|
@@ -1709,9 +1817,9 @@ var styles13 = StyleSheet13.create({
|
|
|
1709
1817
|
|
|
1710
1818
|
// src/native/search-field.tsx
|
|
1711
1819
|
import * as React15 from "react";
|
|
1712
|
-
import { Pressable as Pressable5, StyleSheet as StyleSheet14, TextInput, View as
|
|
1713
|
-
import
|
|
1714
|
-
import { jsx as
|
|
1820
|
+
import { Pressable as Pressable5, StyleSheet as StyleSheet14, TextInput, View as View18 } from "react-native";
|
|
1821
|
+
import Svg11, { Circle as Circle9, Path as Path9 } from "react-native-svg";
|
|
1822
|
+
import { jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1715
1823
|
function SearchField({ label, value, defaultValue = "", onValueChange, onSearch, debounce = 300, onSubmit, clearLabel, style, placeholder, ...props }) {
|
|
1716
1824
|
const { theme, radius: radius3 } = useTheme();
|
|
1717
1825
|
const [own, setOwn] = React15.useState(defaultValue);
|
|
@@ -1724,12 +1832,12 @@ function SearchField({ label, value, defaultValue = "", onValueChange, onSearch,
|
|
|
1724
1832
|
clearTimeout(timer2.current);
|
|
1725
1833
|
if (onSearch) timer2.current = setTimeout(() => onSearch(next), debounce);
|
|
1726
1834
|
};
|
|
1727
|
-
return /* @__PURE__ */
|
|
1728
|
-
/* @__PURE__ */
|
|
1729
|
-
/* @__PURE__ */
|
|
1730
|
-
/* @__PURE__ */
|
|
1835
|
+
return /* @__PURE__ */ jsxs19(View18, { style: [styles14.frame, { borderRadius: radius3.md, borderColor: theme.borderDefault, backgroundColor: theme.surface2 }, style], children: [
|
|
1836
|
+
/* @__PURE__ */ jsxs19(Svg11, { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", stroke: theme.textSecondary, strokeWidth: 2, strokeLinecap: "round", "aria-hidden": true, children: [
|
|
1837
|
+
/* @__PURE__ */ jsx23(Circle9, { cx: 11, cy: 11, r: 7 }),
|
|
1838
|
+
/* @__PURE__ */ jsx23(Path9, { d: "m20 20-3.5-3.5" })
|
|
1731
1839
|
] }),
|
|
1732
|
-
/* @__PURE__ */
|
|
1840
|
+
/* @__PURE__ */ jsx23(
|
|
1733
1841
|
TextInput,
|
|
1734
1842
|
{
|
|
1735
1843
|
role: "searchbox",
|
|
@@ -1751,7 +1859,7 @@ function SearchField({ label, value, defaultValue = "", onValueChange, onSearch,
|
|
|
1751
1859
|
...props
|
|
1752
1860
|
}
|
|
1753
1861
|
),
|
|
1754
|
-
query ? /* @__PURE__ */
|
|
1862
|
+
query ? /* @__PURE__ */ jsx23(Pressable5, { role: "button", "aria-label": clearLabel, hitSlop: 10, onPress: () => change(""), style: styles14.clear, children: /* @__PURE__ */ jsx23(Svg11, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: theme.textSecondary, strokeWidth: 2.4, strokeLinecap: "round", "aria-hidden": true, children: /* @__PURE__ */ jsx23(Path9, { d: "M18 6 6 18M6 6l12 12" }) }) }) : null
|
|
1755
1863
|
] });
|
|
1756
1864
|
}
|
|
1757
1865
|
var styles14 = StyleSheet14.create({
|
|
@@ -1761,19 +1869,19 @@ var styles14 = StyleSheet14.create({
|
|
|
1761
1869
|
});
|
|
1762
1870
|
|
|
1763
1871
|
// src/native/segmented.tsx
|
|
1764
|
-
import { Pressable as Pressable6, StyleSheet as StyleSheet15, Text as Text7, View as
|
|
1765
|
-
import { jsx as
|
|
1872
|
+
import { Pressable as Pressable6, StyleSheet as StyleSheet15, Text as Text7, View as View19 } from "react-native";
|
|
1873
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1766
1874
|
function Segmented({ options, value, onValueChange, size = "md", "aria-label": label, style }) {
|
|
1767
1875
|
const { theme, radius: radius3 } = useTheme();
|
|
1768
|
-
return /* @__PURE__ */
|
|
1769
|
-
|
|
1876
|
+
return /* @__PURE__ */ jsx24(
|
|
1877
|
+
View19,
|
|
1770
1878
|
{
|
|
1771
1879
|
role: "tablist",
|
|
1772
1880
|
"aria-label": label,
|
|
1773
1881
|
style: [styles15.track, { backgroundColor: theme.surface2, borderColor: theme.borderSubtle, borderRadius: radius3.md, height: size === "sm" ? 32 : 40 }, style],
|
|
1774
1882
|
children: options.map((option) => {
|
|
1775
1883
|
const selected = option.value === value;
|
|
1776
|
-
return /* @__PURE__ */
|
|
1884
|
+
return /* @__PURE__ */ jsx24(
|
|
1777
1885
|
Pressable6,
|
|
1778
1886
|
{
|
|
1779
1887
|
role: "tab",
|
|
@@ -1789,7 +1897,7 @@ function Segmented({ options, value, onValueChange, size = "md", "aria-label": l
|
|
|
1789
1897
|
selected ? { backgroundColor: theme.surface0, borderColor: theme.borderDefault } : null,
|
|
1790
1898
|
option.disabled ? styles15.disabled : null
|
|
1791
1899
|
],
|
|
1792
|
-
children: /* @__PURE__ */
|
|
1900
|
+
children: /* @__PURE__ */ jsx24(Text7, { numberOfLines: 1, style: [styles15.label, { color: selected ? theme.textPrimary : theme.textSecondary, fontSize: size === "sm" ? 12 : 13 }], children: option.label })
|
|
1793
1901
|
},
|
|
1794
1902
|
option.value
|
|
1795
1903
|
);
|
|
@@ -1807,7 +1915,7 @@ var styles15 = StyleSheet15.create({
|
|
|
1807
1915
|
// src/native/skeleton.tsx
|
|
1808
1916
|
import * as React16 from "react";
|
|
1809
1917
|
import { Animated as Animated12 } from "react-native";
|
|
1810
|
-
import { jsx as
|
|
1918
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
1811
1919
|
var SHAPE = {
|
|
1812
1920
|
text: { width: "100%", height: 12, radius: 4 },
|
|
1813
1921
|
circle: { width: 40, height: 40, radius: 9999 },
|
|
@@ -1833,7 +1941,7 @@ function Skeleton({ shape = "text", width, height, style, testID }) {
|
|
|
1833
1941
|
}, [reduce, opacity]);
|
|
1834
1942
|
const s = SHAPE[shape];
|
|
1835
1943
|
const side = shape === "circle" ? width ?? height ?? s.width : void 0;
|
|
1836
|
-
return /* @__PURE__ */
|
|
1944
|
+
return /* @__PURE__ */ jsx25(
|
|
1837
1945
|
Animated12.View,
|
|
1838
1946
|
{
|
|
1839
1947
|
testID,
|
|
@@ -1848,10 +1956,10 @@ function Skeleton({ shape = "text", width, height, style, testID }) {
|
|
|
1848
1956
|
|
|
1849
1957
|
// src/native/spinner.tsx
|
|
1850
1958
|
import { ActivityIndicator as ActivityIndicator2 } from "react-native";
|
|
1851
|
-
import { jsx as
|
|
1959
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
1852
1960
|
function Spinner({ label, size = "md", ...props }) {
|
|
1853
1961
|
const { theme } = useTheme();
|
|
1854
|
-
return /* @__PURE__ */
|
|
1962
|
+
return /* @__PURE__ */ jsx26(
|
|
1855
1963
|
ActivityIndicator2,
|
|
1856
1964
|
{
|
|
1857
1965
|
accessible: true,
|
|
@@ -1867,8 +1975,8 @@ function Spinner({ label, size = "md", ...props }) {
|
|
|
1867
1975
|
|
|
1868
1976
|
// src/native/toast.tsx
|
|
1869
1977
|
import * as React17 from "react";
|
|
1870
|
-
import { AccessibilityInfo as AccessibilityInfo8, Animated as Animated13, Pressable as Pressable7, StyleSheet as StyleSheet16, Text as Text8, View as
|
|
1871
|
-
import { Fragment as Fragment3, jsx as
|
|
1978
|
+
import { AccessibilityInfo as AccessibilityInfo8, Animated as Animated13, Pressable as Pressable7, StyleSheet as StyleSheet16, Text as Text8, View as View20 } from "react-native";
|
|
1979
|
+
import { Fragment as Fragment3, jsx as jsx27, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1872
1980
|
var items = [];
|
|
1873
1981
|
var listeners2 = /* @__PURE__ */ new Set();
|
|
1874
1982
|
var counter = 0;
|
|
@@ -1918,15 +2026,15 @@ function ToastView({ item, closeLabel, duration }) {
|
|
|
1918
2026
|
return () => clearTimeout(timer2);
|
|
1919
2027
|
}, [item.id, ms]);
|
|
1920
2028
|
const edge = { success: theme.success, warning: theme.warning, error: theme.danger, info: theme.info, default: theme.borderDefault }[item.tone ?? "default"];
|
|
1921
|
-
const text = /* @__PURE__ */
|
|
1922
|
-
item.icon ? /* @__PURE__ */
|
|
1923
|
-
/* @__PURE__ */
|
|
1924
|
-
/* @__PURE__ */
|
|
1925
|
-
item.description ? /* @__PURE__ */
|
|
2029
|
+
const text = /* @__PURE__ */ jsxs20(Fragment3, { children: [
|
|
2030
|
+
item.icon ? /* @__PURE__ */ jsx27(View20, { "aria-hidden": true, children: item.icon }) : null,
|
|
2031
|
+
/* @__PURE__ */ jsxs20(View20, { style: styles16.content, children: [
|
|
2032
|
+
/* @__PURE__ */ jsx27(Txt, { variant: "label", numberOfLines: 2, children: item.title }),
|
|
2033
|
+
item.description ? /* @__PURE__ */ jsx27(Txt, { variant: "caption", tone: "secondary", numberOfLines: 3, children: item.description }) : null
|
|
1926
2034
|
] })
|
|
1927
2035
|
] });
|
|
1928
|
-
const body = /* @__PURE__ */
|
|
1929
|
-
item.onPress ? /* @__PURE__ */
|
|
2036
|
+
const body = /* @__PURE__ */ jsxs20(Fragment3, { children: [
|
|
2037
|
+
item.onPress ? /* @__PURE__ */ jsx27(
|
|
1930
2038
|
Pressable7,
|
|
1931
2039
|
{
|
|
1932
2040
|
role: "button",
|
|
@@ -1937,8 +2045,8 @@ function ToastView({ item, closeLabel, duration }) {
|
|
|
1937
2045
|
style: ({ pressed }) => [styles16.main, { opacity: pressed ? 0.8 : 1 }],
|
|
1938
2046
|
children: text
|
|
1939
2047
|
}
|
|
1940
|
-
) : /* @__PURE__ */
|
|
1941
|
-
item.action ? /* @__PURE__ */
|
|
2048
|
+
) : /* @__PURE__ */ jsx27(View20, { style: styles16.main, children: text }),
|
|
2049
|
+
item.action ? /* @__PURE__ */ jsx27(
|
|
1942
2050
|
Pressable7,
|
|
1943
2051
|
{
|
|
1944
2052
|
role: "button",
|
|
@@ -1947,23 +2055,23 @@ function ToastView({ item, closeLabel, duration }) {
|
|
|
1947
2055
|
dismiss(item.id);
|
|
1948
2056
|
},
|
|
1949
2057
|
style: [styles16.action, { backgroundColor: theme.accent, borderRadius: radius3.sm }],
|
|
1950
|
-
children: /* @__PURE__ */
|
|
2058
|
+
children: /* @__PURE__ */ jsx27(Text8, { style: [styles16.actionLabel, { color: theme.onAccent }], children: item.action.label })
|
|
1951
2059
|
}
|
|
1952
2060
|
) : null,
|
|
1953
|
-
/* @__PURE__ */
|
|
2061
|
+
/* @__PURE__ */ jsx27(Pressable7, { role: "button", "aria-label": closeLabel, hitSlop: 10, onPress: () => dismiss(item.id), style: styles16.close, children: /* @__PURE__ */ jsx27(Text8, { style: [styles16.cross, { color: theme.textSecondary }], children: "\xD7" }) })
|
|
1954
2062
|
] });
|
|
1955
2063
|
const frame = [
|
|
1956
2064
|
styles16.toast,
|
|
1957
2065
|
{ backgroundColor: theme.surface2, borderColor: theme.borderDefault, borderLeftColor: edge, borderRadius: radius3.lg, shadowColor: theme.scrimStrong }
|
|
1958
2066
|
];
|
|
1959
2067
|
const motion3 = { transform: [{ translateY: enter.interpolate({ inputRange: [0, 1], outputRange: [-8, 0] }) }] };
|
|
1960
|
-
return /* @__PURE__ */
|
|
2068
|
+
return /* @__PURE__ */ jsx27(Animated13.View, { "aria-live": "polite", style: motion3, children: /* @__PURE__ */ jsx27(View20, { style: frame, children: body }) });
|
|
1961
2069
|
}
|
|
1962
2070
|
function Toaster({ closeLabel, position = "top", offset = 12, duration = 6e3, max = 3 }) {
|
|
1963
2071
|
const all = React17.useSyncExternalStore(subscribe2, snapshot, snapshot);
|
|
1964
2072
|
const shown = all.slice(-max);
|
|
1965
2073
|
if (shown.length === 0) return null;
|
|
1966
|
-
return /* @__PURE__ */
|
|
2074
|
+
return /* @__PURE__ */ jsx27(View20, { pointerEvents: "box-none", style: [styles16.stack, position === "top" ? { top: offset } : { bottom: offset }], children: (position === "top" ? shown : [...shown].reverse()).map((item) => /* @__PURE__ */ jsx27(ToastView, { item, closeLabel, duration }, item.id)) });
|
|
1967
2075
|
}
|
|
1968
2076
|
var styles16 = StyleSheet16.create({
|
|
1969
2077
|
stack: { position: "absolute", left: 12, right: 12, gap: 8, zIndex: 100 },
|
|
@@ -2028,6 +2136,7 @@ export {
|
|
|
2028
2136
|
Txt,
|
|
2029
2137
|
WelcomeState,
|
|
2030
2138
|
YazakiaMark,
|
|
2139
|
+
YororisMark,
|
|
2031
2140
|
alpha,
|
|
2032
2141
|
splitDuration,
|
|
2033
2142
|
textStyles,
|