@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.
Files changed (307) hide show
  1. package/README.md +44 -6
  2. package/dist/audio-player.js +1 -1
  3. package/dist/blocks.css +247 -0
  4. package/dist/catalogue-page.d.ts +34 -0
  5. package/dist/catalogue-page.js +26 -0
  6. package/dist/catalogue-page.js.map +1 -0
  7. package/dist/changelog-page.d.ts +50 -0
  8. package/dist/changelog-page.js +27 -0
  9. package/dist/changelog-page.js.map +1 -0
  10. package/dist/{chunk-EUPTXKH7.js → chunk-BRKMQ6JV.js} +2 -1
  11. package/dist/chunk-FDCMBWUU.js +168 -0
  12. package/dist/chunk-FDCMBWUU.js.map +1 -0
  13. package/dist/chunk-HCNOOPZE.js +210 -0
  14. package/dist/chunk-HCNOOPZE.js.map +1 -0
  15. package/dist/{chunk-NOVUREEC.js → chunk-JZPVUJIX.js} +25 -3
  16. package/dist/chunk-JZPVUJIX.js.map +1 -0
  17. package/dist/chunk-KNBYZGSQ.js +11 -0
  18. package/dist/chunk-KNBYZGSQ.js.map +1 -0
  19. package/dist/{chunk-X6TW3X6Y.js → chunk-LCZXS6AK.js} +2 -2
  20. package/dist/chunk-OGJI5X4W.js +157 -0
  21. package/dist/chunk-OGJI5X4W.js.map +1 -0
  22. package/dist/combobox.js +2 -2
  23. package/dist/component-page.d.ts +41 -0
  24. package/dist/component-page.js +17 -0
  25. package/dist/component-page.js.map +1 -0
  26. package/dist/contact-page.d.ts +31 -0
  27. package/dist/contact-page.js +26 -0
  28. package/dist/contact-page.js.map +1 -0
  29. package/dist/data-table.d.ts +284 -24
  30. package/dist/data-table.js +914 -121
  31. package/dist/data-table.js.map +1 -1
  32. package/dist/date-picker.js +1 -1
  33. package/dist/docs-article-page.d.ts +54 -0
  34. package/dist/docs-article-page.js +29 -0
  35. package/dist/docs-article-page.js.map +1 -0
  36. package/dist/docs-hub-page.d.ts +72 -0
  37. package/dist/docs-hub-page.js +45 -0
  38. package/dist/docs-hub-page.js.map +1 -0
  39. package/dist/error-page.d.ts +22 -0
  40. package/dist/error-page.js +23 -0
  41. package/dist/error-page.js.map +1 -0
  42. package/dist/filter-bar.d.ts +12 -12
  43. package/dist/filter-bar.js +9 -145
  44. package/dist/filter-bar.js.map +1 -1
  45. package/dist/gallery-page.d.ts +50 -0
  46. package/dist/gallery-page.js +30 -0
  47. package/dist/gallery-page.js.map +1 -0
  48. package/dist/{geometry-CXrAW34x.d.ts → geometry-CbOU4rtL.d.ts} +4 -4
  49. package/dist/how-it-works-page.d.ts +48 -0
  50. package/dist/how-it-works-page.js +28 -0
  51. package/dist/how-it-works-page.js.map +1 -0
  52. package/dist/image-cropper.js +1 -1
  53. package/dist/index.d.ts +11 -2
  54. package/dist/index.js +93 -5
  55. package/dist/index.js.map +1 -1
  56. package/dist/landing-page.d.ts +58 -0
  57. package/dist/landing-page.js +42 -0
  58. package/dist/landing-page.js.map +1 -0
  59. package/dist/legal-page.d.ts +34 -0
  60. package/dist/legal-page.js +18 -0
  61. package/dist/legal-page.js.map +1 -0
  62. package/dist/longform-page.d.ts +42 -0
  63. package/dist/longform-page.js +29 -0
  64. package/dist/longform-page.js.map +1 -0
  65. package/dist/mascot-quote.d.ts +4 -4
  66. package/dist/mascot-quote.js +23 -1
  67. package/dist/mascot-quote.js.map +1 -1
  68. package/dist/mascot-state.d.ts +2 -2
  69. package/dist/mascot-state.js +1 -1
  70. package/dist/mascot-state.js.map +1 -1
  71. package/dist/mascots.d.ts +4 -4
  72. package/dist/mascots.js +1 -1
  73. package/dist/media-capture.js +1 -1
  74. package/dist/native/list.d.ts +95 -0
  75. package/dist/native/list.js +135 -0
  76. package/dist/native/list.js.map +1 -0
  77. package/dist/native.d.ts +16 -9
  78. package/dist/native.js +183 -74
  79. package/dist/native.js.map +1 -1
  80. package/dist/pricing-page.d.ts +62 -0
  81. package/dist/pricing-page.js +71 -0
  82. package/dist/pricing-page.js.map +1 -0
  83. package/dist/product-page.d.ts +83 -0
  84. package/dist/product-page.js +60 -0
  85. package/dist/product-page.js.map +1 -0
  86. package/dist/search-field.js +6 -160
  87. package/dist/search-field.js.map +1 -1
  88. package/dist/status-page.d.ts +42 -0
  89. package/dist/status-page.js +28 -0
  90. package/dist/status-page.js.map +1 -0
  91. package/dist/tag-input.js +2 -2
  92. package/dist/video-player.js +1 -1
  93. package/dist/video-trimmer.js +1 -1
  94. package/dist/virtual.d.ts +140 -0
  95. package/dist/virtual.js +19 -0
  96. package/dist/virtual.js.map +1 -0
  97. package/package.json +296 -10
  98. package/registry/achievement.json +1 -1
  99. package/registry/action-bar.json +1 -1
  100. package/registry/alert.json +1 -1
  101. package/registry/app-shell.json +1 -1
  102. package/registry/argument-card.json +1 -1
  103. package/registry/audio-player.json +1 -1
  104. package/registry/auth-layout.json +1 -1
  105. package/registry/avatar.json +1 -1
  106. package/registry/badge.json +1 -1
  107. package/registry/button.json +1 -1
  108. package/registry/card-grid.json +1 -1
  109. package/registry/card.json +1 -1
  110. package/registry/catalogue-page.json +240 -0
  111. package/registry/changelog-page.json +226 -0
  112. package/registry/checkbox.json +1 -1
  113. package/registry/chip-link.json +1 -1
  114. package/registry/chip.json +1 -1
  115. package/registry/choice-grid.json +1 -1
  116. package/registry/code-block.json +1 -1
  117. package/registry/combobox.json +1 -1
  118. package/registry/command.json +1 -1
  119. package/registry/component-page.json +227 -0
  120. package/registry/confirm-button.json +1 -1
  121. package/registry/contact-page.json +212 -0
  122. package/registry/continue-prompt.json +1 -1
  123. package/registry/countdown.json +1 -1
  124. package/registry/cta-panel.json +1 -1
  125. package/registry/dashboard-layout.json +1 -1
  126. package/registry/data-table.json +643 -49
  127. package/registry/date-picker.json +1 -1
  128. package/registry/decision-list.json +1 -1
  129. package/registry/detail-layout.json +1 -1
  130. package/registry/dialog.json +1 -1
  131. package/registry/docs-article-page.json +242 -0
  132. package/registry/docs-hub-page.json +270 -0
  133. package/registry/docs-layout.json +1 -1
  134. package/registry/dropdown-menu.json +1 -1
  135. package/registry/empty-state.json +1 -1
  136. package/registry/error-page.json +183 -0
  137. package/registry/examples/catalogue-page/components.d.ts +4 -0
  138. package/registry/examples/catalogue-page/components.js +33 -0
  139. package/registry/examples/catalogue-page/components.tsx +36 -0
  140. package/registry/examples/changelog-page/releases.d.ts +4 -0
  141. package/registry/examples/changelog-page/releases.js +44 -0
  142. package/registry/examples/changelog-page/releases.tsx +39 -0
  143. package/registry/examples/component-page/button.d.ts +4 -0
  144. package/registry/examples/component-page/button.js +33 -0
  145. package/registry/examples/component-page/button.tsx +30 -0
  146. package/registry/examples/contact-page/team.d.ts +4 -0
  147. package/registry/examples/contact-page/team.js +39 -0
  148. package/registry/examples/contact-page/team.tsx +38 -0
  149. package/registry/examples/data-table/details.d.ts +4 -0
  150. package/registry/examples/data-table/details.js +33 -0
  151. package/registry/examples/data-table/details.tsx +31 -0
  152. package/registry/examples/data-table/filters.d.ts +4 -0
  153. package/registry/examples/data-table/filters.js +40 -0
  154. package/registry/examples/data-table/filters.tsx +40 -0
  155. package/registry/examples/data-table/grouped.d.ts +4 -0
  156. package/registry/examples/data-table/grouped.js +24 -0
  157. package/registry/examples/data-table/grouped.tsx +23 -0
  158. package/registry/examples/data-table/paginated.d.ts +4 -0
  159. package/registry/examples/data-table/paginated.js +23 -0
  160. package/registry/examples/data-table/paginated.tsx +22 -0
  161. package/registry/examples/data-table/pinned.d.ts +4 -0
  162. package/registry/examples/data-table/pinned.js +26 -0
  163. package/registry/examples/data-table/pinned.tsx +25 -0
  164. package/registry/examples/data-table/server.d.ts +4 -0
  165. package/registry/examples/data-table/server.js +40 -0
  166. package/registry/examples/data-table/server.tsx +40 -0
  167. package/registry/examples/data-table/virtualized.js +2 -2
  168. package/registry/examples/data-table/virtualized.tsx +3 -3
  169. package/registry/examples/docs-article-page/cli.d.ts +4 -0
  170. package/registry/examples/docs-article-page/cli.js +33 -0
  171. package/registry/examples/docs-article-page/cli.tsx +38 -0
  172. package/registry/examples/docs-hub-page/krizaka.d.ts +4 -0
  173. package/registry/examples/docs-hub-page/krizaka.js +46 -0
  174. package/registry/examples/docs-hub-page/krizaka.tsx +37 -0
  175. package/registry/examples/error-page/not-found.d.ts +4 -0
  176. package/registry/examples/error-page/not-found.js +24 -0
  177. package/registry/examples/error-page/not-found.tsx +19 -0
  178. package/registry/examples/gallery-page/made-here.d.ts +4 -0
  179. package/registry/examples/gallery-page/made-here.js +34 -0
  180. package/registry/examples/gallery-page/made-here.tsx +32 -0
  181. package/registry/examples/how-it-works-page/orazaka.d.ts +4 -0
  182. package/registry/examples/how-it-works-page/orazaka.js +30 -0
  183. package/registry/examples/how-it-works-page/orazaka.tsx +26 -0
  184. package/registry/examples/landing-page/krizaka.d.ts +4 -0
  185. package/registry/examples/landing-page/krizaka.js +44 -0
  186. package/registry/examples/landing-page/krizaka.tsx +44 -0
  187. package/registry/examples/legal-page/privacy.d.ts +4 -0
  188. package/registry/examples/legal-page/privacy.js +24 -0
  189. package/registry/examples/legal-page/privacy.tsx +19 -0
  190. package/registry/examples/list/native/default.d.ts +4 -0
  191. package/registry/examples/list/native/default.dark.png +0 -0
  192. package/registry/examples/list/native/default.js +33 -0
  193. package/registry/examples/list/native/default.light.png +0 -0
  194. package/registry/examples/list/native/default.tsx +31 -0
  195. package/registry/examples/list/native/infinite.d.ts +4 -0
  196. package/registry/examples/list/native/infinite.dark.png +0 -0
  197. package/registry/examples/list/native/infinite.js +30 -0
  198. package/registry/examples/list/native/infinite.light.png +0 -0
  199. package/registry/examples/list/native/infinite.tsx +35 -0
  200. package/registry/examples/list/native/states.d.ts +4 -0
  201. package/registry/examples/list/native/states.dark.png +0 -0
  202. package/registry/examples/list/native/states.js +26 -0
  203. package/registry/examples/list/native/states.light.png +0 -0
  204. package/registry/examples/list/native/states.tsx +21 -0
  205. package/registry/examples/longform-page/story.d.ts +4 -0
  206. package/registry/examples/longform-page/story.js +38 -0
  207. package/registry/examples/longform-page/story.tsx +35 -0
  208. package/registry/examples/mascots/crane.d.ts +4 -0
  209. package/registry/examples/mascots/crane.js +19 -0
  210. package/registry/examples/mascots/crane.tsx +18 -0
  211. package/registry/examples/mascots/flock.tsx +2 -1
  212. package/registry/examples/mascots/native/crane.d.ts +4 -0
  213. package/registry/examples/mascots/native/crane.dark.png +0 -0
  214. package/registry/examples/mascots/native/crane.js +21 -0
  215. package/registry/examples/mascots/native/crane.light.png +0 -0
  216. package/registry/examples/mascots/native/crane.tsx +18 -0
  217. package/registry/examples/pricing-page/credits.d.ts +4 -0
  218. package/registry/examples/pricing-page/credits.js +41 -0
  219. package/registry/examples/pricing-page/credits.tsx +33 -0
  220. package/registry/examples/product-page/orazaka.d.ts +4 -0
  221. package/registry/examples/product-page/orazaka.js +44 -0
  222. package/registry/examples/product-page/orazaka.tsx +36 -0
  223. package/registry/examples/status-page/building.d.ts +4 -0
  224. package/registry/examples/status-page/building.js +29 -0
  225. package/registry/examples/status-page/building.tsx +25 -0
  226. package/registry/examples/status-page/operational.d.ts +4 -0
  227. package/registry/examples/status-page/operational.js +26 -0
  228. package/registry/examples/status-page/operational.tsx +20 -0
  229. package/registry/examples/virtual/feed.d.ts +4 -0
  230. package/registry/examples/virtual/feed.js +26 -0
  231. package/registry/examples/virtual/feed.tsx +24 -0
  232. package/registry/examples/virtual/gallery.d.ts +4 -0
  233. package/registry/examples/virtual/gallery.js +31 -0
  234. package/registry/examples/virtual/gallery.tsx +28 -0
  235. package/registry/examples/virtual/messages.d.ts +4 -0
  236. package/registry/examples/virtual/messages.js +28 -0
  237. package/registry/examples/virtual/messages.tsx +28 -0
  238. package/registry/field.json +1 -1
  239. package/registry/file-upload.json +1 -1
  240. package/registry/filter-bar.json +1 -1
  241. package/registry/gallery-page.json +256 -0
  242. package/registry/glow-card.json +1 -1
  243. package/registry/goal-gauge.json +1 -1
  244. package/registry/how-it-works-page.json +242 -0
  245. package/registry/image-cropper.json +1 -1
  246. package/registry/index.json +356 -9
  247. package/registry/iso.json +1 -1
  248. package/registry/kbd.json +1 -1
  249. package/registry/landing-page.json +242 -0
  250. package/registry/landscape.json +1 -1
  251. package/registry/legal-page.json +199 -0
  252. package/registry/link-card.json +1 -1
  253. package/registry/list.json +249 -0
  254. package/registry/loader.json +1 -1
  255. package/registry/longform-page.json +213 -0
  256. package/registry/marketing-layout.json +1 -1
  257. package/registry/marquee.json +1 -1
  258. package/registry/mascot-quote.json +6 -6
  259. package/registry/mascot-state.json +34 -34
  260. package/registry/mascots.json +41 -21
  261. package/registry/media-capture.json +1 -1
  262. package/registry/meter.json +1 -1
  263. package/registry/nav-bar.json +1 -1
  264. package/registry/number-ticker.json +1 -1
  265. package/registry/page-header.json +1 -1
  266. package/registry/page-hero.json +1 -1
  267. package/registry/page.json +1 -1
  268. package/registry/pagination.json +1 -1
  269. package/registry/pointer-light.json +1 -1
  270. package/registry/popover.json +1 -1
  271. package/registry/pricing-page.json +245 -0
  272. package/registry/product-page.json +319 -0
  273. package/registry/profile-card.json +1 -1
  274. package/registry/progress.json +1 -1
  275. package/registry/promise-card.json +1 -1
  276. package/registry/radio-group.json +1 -1
  277. package/registry/scroll-stage.json +1 -1
  278. package/registry/search-field.json +1 -1
  279. package/registry/section-backdrop.json +1 -1
  280. package/registry/separator.json +1 -1
  281. package/registry/settings-layout.json +1 -1
  282. package/registry/skeleton.json +1 -1
  283. package/registry/slider.json +1 -1
  284. package/registry/slot.json +1 -1
  285. package/registry/spinner.json +1 -1
  286. package/registry/split-view.json +1 -1
  287. package/registry/stage-banner.json +1 -1
  288. package/registry/stat.json +1 -1
  289. package/registry/status-page.json +263 -0
  290. package/registry/stepper.json +1 -1
  291. package/registry/switch.json +1 -1
  292. package/registry/tabs.json +1 -1
  293. package/registry/tag-input.json +1 -1
  294. package/registry/terminal-replay.json +1 -1
  295. package/registry/theme.json +1 -1
  296. package/registry/toast.json +1 -1
  297. package/registry/toc.json +1 -1
  298. package/registry/tooltip.json +1 -1
  299. package/registry/video-player.json +1 -1
  300. package/registry/video-trimmer.json +1 -1
  301. package/registry/virtual.json +569 -0
  302. package/skills/data-table/SKILL.md +56 -0
  303. package/skills/native-list/SKILL.md +39 -0
  304. package/skills/virtual/SKILL.md +35 -0
  305. package/dist/chunk-NOVUREEC.js.map +0 -1
  306. /package/dist/{chunk-EUPTXKH7.js.map → chunk-BRKMQ6JV.js.map} +0 -0
  307. /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 jsx19 } from "react/jsx-runtime";
1641
+ import { jsx as jsx20 } from "react/jsx-runtime";
1535
1642
  function ProductMark({ id, ...props }) {
1536
- if (id === "krizaka") return /* @__PURE__ */ jsx19(KrizakaMark, { ...props });
1537
- if (id === "orazaka") return /* @__PURE__ */ jsx19(OrazakaMark, { ...props });
1538
- if (id === "yazakia") return /* @__PURE__ */ jsx19(YazakiaMark, { ...props });
1539
- return /* @__PURE__ */ jsx19(OrochiaMark, { ...props });
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 View15 } from "react-native";
1545
- import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
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__ */ jsx20(
1553
- View15,
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__ */ jsx20(Animated10.View, { style: [styles12.fill, { width: `${ratio * 100}%`, backgroundColor: theme.accent, transform: [{ translateX }] }] })
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__ */ jsxs16(View15, { ...props, style: [styles12.root, { backgroundColor: theme.surface1, borderColor: theme.borderSubtle, borderRadius: radius3.xl }, style], children: [
1572
- /* @__PURE__ */ jsx20(View15, { "aria-hidden": true, style: [styles12.disc, { backgroundColor: theme.surface2, borderColor: theme.accentSoft }], children: visual }),
1573
- /* @__PURE__ */ jsxs16(View15, { style: styles12.head, children: [
1574
- /* @__PURE__ */ jsx20(Txt, { variant: "title", style: styles12.name, children: name }),
1575
- statLabel ? /* @__PURE__ */ jsxs16(Txt, { variant: "caption", tone: "secondary", children: [
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__ */ jsx20(Txt, { variant: "caption", children: valueText ?? `${Math.round(ratio * 100)} %` })
1686
+ /* @__PURE__ */ jsx21(Txt, { variant: "caption", children: valueText ?? `${Math.round(ratio * 100)} %` })
1579
1687
  ] }) : null
1580
1688
  ] }),
1581
- statLabel ? /* @__PURE__ */ jsx20(Bar, { label: statLabel, ratio, words: valueText ?? `${Math.round(ratio * 100)} %`, animated, delay: 200 }) : null,
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__ */ jsxs16(View15, { style: styles12.stat, children: [
1586
- /* @__PURE__ */ jsxs16(View15, { "aria-hidden": true, style: styles12.statHead, children: [
1587
- /* @__PURE__ */ jsx20(Txt, { variant: "caption", tone: "secondary", children: s.label }),
1588
- /* @__PURE__ */ jsx20(Txt, { variant: "caption", children: words })
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__ */ jsx20(Bar, { label: s.label, ratio: r, words, animated, delay: 320 + i * 120 })
1698
+ /* @__PURE__ */ jsx21(Bar, { label: s.label, ratio: r, words, animated, delay: 320 + i * 120 })
1591
1699
  ] }, s.label);
1592
1700
  }),
1593
- caption ? /* @__PURE__ */ jsx20(Txt, { variant: "caption", tone: "secondary", style: styles12.caption, children: caption }) : null,
1594
- children ? /* @__PURE__ */ jsx20(View15, { style: styles12.extra, children }) : null
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 View16 } from "react-native";
1613
- import Svg9, { Circle as Circle7, Defs as Defs8, LinearGradient as LinearGradient8, Rect as Rect3, Stop as Stop8 } from "react-native-svg";
1614
- import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
1615
- var AnimatedCircle = Animated11.createAnimatedComponent(Circle7);
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__ */ jsx21(Defs8, { children: /* @__PURE__ */ jsxs17(LinearGradient8, { id, x1: "0", y1: "0", x2: "1", y2: variant === "ring" ? "1" : "0", children: [
1657
- /* @__PURE__ */ jsx21(Stop8, { offset: "0", stopColor: theme.accent }),
1658
- /* @__PURE__ */ jsx21(Stop8, { offset: "1", stopColor: theme.accent2 })
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__ */ jsxs17(View16, { ...a11y, style: [styles13.ring, { width: side, height: side }, style], children: [
1668
- /* @__PURE__ */ jsx21(Animated11.View, { style: [StyleSheet13.absoluteFill, { transform: [{ rotate: known ? "-90deg" : rotate }] }], children: /* @__PURE__ */ jsxs17(Svg9, { width: side, height: side, viewBox: "0 0 100 100", children: [
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__ */ jsx21(Circle7, { cx: 50, cy: 50, r, fill: "none", stroke: theme.borderDefault, strokeWidth: stroke }),
1671
- /* @__PURE__ */ jsx21(
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__ */ jsx21(
1692
- View16,
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__ */ jsx21(Animated11.View, { style: [styles13.fill, { width }, known || reduce ? null : { transform: [{ translateX: translate }] }], children: /* @__PURE__ */ jsxs17(Svg9, { width: "100%", height: "100%", preserveAspectRatio: "none", children: [
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__ */ jsx21(Rect3, { x: 0, y: 0, width: "100%", height: "100%", fill: `url(#${id})` })
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 View17 } from "react-native";
1713
- import Svg10, { Circle as Circle8, Path as Path8 } from "react-native-svg";
1714
- import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
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__ */ jsxs18(View17, { style: [styles14.frame, { borderRadius: radius3.md, borderColor: theme.borderDefault, backgroundColor: theme.surface2 }, style], children: [
1728
- /* @__PURE__ */ jsxs18(Svg10, { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", stroke: theme.textSecondary, strokeWidth: 2, strokeLinecap: "round", "aria-hidden": true, children: [
1729
- /* @__PURE__ */ jsx22(Circle8, { cx: 11, cy: 11, r: 7 }),
1730
- /* @__PURE__ */ jsx22(Path8, { d: "m20 20-3.5-3.5" })
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__ */ jsx22(
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__ */ jsx22(Pressable5, { role: "button", "aria-label": clearLabel, hitSlop: 10, onPress: () => change(""), style: styles14.clear, children: /* @__PURE__ */ jsx22(Svg10, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: theme.textSecondary, strokeWidth: 2.4, strokeLinecap: "round", "aria-hidden": true, children: /* @__PURE__ */ jsx22(Path8, { d: "M18 6 6 18M6 6l12 12" }) }) }) : null
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 View18 } from "react-native";
1765
- import { jsx as jsx23 } from "react/jsx-runtime";
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__ */ jsx23(
1769
- View18,
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__ */ jsx23(
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__ */ jsx23(Text7, { numberOfLines: 1, style: [styles15.label, { color: selected ? theme.textPrimary : theme.textSecondary, fontSize: size === "sm" ? 12 : 13 }], children: option.label })
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 jsx24 } from "react/jsx-runtime";
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__ */ jsx24(
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 jsx25 } from "react/jsx-runtime";
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__ */ jsx25(
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 View19 } from "react-native";
1871
- import { Fragment as Fragment3, jsx as jsx26, jsxs as jsxs19 } from "react/jsx-runtime";
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__ */ jsxs19(Fragment3, { children: [
1922
- item.icon ? /* @__PURE__ */ jsx26(View19, { "aria-hidden": true, children: item.icon }) : null,
1923
- /* @__PURE__ */ jsxs19(View19, { style: styles16.content, children: [
1924
- /* @__PURE__ */ jsx26(Txt, { variant: "label", numberOfLines: 2, children: item.title }),
1925
- item.description ? /* @__PURE__ */ jsx26(Txt, { variant: "caption", tone: "secondary", numberOfLines: 3, children: item.description }) : null
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__ */ jsxs19(Fragment3, { children: [
1929
- item.onPress ? /* @__PURE__ */ jsx26(
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__ */ jsx26(View19, { style: styles16.main, children: text }),
1941
- item.action ? /* @__PURE__ */ jsx26(
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__ */ jsx26(Text8, { style: [styles16.actionLabel, { color: theme.onAccent }], children: item.action.label })
2058
+ children: /* @__PURE__ */ jsx27(Text8, { style: [styles16.actionLabel, { color: theme.onAccent }], children: item.action.label })
1951
2059
  }
1952
2060
  ) : null,
1953
- /* @__PURE__ */ jsx26(Pressable7, { role: "button", "aria-label": closeLabel, hitSlop: 10, onPress: () => dismiss(item.id), style: styles16.close, children: /* @__PURE__ */ jsx26(Text8, { style: [styles16.cross, { color: theme.textSecondary }], children: "\xD7" }) })
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__ */ jsx26(Animated13.View, { "aria-live": "polite", style: motion3, children: /* @__PURE__ */ jsx26(View19, { style: frame, children: body }) });
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__ */ jsx26(View19, { pointerEvents: "box-none", style: [styles16.stack, position === "top" ? { top: offset } : { bottom: offset }], children: (position === "top" ? shown : [...shown].reverse()).map((item) => /* @__PURE__ */ jsx26(ToastView, { item, closeLabel, duration }, item.id)) });
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,