@ankhorage/zora 23.2.4 → 23.2.5

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 (174) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/package.json +3 -3
  4. package/web-dist/chunks/{Accordion-kmv2fp6m.js → Accordion-02d3sw7t.js} +10 -10
  5. package/web-dist/chunks/{Accordion-kpnwdpb5.js → Accordion-090whwtv.js} +2 -2
  6. package/web-dist/chunks/{Accordion-w6n8e1ff.js → Accordion-0f748ad5.js} +1 -1
  7. package/web-dist/chunks/{Accordion-99cj85ez.js → Accordion-0gfsj9qh.js} +1 -1
  8. package/web-dist/chunks/{Accordion-mm4kx13n.js → Accordion-11xym8p8.js} +8 -8
  9. package/web-dist/chunks/{Accordion-jnwa02s7.js → Accordion-19j1mncn.js} +4 -4
  10. package/web-dist/chunks/{Accordion-kemavggr.js → Accordion-1dppb4fr.js} +2 -2
  11. package/web-dist/chunks/{Accordion-ew71mmkm.js → Accordion-2z0415ed.js} +2 -2
  12. package/web-dist/chunks/{Accordion-rgyg9bw8.js → Accordion-3v7sz3vv.js} +1 -1
  13. package/web-dist/chunks/{Accordion-r1epjp5y.js → Accordion-3w1t105s.js} +3 -3
  14. package/web-dist/chunks/{Accordion-tyqds4zr.js → Accordion-40sj6k87.js} +3 -3
  15. package/web-dist/chunks/{Accordion-ejns5mga.js → Accordion-47mg9vze.js} +6 -6
  16. package/web-dist/chunks/{Accordion-x5ny2aax.js → Accordion-65kvpq6z.js} +1 -1
  17. package/web-dist/chunks/Accordion-6a2hscrx.js +50 -0
  18. package/web-dist/chunks/{Accordion-z8h1hn96.js → Accordion-6h4zc69v.js} +6 -6
  19. package/web-dist/chunks/{Accordion-f2mfgcx6.js → Accordion-7ccpdvga.js} +7 -7
  20. package/web-dist/chunks/{Accordion-8xk2zmr5.js → Accordion-7cgv14wd.js} +2 -2
  21. package/web-dist/chunks/{Accordion-78mj69zp.js → Accordion-8rx1stgv.js} +4 -4
  22. package/web-dist/chunks/{Accordion-46vwm9xv.js → Accordion-8zerapbc.js} +5 -5
  23. package/web-dist/chunks/{Accordion-17pht8jd.js → Accordion-904ncmad.js} +5 -5
  24. package/web-dist/chunks/{Accordion-14p7zanv.js → Accordion-a09gnx45.js} +3 -3
  25. package/web-dist/chunks/{Accordion-7hn324r1.js → Accordion-a60dhqsv.js} +198 -3
  26. package/web-dist/chunks/Accordion-bfzeab9x.js +18 -0
  27. package/web-dist/chunks/{Accordion-cydzrpk2.js → Accordion-bn954rjh.js} +2 -2
  28. package/web-dist/chunks/{Accordion-5pskbqss.js → Accordion-c3yfjhex.js} +4 -4
  29. package/web-dist/chunks/{Accordion-b9myvfep.js → Accordion-c7pd59w7.js} +6 -6
  30. package/web-dist/chunks/{Accordion-7zfskq1s.js → Accordion-een6jq8f.js} +1 -1
  31. package/web-dist/chunks/{Accordion-13b6y37e.js → Accordion-ej4p6ae3.js} +2 -2
  32. package/web-dist/chunks/{Accordion-x4rjd7yn.js → Accordion-g69czys5.js} +2 -2
  33. package/web-dist/chunks/{Accordion-vq462y0x.js → Accordion-hdnpzyk9.js} +11 -2
  34. package/web-dist/chunks/{Accordion-01e56hb5.js → Accordion-hztfb9ex.js} +5 -5
  35. package/web-dist/chunks/{Accordion-2ak69ntj.js → Accordion-jfjery84.js} +8 -8
  36. package/web-dist/chunks/{Accordion-rjgdrn7y.js → Accordion-jynbc7d0.js} +3 -3
  37. package/web-dist/chunks/{Accordion-cqgbx1pw.js → Accordion-katngqxf.js} +6 -7
  38. package/web-dist/chunks/{Accordion-jksn8783.js → Accordion-n7hckxte.js} +6 -6
  39. package/web-dist/chunks/{Accordion-2d8xn32m.js → Accordion-n7y08rz5.js} +14 -49
  40. package/web-dist/chunks/{Accordion-ff583p4q.js → Accordion-pe49atda.js} +9 -5
  41. package/web-dist/chunks/{Accordion-rev0zb75.js → Accordion-ps286k56.js} +5 -5
  42. package/web-dist/chunks/{Accordion-r23sx4gf.js → Accordion-pt0f1v0m.js} +2 -2
  43. package/web-dist/chunks/{Accordion-qb8ppq9t.js → Accordion-qd4r5b4s.js} +3 -3
  44. package/web-dist/chunks/{Accordion-bmp1ab7m.js → Accordion-qq9bvraa.js} +10 -10
  45. package/web-dist/chunks/{Accordion-xw1gkpfk.js → Accordion-qqsxfq5h.js} +6 -6
  46. package/web-dist/chunks/{Accordion-nggjwm07.js → Accordion-r1geqzsp.js} +5 -5
  47. package/web-dist/chunks/{Accordion-cdppbyad.js → Accordion-scacsnhj.js} +4 -4
  48. package/web-dist/chunks/{Accordion-ejy7gr0a.js → Accordion-sh0sk3cz.js} +5 -5
  49. package/web-dist/chunks/{Accordion-v166qr59.js → Accordion-tp2gn95w.js} +4 -4
  50. package/web-dist/chunks/{Accordion-9n7h9hag.js → Accordion-tvzq4dw8.js} +8 -8
  51. package/web-dist/chunks/{Accordion-yms7x22j.js → Accordion-v1fxp6yd.js} +10 -12
  52. package/web-dist/chunks/{Accordion-4r9a9qny.js → Accordion-vc8pv1jf.js} +9 -9
  53. package/web-dist/chunks/{Accordion-8xdet564.js → Accordion-vq198z68.js} +10 -10
  54. package/web-dist/chunks/{Accordion-m9hjta5k.js → Accordion-vtndpbzt.js} +2 -2
  55. package/web-dist/chunks/{Accordion-z1trs7s1.js → Accordion-whhnrz92.js} +13 -13
  56. package/web-dist/chunks/{Accordion-13y3zx87.js → Accordion-xak1mcaf.js} +5 -4
  57. package/web-dist/chunks/{Accordion-e1nn8m46.js → Accordion-xdgpa7kf.js} +5 -17
  58. package/web-dist/chunks/{Accordion-rnjt5z4y.js → Accordion-z4d0pncs.js} +9 -9
  59. package/web-dist/components/accordion/Accordion.js +13 -12
  60. package/web-dist/components/accordion-item/AccordionItem.js +13 -12
  61. package/web-dist/components/activity-indicator/ActivityIndicator.js +3 -3
  62. package/web-dist/components/app-bar/AppBar.js +21 -20
  63. package/web-dist/components/app-shell/AppShell.js +6 -6
  64. package/web-dist/components/auth-screen/AuthScreen.js +22 -21
  65. package/web-dist/components/avatar/Avatar.js +13 -12
  66. package/web-dist/components/avatar-group/AvatarGroup.js +13 -12
  67. package/web-dist/components/badge/Badge.js +7 -7
  68. package/web-dist/components/barcode-scanner-view/BarcodeScannerView.js +21 -20
  69. package/web-dist/components/bottom-sheet/BottomSheet.js +8 -8
  70. package/web-dist/components/bottom-sheet-flat-list/BottomSheetFlatList.js +8 -8
  71. package/web-dist/components/bottom-sheet-scroll-view/BottomSheetScrollView.js +8 -8
  72. package/web-dist/components/bottom-sheet-section-list/BottomSheetSectionList.js +8 -8
  73. package/web-dist/components/bottom-sheet-view/BottomSheetView.js +8 -8
  74. package/web-dist/components/bottom-sheet-virtualized-list/BottomSheetVirtualizedList.js +8 -8
  75. package/web-dist/components/breadcrumbs/Breadcrumbs.js +15 -14
  76. package/web-dist/components/button/Button.js +13 -12
  77. package/web-dist/components/button-group/ButtonGroup.js +13 -12
  78. package/web-dist/components/camera-permission-view/CameraPermissionView.js +21 -20
  79. package/web-dist/components/card/Card.js +20 -19
  80. package/web-dist/components/card-back/CardBack.js +4 -4
  81. package/web-dist/components/card-hand/CardHand.js +4 -4
  82. package/web-dist/components/chat-list-item/ChatListItem.js +17 -16
  83. package/web-dist/components/checkbox/Checkbox.js +13 -12
  84. package/web-dist/components/checkbox-group/CheckboxGroup.js +13 -12
  85. package/web-dist/components/chess-board/ChessBoard.js +4 -4
  86. package/web-dist/components/chip/Chip.js +14 -13
  87. package/web-dist/components/chip-group/ChipGroup.js +14 -13
  88. package/web-dist/components/collection-editor/CollectionEditor.js +20 -19
  89. package/web-dist/components/content-rail/ContentRail.js +14 -13
  90. package/web-dist/components/data-table/DataTable.js +28 -27
  91. package/web-dist/components/date-picker/DatePicker.js +19 -18
  92. package/web-dist/components/dialog/Dialog.js +14 -13
  93. package/web-dist/components/divider/Divider.js +6 -6
  94. package/web-dist/components/empty-state/EmptyState.js +21 -20
  95. package/web-dist/components/field/Field.js +13 -12
  96. package/web-dist/components/flat-list/FlatList.js +14 -13
  97. package/web-dist/components/forgot-password-form/ForgotPasswordForm.js +22 -21
  98. package/web-dist/components/form/Form.js +17 -16
  99. package/web-dist/components/form-actions/FormActions.js +17 -16
  100. package/web-dist/components/form-error/FormError.js +17 -16
  101. package/web-dist/components/game/Game.js +7 -7
  102. package/web-dist/components/game-entity/GameEntity.js +7 -7
  103. package/web-dist/components/game-field/GameField.js +7 -7
  104. package/web-dist/components/game-input-zone/GameInputZone.js +7 -7
  105. package/web-dist/components/game-measurement-probe/GameMeasurementProbe.js +7 -7
  106. package/web-dist/components/game-overlay/GameOverlay.js +7 -7
  107. package/web-dist/components/gradient/Gradient.js +7 -7
  108. package/web-dist/components/gradient-renderer-provider/GradientRendererProvider.js +7 -7
  109. package/web-dist/components/grid/Grid.js +6 -6
  110. package/web-dist/components/heading/Heading.js +7 -6
  111. package/web-dist/components/hero/Hero.js +20 -19
  112. package/web-dist/components/icon/Icon.js +5 -4
  113. package/web-dist/components/icon-button/IconButton.js +13 -12
  114. package/web-dist/components/image/Image.js +11 -10
  115. package/web-dist/components/keyboard-avoiding-view/KeyboardAvoidingView.js +3 -3
  116. package/web-dist/components/list/List.js +14 -13
  117. package/web-dist/components/list-item/ListItem.js +14 -13
  118. package/web-dist/components/list-section/ListSection.js +14 -13
  119. package/web-dist/components/media-card/MediaCard.js +20 -19
  120. package/web-dist/components/message-bubble/MessageBubble.js +17 -16
  121. package/web-dist/components/metric-card/MetricCard.js +20 -19
  122. package/web-dist/components/missing-element/MissingElement.js +12 -11
  123. package/web-dist/components/o-auth-provider-button/OAuthProviderButton.js +22 -21
  124. package/web-dist/components/o-auth-provider-list/OAuthProviderList.js +22 -21
  125. package/web-dist/components/opening-book/OpeningBook.js +4 -4
  126. package/web-dist/components/otp-form/OtpForm.js +22 -21
  127. package/web-dist/components/pagination/Pagination.js +14 -13
  128. package/web-dist/components/palette-item/PaletteItem.js +20 -19
  129. package/web-dist/components/playing-card/PlayingCard.js +4 -4
  130. package/web-dist/components/poker-training-table/PokerTrainingTable.js +4 -4
  131. package/web-dist/components/popover-menu/PopoverMenu.js +16 -15
  132. package/web-dist/components/post-card/PostCard.js +20 -19
  133. package/web-dist/components/product-card/ProductCard.js +20 -19
  134. package/web-dist/components/progress/Progress.js +11 -10
  135. package/web-dist/components/progress-ring/ProgressRing.js +11 -10
  136. package/web-dist/components/radio/Radio.js +15 -14
  137. package/web-dist/components/radio-group/RadioGroup.js +15 -14
  138. package/web-dist/components/rating/Rating.js +10 -9
  139. package/web-dist/components/reader-surface/ReaderSurface.js +23 -22
  140. package/web-dist/components/scan-overlay/ScanOverlay.js +21 -20
  141. package/web-dist/components/screen/Screen.js +6 -6
  142. package/web-dist/components/screen-section/ScreenSection.js +11 -10
  143. package/web-dist/components/scroll-view/ScrollView.js +6 -6
  144. package/web-dist/components/search-input/SearchInput.js +14 -13
  145. package/web-dist/components/section-header/SectionHeader.js +11 -10
  146. package/web-dist/components/section-list/SectionList.js +14 -13
  147. package/web-dist/components/select/Select.js +18 -17
  148. package/web-dist/components/selectable-item/SelectableItem.js +5 -5
  149. package/web-dist/components/selection-provider/SelectionProvider.js +5 -5
  150. package/web-dist/components/sign-in-form/SignInForm.js +22 -21
  151. package/web-dist/components/sign-up-form/SignUpForm.js +22 -21
  152. package/web-dist/components/skeleton/Skeleton.js +23 -22
  153. package/web-dist/components/skeleton-card/SkeletonCard.js +23 -22
  154. package/web-dist/components/skeleton-list/SkeletonList.js +23 -22
  155. package/web-dist/components/skeleton-text/SkeletonText.js +23 -22
  156. package/web-dist/components/surface/Surface.js +7 -7
  157. package/web-dist/components/switch/Switch.js +8 -8
  158. package/web-dist/components/tab/Tab.js +7 -7
  159. package/web-dist/components/tab-list/TabList.js +7 -7
  160. package/web-dist/components/tab-panel/TabPanel.js +7 -7
  161. package/web-dist/components/tabletop-table/TabletopTable.js +4 -4
  162. package/web-dist/components/tabs/Tabs.js +7 -7
  163. package/web-dist/components/text/Text.js +7 -6
  164. package/web-dist/components/text-input/TextInput.js +14 -13
  165. package/web-dist/components/time-picker/TimePicker.js +19 -18
  166. package/web-dist/components/timeline/Timeline.js +12 -11
  167. package/web-dist/components/toast/Toast.js +10 -10
  168. package/web-dist/components/toast-provider/ToastProvider.js +10 -10
  169. package/web-dist/components/toolbar/Toolbar.js +20 -19
  170. package/web-dist/components/tree-item/TreeItem.js +18 -17
  171. package/web-dist/components/uploader/Uploader.js +24 -23
  172. package/web-dist/components/view/View.js +6 -6
  173. package/web-dist/manifest.json +1744 -1591
  174. package/web-dist/runtime/ZoraProvider.js +10 -9
@@ -22861,6 +22861,198 @@ function generatePalette(config, mode = "light") {
22861
22861
  };
22862
22862
  }
22863
22863
 
22864
+ // node_modules/@ankhorage/surface/src/features/theme/domain/resolveInverseSurface.ts
22865
+ function resolveInverseSurface(theme, lightSurface, collector) {
22866
+ const { neutral } = theme.swatches;
22867
+ const base = theme.semantics.surface.inverse;
22868
+ const adjacent = lightSurface ? neutral[100] : neutral[800];
22869
+ const sunken = lightSurface ? neutral[200] : neutral[950];
22870
+ const surface = {
22871
+ ...theme.semantics.surface,
22872
+ default: base,
22873
+ subtle: adjacent,
22874
+ raised: adjacent,
22875
+ sunken,
22876
+ overlay: adjacent,
22877
+ disabled: adjacent,
22878
+ inverse: theme.semantics.surface.default
22879
+ };
22880
+ return { surface, surfaceSeparation: measureInverseSurfaceSeparation(surface, collector) };
22881
+ }
22882
+ function measureInverseSurfaceSeparation(surface, collector) {
22883
+ const background = parseHexColorOrThrow(surface.sunken);
22884
+ const surfaces = [
22885
+ ["surface.default", surface.default],
22886
+ ["surface.raised", surface.raised],
22887
+ ["surface.disabled", surface.disabled]
22888
+ ];
22889
+ return surfaces.map(([id, foreground]) => collector.measureSurface(id, parseHexColorOrThrow(foreground), background, SURFACE_COLOR_POLICY.surfaceSeparation));
22890
+ }
22891
+
22892
+ // node_modules/@ankhorage/surface/src/features/theme/domain/projectInvertedTheme.ts
22893
+ function projectInvertedTheme(theme) {
22894
+ const collector = createSurfaceColorDiagnosticCollector();
22895
+ const lightSurface = theme.colorDiagnostics.mode === "dark";
22896
+ const { neutral } = theme.swatches;
22897
+ const { surface, surfaceSeparation } = resolveInverseSurface(theme, lightSurface, collector);
22898
+ const selection = createInverseSelection(collector, surface, neutral, lightSurface);
22899
+ const content = resolveInverseContent(theme, selection);
22900
+ const border = resolveInverseBorder(theme, selection);
22901
+ const roles = resolveInverseRoles(theme, selection);
22902
+ const { neutralAction, ...semanticRoles } = roles;
22903
+ const semantics = {
22904
+ ...theme.semantics,
22905
+ neutral: resolveInverseNeutral(theme, surface, content, border, neutral, lightSurface),
22906
+ surface,
22907
+ content,
22908
+ border,
22909
+ ...semanticRoles,
22910
+ error: roles.danger,
22911
+ selection: {
22912
+ background: roles.brand.softBg,
22913
+ content: roles.brand.onSoftText,
22914
+ border: border.focus
22915
+ },
22916
+ action: { primary: roles.brand, neutral: neutralAction, danger: roles.danger }
22917
+ };
22918
+ return {
22919
+ ...theme,
22920
+ inverted: true,
22921
+ semantics,
22922
+ colors: {
22923
+ ...theme.colors,
22924
+ background: surface.sunken,
22925
+ surface: surface.default,
22926
+ text: content.default,
22927
+ textSecondary: content.muted,
22928
+ border: border.default
22929
+ },
22930
+ colorDiagnostics: {
22931
+ ...theme.colorDiagnostics,
22932
+ selections: [...theme.colorDiagnostics.selections, ...collector.selections],
22933
+ contrasts: [...theme.colorDiagnostics.contrasts, ...collector.contrasts],
22934
+ surfaceSeparation
22935
+ }
22936
+ };
22937
+ }
22938
+ function createInverseSelection(collector, surface, neutral, lightSurface) {
22939
+ return {
22940
+ collector,
22941
+ neutral,
22942
+ contexts: [
22943
+ {
22944
+ id: "inverse-surface",
22945
+ against: parseHexColorOrThrow(surface.default),
22946
+ minimumContrast: SURFACE_COLOR_POLICY.textContrast
22947
+ },
22948
+ {
22949
+ id: "inverse-subtle",
22950
+ against: parseHexColorOrThrow(surface.subtle),
22951
+ minimumContrast: SURFACE_COLOR_POLICY.textContrast
22952
+ },
22953
+ {
22954
+ id: "inverse-sunken",
22955
+ against: parseHexColorOrThrow(surface.sunken),
22956
+ minimumContrast: SURFACE_COLOR_POLICY.textContrast
22957
+ }
22958
+ ],
22959
+ tiePolicy: lightSurface ? "higher-step" : "lower-step",
22960
+ textTarget: { lightness: lightSurface ? 0.2 : 0.9, chroma: 0.02 },
22961
+ mutedTarget: { lightness: lightSurface ? 0.35 : 0.75, chroma: 0.02 },
22962
+ subtleTarget: { lightness: lightSurface ? 0.4 : 0.7, chroma: 0.02 },
22963
+ borderTarget: { lightness: lightSurface ? 0.45 : 0.65, chroma: 0.02 }
22964
+ };
22965
+ }
22966
+ function resolveInverseContent(theme, selection) {
22967
+ const { neutral, primary } = theme.swatches;
22968
+ const secondary = theme.swatches.secondary ?? primary;
22969
+ return {
22970
+ default: selectText("content.default", neutral, selection.textTarget, selection),
22971
+ muted: selectText("content.muted", neutral, selection.mutedTarget, selection),
22972
+ subtle: selectText("content.subtle", neutral, selection.subtleTarget, selection),
22973
+ disabled: selectText("content.disabled", neutral, selection.subtleTarget, selection, SURFACE_COLOR_POLICY.disabledContrast),
22974
+ icon: selectText("content.icon", neutral, selection.textTarget, selection),
22975
+ link: selectText("content.link", primary, selection.textTarget, selection),
22976
+ visited: selectText("content.visited", secondary, selection.textTarget, selection),
22977
+ inverse: theme.semantics.content.default
22978
+ };
22979
+ }
22980
+ function resolveInverseBorder(theme, selection) {
22981
+ const { neutral } = theme.swatches;
22982
+ const outline = selection.borderTarget;
22983
+ return {
22984
+ default: selectOutline("border.default", neutral, outline, selection),
22985
+ subtle: selectOutline("border.subtle", neutral, outline, selection),
22986
+ strong: selectOutline("border.strong", neutral, outline, selection),
22987
+ divider: selectOutline("border.divider", neutral, outline, selection),
22988
+ focus: selectOutline("border.focus", theme.swatches.primary, selection.textTarget, selection)
22989
+ };
22990
+ }
22991
+ function resolveInverseRoles(theme, selection) {
22992
+ const status = createDefaultSemanticStatusSwatches().swatches;
22993
+ const { semantics } = theme;
22994
+ return {
22995
+ brand: projectRole("brand", semantics.brand, theme.swatches.primary, selection),
22996
+ secondary: projectRole("secondary", semantics.secondary, theme.swatches.secondary ?? theme.swatches.primary, selection),
22997
+ accent: projectRole("accent", semantics.accent, theme.swatches.tertiary ?? theme.swatches.primary, selection),
22998
+ highlight: projectRole("highlight", semantics.highlight, theme.swatches.quaternary ?? theme.swatches.primary, selection),
22999
+ danger: projectRole("danger", semantics.danger, status.danger, selection),
23000
+ success: projectRole("success", semantics.success, status.success, selection),
23001
+ warning: projectRole("warning", semantics.warning, status.warning, selection),
23002
+ info: projectRole("info", semantics.info, status.info, selection),
23003
+ neutralAction: projectRole("neutral", semantics.action.neutral, theme.swatches.neutral, selection)
23004
+ };
23005
+ }
23006
+ function projectRole(id, role, swatch, selection) {
23007
+ return {
23008
+ ...role,
23009
+ onSurfaceText: selectText(`${id}.onSurfaceText`, swatch, selection.textTarget, selection),
23010
+ outline: selectOutline(`${id}.outline`, swatch, selection.borderTarget, selection)
23011
+ };
23012
+ }
23013
+ function resolveInverseNeutral(theme, surface, content, border, swatch, lightSurface) {
23014
+ return {
23015
+ ...theme.semantics.neutral,
23016
+ bg: surface.sunken,
23017
+ bgSubtle: surface.subtle,
23018
+ surface: surface.default,
23019
+ surfaceHover: lightSurface ? swatch[200] : swatch[700],
23020
+ surfaceActive: lightSurface ? swatch[300] : swatch[600],
23021
+ border: border.default,
23022
+ borderStrong: border.strong,
23023
+ divider: border.divider,
23024
+ text: content.default,
23025
+ textMuted: content.muted,
23026
+ textSubtle: content.subtle,
23027
+ disabledBg: surface.disabled,
23028
+ disabledText: content.disabled
23029
+ };
23030
+ }
23031
+ function selectText(id, swatch, target, selection, minimumContrast = SURFACE_COLOR_POLICY.textContrast) {
23032
+ const contexts = selection.contexts.map((context) => ({ ...context, minimumContrast }));
23033
+ const color = selectInverseColor(id, swatch, target, contexts, selection);
23034
+ for (const context of contexts) {
23035
+ selection.collector.measureForeground(`inverse.${id}/${context.id}`, color, context.against, minimumContrast);
23036
+ }
23037
+ return color;
23038
+ }
23039
+ function selectOutline(id, swatch, target, selection) {
23040
+ const contexts = selection.contexts.map((context) => ({
23041
+ ...context,
23042
+ minimumContrast: SURFACE_COLOR_POLICY.uiContrast
23043
+ }));
23044
+ const color = selectInverseColor(id, swatch, target, contexts, selection);
23045
+ for (const context of contexts) {
23046
+ selection.collector.measureForeground(`inverse.${id}/${context.id}`, color, context.against, SURFACE_COLOR_POLICY.uiContrast);
23047
+ }
23048
+ return color;
23049
+ }
23050
+ function selectInverseColor(id, swatch, target, contexts, selection) {
23051
+ const result = selectColorSwatchStep(swatch, target, contexts, selection.tiePolicy);
23052
+ selection.collector.selections.push({ id: `inverse.${id}`, result });
23053
+ return result.selected?.hex ?? selection.collector.selectColor(`inverse.${id}.neutralFallback`, selection.neutral, target, contexts, selection.tiePolicy);
23054
+ }
23055
+
22864
23056
  // node_modules/@ankhorage/surface/src/features/theme/utils/resolveHeadingTokenOverrides.ts
22865
23057
  var HEADING_KEYS = new Set(["1", "2", "3", "4", "5", "6"]);
22866
23058
  var HEADING_WEIGHTS = new Set(["regular", "medium", "semiBold", "bold"]);
@@ -23006,7 +23198,7 @@ var DEFAULT_CONFIG = {
23006
23198
  light: { primaryColor: "#3B82F6", harmony: "monochromatic" },
23007
23199
  dark: { primaryColor: "#3B82F6", harmony: "monochromatic" }
23008
23200
  };
23009
- function createTheme(config = DEFAULT_CONFIG, mode = "light", activeFontId) {
23201
+ function createTheme(config = DEFAULT_CONFIG, mode = "light", activeFontId, inverted = false) {
23010
23202
  const { colors, swatches, semantics, colorDiagnostics } = generatePalette(config, mode);
23011
23203
  const baseTheme = {
23012
23204
  ...resolveGlobalTokens(config.tokens),
@@ -23014,9 +23206,11 @@ function createTheme(config = DEFAULT_CONFIG, mode = "light", activeFontId) {
23014
23206
  swatches,
23015
23207
  semantics,
23016
23208
  colorDiagnostics,
23017
- config
23209
+ config,
23210
+ inverted: false
23018
23211
  };
23019
- return activeFontId ? withActiveFont(baseTheme, activeFontId) : baseTheme;
23212
+ const themed = activeFontId ? withActiveFont(baseTheme, activeFontId) : baseTheme;
23213
+ return inverted ? projectInvertedTheme(themed) : themed;
23020
23214
  }
23021
23215
  function withActiveFont(theme, activeFontId) {
23022
23216
  const familyName = toPascalCase(activeFontId);
@@ -23054,6 +23248,7 @@ var defaultTheme = createTheme();
23054
23248
  var ThemeRuntimeContext = createContext({
23055
23249
  theme: defaultTheme,
23056
23250
  mode: "light",
23251
+ inverted: false,
23057
23252
  setThemeConfig: () => {
23058
23253
  return;
23059
23254
  },
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ // node_modules/@ankhorage/surface/src/constants/surfaceColor.ts
3
+ var SURFACE_PALETTE_COLORS = [
4
+ "primary",
5
+ "secondary",
6
+ "tertiary",
7
+ "quaternary",
8
+ "neutral"
9
+ ];
10
+ var SURFACE_STATUS_COLORS = ["success", "warning", "error", "info"];
11
+ var SURFACE_COLORS = [
12
+ ...SURFACE_PALETTE_COLORS,
13
+ ...SURFACE_STATUS_COLORS,
14
+ "danger"
15
+ ];
16
+ var SURFACE_EMPHASES = ["default", "muted", "subtle", "inverse"];
17
+
18
+ export { SURFACE_COLORS, SURFACE_EMPHASES };
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  Toast3,
4
4
  ToastProvider3
5
- } from "./Accordion-z8h1hn96.js";
5
+ } from "./Accordion-6h4zc69v.js";
6
6
  import {
7
7
  withZoraThemeScope
8
- } from "./Accordion-13y3zx87.js";
8
+ } from "./Accordion-xak1mcaf.js";
9
9
 
10
10
  // src/features/toast/adapters/inbound/Toast.tsx
11
11
  import { jsx } from "react/jsx-runtime";
@@ -1,16 +1,16 @@
1
1
  'use client';
2
2
  import {
3
3
  Field3
4
- } from "./Accordion-qb8ppq9t.js";
4
+ } from "./Accordion-qd4r5b4s.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-13y3zx87.js";
7
+ } from "./Accordion-xak1mcaf.js";
8
8
  import {
9
9
  View2
10
- } from "./Accordion-01e56hb5.js";
10
+ } from "./Accordion-hztfb9ex.js";
11
11
  import {
12
12
  Text3
13
- } from "./Accordion-46vwm9xv.js";
13
+ } from "./Accordion-8zerapbc.js";
14
14
 
15
15
  // src/features/form/field/adapters/inbound/Field.tsx
16
16
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,22 +1,22 @@
1
1
  'use client';
2
2
  import {
3
3
  withZoraThemeScope
4
- } from "./Accordion-13y3zx87.js";
4
+ } from "./Accordion-xak1mcaf.js";
5
5
  import {
6
6
  View2
7
- } from "./Accordion-01e56hb5.js";
7
+ } from "./Accordion-hztfb9ex.js";
8
8
  import {
9
9
  ButtonGroup2
10
- } from "./Accordion-yms7x22j.js";
10
+ } from "./Accordion-v1fxp6yd.js";
11
11
  import {
12
12
  Card2
13
- } from "./Accordion-z1trs7s1.js";
13
+ } from "./Accordion-whhnrz92.js";
14
14
  import {
15
15
  List2
16
- } from "./Accordion-rnjt5z4y.js";
16
+ } from "./Accordion-z4d0pncs.js";
17
17
  import {
18
18
  useZoraTheme2
19
- } from "./Accordion-7zfskq1s.js";
19
+ } from "./Accordion-een6jq8f.js";
20
20
 
21
21
  // src/features/skeleton/adapters/inbound/Skeleton.tsx
22
22
  import { jsx } from "react/jsx-runtime";
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  useTheme
4
- } from "./Accordion-7hn324r1.js";
4
+ } from "./Accordion-a60dhqsv.js";
5
5
 
6
6
  // src/features/theme/composition/useZoraTheme.ts
7
7
  function useZoraTheme2() {
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  View3
4
- } from "./Accordion-r1epjp5y.js";
4
+ } from "./Accordion-3w1t105s.js";
5
5
  import {
6
6
  useTheme
7
- } from "./Accordion-7hn324r1.js";
7
+ } from "./Accordion-a60dhqsv.js";
8
8
 
9
9
  // node_modules/@ankhorage/surface/src/features/surface/adapters/inbound/Surface.tsx
10
10
  import { jsx } from "react/jsx-runtime";
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  Icon3
4
- } from "./Accordion-vq462y0x.js";
4
+ } from "./Accordion-hdnpzyk9.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-13y3zx87.js";
7
+ } from "./Accordion-xak1mcaf.js";
8
8
 
9
9
  // src/features/icon/adapters/inbound/Icon.tsx
10
10
  import { jsx } from "react/jsx-runtime";
@@ -1,8 +1,14 @@
1
1
  'use client';
2
+ import {
3
+ SURFACE_COLORS
4
+ } from "./Accordion-bfzeab9x.js";
2
5
  import {
3
6
  require_cjs,
4
7
  useTheme
5
- } from "./Accordion-7hn324r1.js";
8
+ } from "./Accordion-a60dhqsv.js";
9
+ import {
10
+ resolveTextColor
11
+ } from "./Accordion-6a2hscrx.js";
6
12
  import {
7
13
  resolveToken
8
14
  } from "./Accordion-fre84yaq.js";
@@ -13494,12 +13500,15 @@ function Icon3(props) {
13494
13500
  const size = props.size ?? "m";
13495
13501
  const color = props.color ?? "text";
13496
13502
  const resolvedSize = typeof size === "number" ? size : resolveToken(theme.spacing, size);
13497
- const resolvedColor = resolveToken(theme.colors, color);
13503
+ const resolvedColor = typeof color === "string" && isSurfaceColor(color) ? resolveTextColor(theme, "default", color) : resolveToken(theme.colors, color);
13498
13504
  return /* @__PURE__ */ jsx2(PortableIcon, {
13499
13505
  ...props,
13500
13506
  color: resolvedColor,
13501
13507
  size: resolvedSize
13502
13508
  });
13503
13509
  }
13510
+ function isSurfaceColor(value) {
13511
+ return SURFACE_COLORS.some((role) => role === value);
13512
+ }
13504
13513
 
13505
13514
  export { Icon3 };
@@ -2,22 +2,22 @@
2
2
  import {
3
3
  resolveResponsive,
4
4
  useResponsiveRuntime
5
- } from "./Accordion-x5ny2aax.js";
5
+ } from "./Accordion-65kvpq6z.js";
6
6
  import {
7
7
  View3,
8
8
  Divider3
9
- } from "./Accordion-r1epjp5y.js";
9
+ } from "./Accordion-3w1t105s.js";
10
10
  import {
11
11
  require_cjs,
12
12
  useTheme
13
- } from "./Accordion-7hn324r1.js";
13
+ } from "./Accordion-a60dhqsv.js";
14
14
  import {
15
15
  withZoraThemeScope
16
- } from "./Accordion-13y3zx87.js";
16
+ } from "./Accordion-xak1mcaf.js";
17
17
  import {
18
18
  resolveSpacing,
19
19
  resolveViewStyles
20
- } from "./Accordion-rgyg9bw8.js";
20
+ } from "./Accordion-3v7sz3vv.js";
21
21
  import {
22
22
  __toESM
23
23
  } from "./Accordion-9qvmwkxe.js";
@@ -1,28 +1,28 @@
1
1
  'use client';
2
2
  import {
3
3
  require_cjs
4
- } from "./Accordion-7hn324r1.js";
4
+ } from "./Accordion-a60dhqsv.js";
5
5
  import {
6
6
  Button2
7
- } from "./Accordion-yms7x22j.js";
7
+ } from "./Accordion-v1fxp6yd.js";
8
8
  import {
9
9
  withZoraThemeScope
10
- } from "./Accordion-13y3zx87.js";
10
+ } from "./Accordion-xak1mcaf.js";
11
11
  import {
12
12
  View2
13
- } from "./Accordion-01e56hb5.js";
13
+ } from "./Accordion-hztfb9ex.js";
14
14
  import {
15
15
  Card2
16
- } from "./Accordion-z1trs7s1.js";
16
+ } from "./Accordion-whhnrz92.js";
17
17
  import {
18
18
  Text3
19
- } from "./Accordion-46vwm9xv.js";
19
+ } from "./Accordion-8zerapbc.js";
20
20
  import {
21
21
  Badge2
22
- } from "./Accordion-cqgbx1pw.js";
22
+ } from "./Accordion-katngqxf.js";
23
23
  import {
24
24
  useZoraTheme2
25
- } from "./Accordion-7zfskq1s.js";
25
+ } from "./Accordion-een6jq8f.js";
26
26
  import {
27
27
  __toESM
28
28
  } from "./Accordion-9qvmwkxe.js";
@@ -3,13 +3,13 @@ import {
3
3
  require_cjs,
4
4
  parseHexColor,
5
5
  getReadableForeground
6
- } from "./Accordion-7hn324r1.js";
6
+ } from "./Accordion-a60dhqsv.js";
7
7
  import {
8
8
  withZoraThemeScope
9
- } from "./Accordion-13y3zx87.js";
9
+ } from "./Accordion-xak1mcaf.js";
10
10
  import {
11
11
  useZoraTheme2
12
- } from "./Accordion-7zfskq1s.js";
12
+ } from "./Accordion-een6jq8f.js";
13
13
  import {
14
14
  __toESM
15
15
  } from "./Accordion-9qvmwkxe.js";
@@ -1,20 +1,20 @@
1
1
  'use client';
2
2
  import {
3
3
  View3
4
- } from "./Accordion-r1epjp5y.js";
4
+ } from "./Accordion-3w1t105s.js";
5
5
  import {
6
6
  useTheme
7
- } from "./Accordion-7hn324r1.js";
7
+ } from "./Accordion-a60dhqsv.js";
8
8
  import {
9
9
  Text2
10
- } from "./Accordion-ff583p4q.js";
10
+ } from "./Accordion-pe49atda.js";
11
11
  import {
12
12
  withZoraThemeScope
13
- } from "./Accordion-13y3zx87.js";
13
+ } from "./Accordion-xak1mcaf.js";
14
14
  import {
15
15
  resolveControlSize,
16
16
  resolveButtonColors
17
- } from "./Accordion-2d8xn32m.js";
17
+ } from "./Accordion-n7y08rz5.js";
18
18
 
19
19
  // node_modules/@ankhorage/surface/src/features/badge/adapters/inbound/Badge.tsx
20
20
  import { jsx } from "react/jsx-runtime";
@@ -39,8 +39,7 @@ function Badge({
39
39
  style: resolveBadgeStyle(colors.backgroundColor, colors.borderColor, variant),
40
40
  testID,
41
41
  children: /* @__PURE__ */ jsx(Text2, {
42
- color,
43
- emphasis: variant === "solid" ? "inverse" : "default",
42
+ style: { color: colors.contentColor },
44
43
  variant: "bodySmall",
45
44
  weight: "medium",
46
45
  children: content
@@ -1,22 +1,22 @@
1
1
  'use client';
2
2
  import {
3
3
  require_cjs
4
- } from "./Accordion-7hn324r1.js";
4
+ } from "./Accordion-a60dhqsv.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-13y3zx87.js";
7
+ } from "./Accordion-xak1mcaf.js";
8
8
  import {
9
9
  Icon2
10
- } from "./Accordion-x4rjd7yn.js";
10
+ } from "./Accordion-g69czys5.js";
11
11
  import {
12
12
  View2
13
- } from "./Accordion-01e56hb5.js";
13
+ } from "./Accordion-hztfb9ex.js";
14
14
  import {
15
15
  Text3
16
- } from "./Accordion-46vwm9xv.js";
16
+ } from "./Accordion-8zerapbc.js";
17
17
  import {
18
18
  useZoraTheme2
19
- } from "./Accordion-7zfskq1s.js";
19
+ } from "./Accordion-een6jq8f.js";
20
20
  import {
21
21
  __toESM
22
22
  } from "./Accordion-9qvmwkxe.js";
@@ -1,4 +1,8 @@
1
1
  'use client';
2
+ import {
3
+ resolveSurfaceColor
4
+ } from "./Accordion-6a2hscrx.js";
5
+
2
6
  // node_modules/@ankhorage/surface/src/internal/resolvers/resolveControlSize.ts
3
7
  function resolveControlSize(theme, size = "m") {
4
8
  switch (size) {
@@ -136,33 +140,6 @@ function resolveIndicatorSize(size = "m") {
136
140
  }
137
141
  }
138
142
 
139
- // node_modules/@ankhorage/surface/src/internal/resolvers/resolveSurfaceColor.ts
140
- function resolveSurfaceColor(theme, color = "primary") {
141
- switch (color) {
142
- case "secondary":
143
- return theme.semantics.secondary;
144
- case "tertiary":
145
- return theme.semantics.accent;
146
- case "quaternary":
147
- return theme.semantics.highlight;
148
- case "neutral":
149
- return theme.semantics.action.neutral;
150
- case "error":
151
- return theme.semantics.error;
152
- case "info":
153
- return theme.semantics.info;
154
- case "danger":
155
- return theme.semantics.action.danger;
156
- case "success":
157
- return theme.semantics.success;
158
- case "warning":
159
- return theme.semantics.warning;
160
- case "primary":
161
- default:
162
- return theme.semantics.action.primary;
163
- }
164
- }
165
-
166
143
  // node_modules/@ankhorage/surface/src/internal/resolvers/resolveInteractiveColors.ts
167
144
  function resolveButtonColors(theme, {
168
145
  variant,
@@ -182,13 +159,13 @@ function resolveButtonColors(theme, {
182
159
  return {
183
160
  backgroundColor: state.pressed ? semanticTone.softActive : state.hovered ? semanticTone.softHover : "transparent",
184
161
  borderColor: semanticTone.outline,
185
- contentColor: semanticTone.onSurfaceText
162
+ contentColor: resolveTransparentContentColor(semanticTone, state)
186
163
  };
187
164
  case "ghost":
188
165
  return {
189
166
  backgroundColor: state.pressed ? semanticTone.softActive : state.hovered ? semanticTone.softHover : "transparent",
190
167
  borderColor: "transparent",
191
- contentColor: semanticTone.onSurfaceText
168
+ contentColor: resolveTransparentContentColor(semanticTone, state)
192
169
  };
193
170
  case "soft":
194
171
  return {
@@ -205,6 +182,13 @@ function resolveButtonColors(theme, {
205
182
  };
206
183
  }
207
184
  }
185
+ function resolveTransparentContentColor(role, state) {
186
+ if (state.pressed)
187
+ return role.onSoftActiveText;
188
+ if (state.hovered)
189
+ return role.onSoftHoverText;
190
+ return role.onSurfaceText;
191
+ }
208
192
  function resolveInputColors(theme, fieldState) {
209
193
  if (fieldState.disabled) {
210
194
  return {
@@ -336,25 +320,6 @@ var BASE_Z_INDEX = {
336
320
  function resolveOverlayZIndex(layer, stackIndex = 0) {
337
321
  return BASE_Z_INDEX[layer] + stackIndex;
338
322
  }
339
- // node_modules/@ankhorage/surface/src/internal/resolvers/resolveTextColor.ts
340
- function resolveTextColor(theme, emphasis = "default", color) {
341
- if (color) {
342
- if (emphasis === "inverse") {
343
- return resolveSurfaceColor(theme, color).onSolidText;
344
- }
345
- return resolveSurfaceColor(theme, color).base;
346
- }
347
- switch (emphasis) {
348
- case "muted":
349
- return theme.semantics.content.muted;
350
- case "subtle":
351
- return theme.semantics.content.subtle;
352
- case "inverse":
353
- return theme.semantics.content.inverse;
354
- default:
355
- return theme.semantics.content.default;
356
- }
357
- }
358
323
  // node_modules/@ankhorage/surface/src/internal/resolvers/resolveTextStyles.ts
359
324
  function resolveWeight(theme, value) {
360
325
  if (!value)
@@ -420,4 +385,4 @@ function resolveTextStyles(theme, options = {}) {
420
385
  elevation: 0
421
386
  };
422
387
  }
423
- export { resolveControlSize, resolveFieldPresentation, resolveFieldState, resolveFocusRingStyles, resolveIconSize2, resolveIndicatorSize, resolveButtonColors, resolveInputColors, resolveInteractiveState, resolveOverlayAnimation, resolveOverlayZIndex, resolveSelectionControlNextChecked, resolveSelectionControlColors, resolveTextColor, resolveTextStyles };
388
+ export { resolveControlSize, resolveFieldPresentation, resolveFieldState, resolveFocusRingStyles, resolveIconSize2, resolveIndicatorSize, resolveButtonColors, resolveInputColors, resolveInteractiveState, resolveOverlayAnimation, resolveOverlayZIndex, resolveSelectionControlNextChecked, resolveSelectionControlColors, resolveTextStyles };
@@ -2,11 +2,13 @@
2
2
  import {
3
3
  require_cjs,
4
4
  useTheme
5
- } from "./Accordion-7hn324r1.js";
5
+ } from "./Accordion-a60dhqsv.js";
6
6
  import {
7
- resolveTextColor,
8
7
  resolveTextStyles
9
- } from "./Accordion-2d8xn32m.js";
8
+ } from "./Accordion-n7y08rz5.js";
9
+ import {
10
+ resolveTextColor
11
+ } from "./Accordion-6a2hscrx.js";
10
12
  import {
11
13
  __toESM
12
14
  } from "./Accordion-9qvmwkxe.js";
@@ -24,7 +26,8 @@ function Text2({
24
26
  weight,
25
27
  italic = false,
26
28
  numberOfLines,
27
- testID
29
+ testID,
30
+ style
28
31
  }) {
29
32
  const { theme } = useTheme();
30
33
  const content = children ?? i18nKey ?? null;
@@ -33,7 +36,8 @@ function Text2({
33
36
  testID,
34
37
  style: [
35
38
  resolveTextStyles(theme, { align, italic, variant, weight }),
36
- { color: resolveTextColor(theme, emphasis, color) }
39
+ { color: resolveTextColor(theme, emphasis, color) },
40
+ style
37
41
  ],
38
42
  children: content
39
43
  });