pixelize-native-library 1.0.6 → 1.0.7

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 (109) hide show
  1. package/lib/module/core/icon/index.js +68 -1
  2. package/lib/module/core/icon/index.js.map +1 -1
  3. package/lib/module/modules/bottom-nav/BottomNav.js +25 -15
  4. package/lib/module/modules/bottom-nav/BottomNav.js.map +1 -1
  5. package/lib/module/modules/bottom-nav/BottomNav.variants.js +65 -0
  6. package/lib/module/modules/bottom-nav/BottomNav.variants.js.map +1 -1
  7. package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js +75 -0
  8. package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js.map +1 -0
  9. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +13 -6
  10. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js.map +1 -1
  11. package/lib/module/modules/bottom-nav/MODULE.md +25 -10
  12. package/lib/module/modules/charts/BarList.js +79 -0
  13. package/lib/module/modules/charts/BarList.js.map +1 -0
  14. package/lib/module/modules/charts/Charts.variants.js +59 -0
  15. package/lib/module/modules/charts/Charts.variants.js.map +1 -0
  16. package/lib/module/modules/charts/DonutChart.js +98 -0
  17. package/lib/module/modules/charts/DonutChart.js.map +1 -0
  18. package/lib/module/modules/charts/MODULE.md +52 -0
  19. package/lib/module/modules/charts/Sparkline.js +79 -0
  20. package/lib/module/modules/charts/Sparkline.js.map +1 -0
  21. package/lib/module/modules/charts/index.js +12 -0
  22. package/lib/module/modules/charts/index.js.map +1 -0
  23. package/lib/module/modules/list-item/ListItem.js +75 -0
  24. package/lib/module/modules/list-item/ListItem.js.map +1 -0
  25. package/lib/module/modules/list-item/ListItem.variants.js +53 -0
  26. package/lib/module/modules/list-item/ListItem.variants.js.map +1 -0
  27. package/lib/module/modules/list-item/MODULE.md +47 -0
  28. package/lib/module/modules/list-item/index.js +10 -0
  29. package/lib/module/modules/list-item/index.js.map +1 -0
  30. package/lib/module/modules/markdown/MODULE.md +44 -0
  31. package/lib/module/modules/markdown/Markdown.js +149 -0
  32. package/lib/module/modules/markdown/Markdown.js.map +1 -0
  33. package/lib/module/modules/markdown/Markdown.variants.js +68 -0
  34. package/lib/module/modules/markdown/Markdown.variants.js.map +1 -0
  35. package/lib/module/modules/markdown/index.js +11 -0
  36. package/lib/module/modules/markdown/index.js.map +1 -0
  37. package/lib/module/modules/markdown/parseMarkdown.js +153 -0
  38. package/lib/module/modules/markdown/parseMarkdown.js.map +1 -0
  39. package/lib/module/modules/multi-select/MODULE.md +1 -1
  40. package/lib/module/modules/multi-select/MultiSelect.js +1 -1
  41. package/lib/module/modules/multi-select/MultiSelect.js.map +1 -1
  42. package/lib/module/modules/select/MODULE.md +1 -1
  43. package/lib/module/modules/select/Select.js +13 -10
  44. package/lib/module/modules/select/Select.js.map +1 -1
  45. package/lib/module/modules/select/Select.variants.js +11 -0
  46. package/lib/module/modules/select/Select.variants.js.map +1 -1
  47. package/lib/module/modules/stat-tile/MODULE.md +44 -0
  48. package/lib/module/modules/stat-tile/StatTile.js +87 -0
  49. package/lib/module/modules/stat-tile/StatTile.js.map +1 -0
  50. package/lib/module/modules/stat-tile/StatTile.variants.js +55 -0
  51. package/lib/module/modules/stat-tile/StatTile.variants.js.map +1 -0
  52. package/lib/module/modules/stat-tile/index.js +10 -0
  53. package/lib/module/modules/stat-tile/index.js.map +1 -0
  54. package/lib/module/modules/timeline/MODULE.md +10 -1
  55. package/lib/module/modules/timeline/Timeline.js +4 -1
  56. package/lib/module/modules/timeline/Timeline.js.map +1 -1
  57. package/lib/module/theme/tokens/builders/accentText.js +9 -0
  58. package/lib/module/theme/tokens/builders/accentText.js.map +1 -1
  59. package/lib/typescript/core/icon/index.d.ts +38 -1
  60. package/lib/typescript/core/icon/index.d.ts.map +1 -1
  61. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +5 -1
  62. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts.map +1 -1
  63. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +50 -0
  64. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts.map +1 -1
  65. package/lib/typescript/modules/bottom-nav/BottomNavIconWithBadge.d.ts +25 -0
  66. package/lib/typescript/modules/bottom-nav/BottomNavIconWithBadge.d.ts.map +1 -0
  67. package/lib/typescript/modules/bottom-nav/BottomNavOverflowSheet.d.ts.map +1 -1
  68. package/lib/typescript/modules/charts/BarList.d.ts +18 -0
  69. package/lib/typescript/modules/charts/BarList.d.ts.map +1 -0
  70. package/lib/typescript/modules/charts/Charts.variants.d.ts +26 -0
  71. package/lib/typescript/modules/charts/Charts.variants.d.ts.map +1 -0
  72. package/lib/typescript/modules/charts/DonutChart.d.ts +18 -0
  73. package/lib/typescript/modules/charts/DonutChart.d.ts.map +1 -0
  74. package/lib/typescript/modules/charts/Sparkline.d.ts +13 -0
  75. package/lib/typescript/modules/charts/Sparkline.d.ts.map +1 -0
  76. package/lib/typescript/modules/charts/index.d.ts +13 -0
  77. package/lib/typescript/modules/charts/index.d.ts.map +1 -0
  78. package/lib/typescript/modules/list-item/ListItem.d.ts +15 -0
  79. package/lib/typescript/modules/list-item/ListItem.d.ts.map +1 -0
  80. package/lib/typescript/modules/list-item/ListItem.variants.d.ts +29 -0
  81. package/lib/typescript/modules/list-item/ListItem.variants.d.ts.map +1 -0
  82. package/lib/typescript/modules/list-item/index.d.ts +8 -0
  83. package/lib/typescript/modules/list-item/index.d.ts.map +1 -0
  84. package/lib/typescript/modules/markdown/Markdown.d.ts +10 -0
  85. package/lib/typescript/modules/markdown/Markdown.d.ts.map +1 -0
  86. package/lib/typescript/modules/markdown/Markdown.variants.d.ts +27 -0
  87. package/lib/typescript/modules/markdown/Markdown.variants.d.ts.map +1 -0
  88. package/lib/typescript/modules/markdown/index.d.ts +10 -0
  89. package/lib/typescript/modules/markdown/index.d.ts.map +1 -0
  90. package/lib/typescript/modules/markdown/parseMarkdown.d.ts +43 -0
  91. package/lib/typescript/modules/markdown/parseMarkdown.d.ts.map +1 -0
  92. package/lib/typescript/modules/multi-select/MultiSelect.d.ts +6 -0
  93. package/lib/typescript/modules/multi-select/MultiSelect.d.ts.map +1 -1
  94. package/lib/typescript/modules/select/Select.d.ts +6 -0
  95. package/lib/typescript/modules/select/Select.d.ts.map +1 -1
  96. package/lib/typescript/modules/select/Select.variants.d.ts +3 -0
  97. package/lib/typescript/modules/select/Select.variants.d.ts.map +1 -1
  98. package/lib/typescript/modules/stat-tile/StatTile.d.ts +16 -0
  99. package/lib/typescript/modules/stat-tile/StatTile.d.ts.map +1 -0
  100. package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts +34 -0
  101. package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts.map +1 -0
  102. package/lib/typescript/modules/stat-tile/index.d.ts +9 -0
  103. package/lib/typescript/modules/stat-tile/index.d.ts.map +1 -0
  104. package/lib/typescript/modules/timeline/Timeline.d.ts +4 -0
  105. package/lib/typescript/modules/timeline/Timeline.d.ts.map +1 -1
  106. package/lib/typescript/theme/tokens/builders/accentText.d.ts +6 -0
  107. package/lib/typescript/theme/tokens/builders/accentText.d.ts.map +1 -1
  108. package/package.json +22 -1
  109. package/registry.json +20 -0
@@ -30,6 +30,41 @@ export declare const BOTTOM_NAV_HEIGHT = 56;
30
30
  export declare const BOTTOM_NAV_ICON_SIZE = 22;
31
31
  /** Icon glyph size for a row inside the overflow sheet (search result, Recent, grouped, edit slot). */
32
32
  export declare const OVERFLOW_ROW_ICON_SIZE = 20;
33
+ /** Display cap for the count pill — a count past this renders as "99+"; the accessible name always
34
+ * carries the TRUE count (see `resolveBottomNavBadge`). */
35
+ export declare const BOTTOM_NAV_BADGE_MAX_COUNT = 99;
36
+ /** The count pill's height and minimum width — deliberately below `MIN_TOUCH_TARGET`: the pill is a
37
+ * passive adornment inside its destination's own touchable, never a target itself. */
38
+ export declare const BOTTOM_NAV_BADGE_SIZE = 16;
39
+ export declare const BOTTOM_NAV_BADGE_FONT_SIZE = 10;
40
+ /** The More trigger's presence-only badge dot — same quiet idiom as the bar's active-indicator dot;
41
+ * the summed count still reaches AT users through the trigger's accessible name. */
42
+ export declare const BOTTOM_NAV_BADGE_DOT_SIZE = 8;
43
+ export interface BottomNavBadgeState {
44
+ /** Display text — the count, capped at `"${BOTTOM_NAV_BADGE_MAX_COUNT}+"`. */
45
+ readonly label: string;
46
+ /** Folded into the accessible name — always the true count, never the capped form. */
47
+ readonly accessibilityText: string;
48
+ }
49
+ /** `undefined`/`0` (or any non-positive count) resolves to `null` — the badge renders nothing and
50
+ * leaves the accessible name untouched. */
51
+ export declare function resolveBottomNavBadge(count: number | undefined): BottomNavBadgeState | null;
52
+ /** Sums the positive badge counts across every overflow destination — drives the More trigger's dot
53
+ * and its accessible name. Structurally typed so this file stays free of `BottomNav.tsx` imports. */
54
+ export declare function resolveBottomNavOverflowBadgeTotal(sections: ReadonlyArray<{
55
+ readonly destinations: ReadonlyArray<{
56
+ readonly badge?: number | undefined;
57
+ }>;
58
+ }>): number;
59
+ export interface BottomNavDestinationAccessibilityLabelInput {
60
+ readonly label: string;
61
+ /** An explicit override always wins whole — the badge is never appended to it. */
62
+ readonly accessibilityLabel?: string | undefined;
63
+ readonly badge: BottomNavBadgeState | null;
64
+ }
65
+ /** The accessible name a destination (or the More trigger) announces: the explicit override as-is,
66
+ * else the label with the badge's true count folded in ("Tasks, 5 new items"). */
67
+ export declare function resolveBottomNavDestinationAccessibilityLabel(input: BottomNavDestinationAccessibilityLabelInput): string;
33
68
  /** The edit-mode slot chip's own "this is the pin target" dot — presence/absence, not a re-tint,
34
69
  * same "use of colour" principle the bar's own active indicator documents below. */
35
70
  export declare const EDIT_SLOT_INDICATOR_SIZE = 8;
@@ -69,6 +104,18 @@ export interface BottomNavTabColors {
69
104
  * which tab is active from the dot and the bold label.
70
105
  */
71
106
  export declare function resolveBottomNavTabColors(colors: RoleColors, active: boolean): BottomNavTabColors;
107
+ export interface BottomNavBadgeColors {
108
+ /** Pill/dot fill (WCAG 1.4.11 ≥ 3:1 against the bar's own surface). */
109
+ readonly fill: string;
110
+ /** Count text on `fill` (WCAG 1.4.3 ≥ 4.5:1). */
111
+ readonly label: string;
112
+ }
113
+ /**
114
+ * The badge reads at the accent's SOLID emphasis, not the Badge module's subtle chip fill — a
115
+ * 10dp count on a 16dp pill needs the strongest figure/ground the theme offers, and `accent.solid`
116
+ * is the same role the active-indicator dot already draws from, so the bar stays one accent story.
117
+ */
118
+ export declare function resolveBottomNavBadgeColors(colors: RoleColors): BottomNavBadgeColors;
72
119
  export interface BottomNavTabAccessibilityInput {
73
120
  readonly selected: boolean;
74
121
  /** Only meaningful for the More tab — tracks whether the overflow sheet is showing. */
@@ -115,6 +162,9 @@ export declare const overflowRowStructure: import("../../core/style").ThemedVari
115
162
  /** A grouped overflow section's header row. Omitted entirely for a section with no `label` (a
116
163
  * flat/ungrouped section) — the component, not this resolver, decides whether to render it. */
117
164
  export declare const overflowSectionHeaderStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
165
+ /** The count pill, absolutely positioned over a destination icon's top-right corner. Width grows
166
+ * leftward from the `end` anchor as the count widens ("99+"), never shifting the icon itself. */
167
+ export declare const bottomNavBadgePillStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
118
168
  /** A row inside the edit-mode view — a current-core-tab slot chip, or the "Reset to default" row.
119
169
  * Slightly tighter horizontal padding + a radius than `overflowRowStructure`: these rows read as a
120
170
  * distinct, self-contained mini-list rather than a continuation of the section list below them. */
@@ -1 +1 @@
1
- {"version":3,"file":"BottomNav.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/bottom-nav/BottomNav.variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGrD,gGAAgG;AAChG,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;sGAEsG;AACtG,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,sDAAsD;AACtD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,uGAAuG;AACvG,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC;qFACqF;AACrF,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,mCAAmC,KAAK,CAAC;AAEtD;oGACoG;AACpG,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3F;AAED;;sGAEsG;AACtG,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAChD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;uGACmG;IACnG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAMjG;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC;gGAC4F;IAC5F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,8BAA8B,GACpC,8BAA8B,CAShC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;8FAC8F;AAC9F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAE1E;AAED;;qDAEqD;AACrD,eAAO,MAAM,qBAAqB,uKAK/B,CAAC;AAEJ;8EAC8E;AAC9E,eAAO,MAAM,qBAAqB,uKAS/B,CAAC;AAEJ;mFACmF;AACnF,eAAO,MAAM,oBAAoB,uKAQ9B,CAAC;AAEJ;gGACgG;AAChG,eAAO,MAAM,8BAA8B,uKAMxC,CAAC;AAEJ;;oGAEoG;AACpG,eAAO,MAAM,gBAAgB,uKAS1B,CAAC"}
1
+ {"version":3,"file":"BottomNav.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/bottom-nav/BottomNav.variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGrD,gGAAgG;AAChG,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;sGAEsG;AACtG,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,sDAAsD;AACtD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,uGAAuG;AACvG,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;4DAC4D;AAC5D,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C;uFACuF;AACvF,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C;qFACqF;AACrF,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sFAAsF;IACtF,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED;4CAC4C;AAC5C,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,GAAG,IAAI,CAM3F;AAED;sGACsG;AACtG,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;CAC/E,CAAC,GACD,MAAM,CAQR;AAED,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC5C;AAED;mFACmF;AACnF,wBAAgB,6CAA6C,CAC3D,KAAK,EAAE,2CAA2C,GACjD,MAAM,CAGR;AACD;qFACqF;AACrF,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,mCAAmC,KAAK,CAAC;AAEtD;oGACoG;AACpG,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3F;AAED;;sGAEsG;AACtG,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAChD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;uGACmG;IACnG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAMjG;AAED,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,oBAAoB,CAEpF;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC;gGAC4F;IAC5F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,8BAA8B,GACpC,8BAA8B,CAShC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;8FAC8F;AAC9F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAE1E;AAED;;qDAEqD;AACrD,eAAO,MAAM,qBAAqB,uKAK/B,CAAC;AAEJ;8EAC8E;AAC9E,eAAO,MAAM,qBAAqB,uKAS/B,CAAC;AAEJ;mFACmF;AACnF,eAAO,MAAM,oBAAoB,uKAQ9B,CAAC;AAEJ;gGACgG;AAChG,eAAO,MAAM,8BAA8B,uKAMxC,CAAC;AAEJ;kGACkG;AAClG,eAAO,MAAM,2BAA2B,uKAYrC,CAAC;AAEJ;;oGAEoG;AACpG,eAAO,MAAM,gBAAgB,uKAS1B,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * BottomNavIconWithBadge — PRIVATE sub-component (not exported from `index.ts`, same status as
3
+ * `BottomNavOverflowSheet`). A destination icon plus its optional attention badge, shared by the
4
+ * bar's core tabs, the More trigger, and every overflow-sheet row so the badge renders identically
5
+ * everywhere. `appearance="count"` is the numeric pill (display capped per
6
+ * `BOTTOM_NAV_BADGE_MAX_COUNT`); `appearance="dot"` is the More trigger's presence-only dot — the
7
+ * summed overflow count still reaches AT users through the trigger's accessible name, the visual
8
+ * just stays as quiet as the bar's own active-indicator dot idiom.
9
+ *
10
+ * Takes the raw `badgeCount` primitive, not a resolved `BottomNavBadgeState` object, so this
11
+ * component's `React.memo` actually holds — the parent resolves its own state object for the
12
+ * accessible name but never passes that fresh-per-render object down.
13
+ */
14
+ import type { IconName } from "../../core/icon";
15
+ interface BottomNavIconWithBadgeProps {
16
+ readonly icon: IconName;
17
+ readonly iconSize: number;
18
+ readonly iconColor: string;
19
+ readonly badgeCount: number | undefined;
20
+ readonly appearance?: "count" | "dot";
21
+ readonly badgeTestID: string | undefined;
22
+ }
23
+ export declare const BottomNavIconWithBadge: import("react").NamedExoticComponent<BottomNavIconWithBadgeProps>;
24
+ export {};
25
+ //# sourceMappingURL=BottomNavIconWithBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomNavIconWithBadge.d.ts","sourceRoot":"","sources":["../../../../src/modules/bottom-nav/BottomNavIconWithBadge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAWhD,UAAU,2BAA2B;IACnC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAKD,eAAO,MAAM,sBAAsB,mEAyCjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomNavOverflowSheet.d.ts","sourceRoot":"","sources":["../../../../src/modules/bottom-nav/BottomNavOverflowSheet.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAaH,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAYrB,UAAU,2BAA2B;IACnC,QAAQ,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;IACtD,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IACxC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,wEAAwE;IACxE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAID,eAAO,MAAM,sBAAsB,mEA6NjC,CAAC"}
1
+ {"version":3,"file":"BottomNavOverflowSheet.d.ts","sourceRoot":"","sources":["../../../../src/modules/bottom-nav/BottomNavOverflowSheet.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAaH,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAerB,UAAU,2BAA2B;IACnC,QAAQ,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;IACtD,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IACxC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,wEAAwE;IACxE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAID,eAAO,MAAM,sBAAsB,mEAmOjC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ReactNode } from "react";
2
+ import type { LayoutStyle } from "../../core/style";
3
+ export interface BarListItem {
4
+ readonly label: string;
5
+ readonly value: number;
6
+ readonly color?: string;
7
+ readonly icon?: ReactNode;
8
+ }
9
+ export interface BarListProps {
10
+ items: BarListItem[];
11
+ maxValue?: number;
12
+ onPressItem?: (item: BarListItem, index: number) => void;
13
+ /** Layout-only, outermost, applied exactly once as the LAST entry in the root style array. */
14
+ style?: LayoutStyle;
15
+ testID?: string;
16
+ }
17
+ export declare const BarList: import("react").NamedExoticComponent<BarListProps>;
18
+ //# sourceMappingURL=BarList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarList.d.ts","sourceRoot":"","sources":["../../../../src/modules/charts/BarList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,eAAO,MAAM,OAAO,oDA+DlB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Pure resolvers for the charts module — no React, no svg, so the WCAG tests import this directly
3
+ * (mocking only `react-native`'s `StyleSheet`, as every sibling module's tests do).
4
+ */
5
+ import type { RoleColors, StatusRole, Theme } from "../../theme";
6
+ export type SparklineTone = "accent" | "neutral" | StatusRole;
7
+ export declare const BAR_LIST_TRACK_HEIGHT = 6;
8
+ export interface BarListColors {
9
+ readonly label: string;
10
+ readonly value: string;
11
+ readonly track: string;
12
+ readonly fill: string;
13
+ }
14
+ export declare function resolveBarListColors(colors: RoleColors): BarListColors;
15
+ export interface DonutChartColors {
16
+ readonly track: string;
17
+ readonly centerLabel: string;
18
+ readonly centerSublabel: string;
19
+ }
20
+ export declare function resolveDonutChartColors(colors: RoleColors): DonutChartColors;
21
+ export declare function resolveSparklineTone(colors: RoleColors, tone: SparklineTone): string;
22
+ export declare const barListStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
23
+ export declare const barListRowStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
24
+ export declare const barListHeaderStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
25
+ export declare const barListTrackStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
26
+ //# sourceMappingURL=Charts.variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Charts.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/charts/Charts.variants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGjE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9D,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAOtE;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAM5E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CASpF;AAED,eAAO,MAAM,gBAAgB,uKAI1B,CAAC;AAEJ,eAAO,MAAM,mBAAmB,uKAI7B,CAAC;AAEJ,eAAO,MAAM,sBAAsB,uKAMhC,CAAC;AAEJ,eAAO,MAAM,qBAAqB,uKAM/B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { LayoutStyle } from "../../core/style";
2
+ export interface DonutChartSegment {
3
+ readonly value: number;
4
+ readonly color: string;
5
+ readonly label?: string;
6
+ }
7
+ export interface DonutChartProps {
8
+ segments: DonutChartSegment[];
9
+ size?: number;
10
+ thickness?: number;
11
+ centerLabel?: string;
12
+ centerSublabel?: string;
13
+ /** Layout-only, outermost, applied exactly once as the LAST entry in the root style array. */
14
+ style?: LayoutStyle;
15
+ testID?: string;
16
+ }
17
+ export declare const DonutChart: import("react").NamedExoticComponent<DonutChartProps>;
18
+ //# sourceMappingURL=DonutChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DonutChart.d.ts","sourceRoot":"","sources":["../../../../src/modules/charts/DonutChart.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,eAAO,MAAM,UAAU,uDAsFrB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { LayoutStyle } from "../../core/style";
2
+ import type { SparklineTone } from "./Charts.variants";
3
+ export interface SparklineProps {
4
+ data: number[];
5
+ width?: number;
6
+ height?: number;
7
+ tone?: SparklineTone;
8
+ /** Layout-only, outermost, applied exactly once as the LAST entry in the root style array. */
9
+ style?: LayoutStyle;
10
+ testID?: string;
11
+ }
12
+ export declare const Sparkline: import("react").NamedExoticComponent<SparklineProps>;
13
+ //# sourceMappingURL=Sparkline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sparkline.d.ts","sourceRoot":"","sources":["../../../../src/modules/charts/Sparkline.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqCD,eAAO,MAAM,SAAS,sDA2CpB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Public surface of `pixelize-native-library/charts`. Value exports and type exports are split for
3
+ * `verbatimModuleSyntax`. The resolvers stay internal — a consumer configures a chart through its
4
+ * props, never by importing its internals.
5
+ */
6
+ export { BarList } from "./BarList";
7
+ export type { BarListProps, BarListItem } from "./BarList";
8
+ export { DonutChart } from "./DonutChart";
9
+ export type { DonutChartProps, DonutChartSegment } from "./DonutChart";
10
+ export { Sparkline } from "./Sparkline";
11
+ export type { SparklineProps } from "./Sparkline";
12
+ export type { SparklineTone } from "./Charts.variants";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/charts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from "react";
2
+ import type { LayoutStyle } from "../../core/style";
3
+ export interface ListItemProps {
4
+ leading?: ReactNode;
5
+ title: string;
6
+ subtitle?: string;
7
+ trailing?: ReactNode;
8
+ unread?: boolean;
9
+ onPress?: () => void;
10
+ /** Layout-only, outermost, applied exactly once as the LAST entry in the root style array. */
11
+ style?: LayoutStyle;
12
+ testID?: string;
13
+ }
14
+ export declare const ListItem: import("react").NamedExoticComponent<ListItemProps>;
15
+ //# sourceMappingURL=ListItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../src/modules/list-item/ListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAWpD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,QAAQ,qDAkFnB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Pure resolvers for ListItem — no React, so the WCAG tests import this directly (mocking only
3
+ * `react-native`'s `StyleSheet`, as every sibling module's tests do).
4
+ */
5
+ import type { RoleColors, Theme } from "../../theme";
6
+ export declare const LIST_ITEM_DOT_SIZE = 8;
7
+ export declare const LIST_ITEM_MIN_HEIGHT = 44;
8
+ export interface ListItemColors {
9
+ /** `undefined` for a read row — the row stays transparent over whatever list background hosts it. */
10
+ readonly background: string | undefined;
11
+ readonly pressed: string;
12
+ readonly title: string;
13
+ readonly subtitle: string;
14
+ readonly dot: string;
15
+ }
16
+ export declare function resolveListItemColors(colors: RoleColors, unread: boolean): ListItemColors;
17
+ export interface ListItemAccessibilityInput {
18
+ readonly title: string;
19
+ readonly subtitle: string | undefined;
20
+ readonly unread: boolean;
21
+ }
22
+ export interface ListItemAccessibilityProps {
23
+ readonly accessibilityLabel: string;
24
+ }
25
+ export declare function resolveListItemAccessibility(input: ListItemAccessibilityInput): ListItemAccessibilityProps;
26
+ export declare const listItemStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
27
+ export declare const listItemBodyStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
28
+ export declare const listItemDotStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
29
+ //# sourceMappingURL=ListItem.variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListItem.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/list-item/ListItem.variants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGrD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,qGAAqG;IACrG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc,CAUzF;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,0BAA0B,GAAG,0BAA0B,CAK1G;AAED,eAAO,MAAM,iBAAiB,uKAS3B,CAAC;AAEJ,eAAO,MAAM,qBAAqB,uKAK/B,CAAC;AAEJ,eAAO,MAAM,oBAAoB,uKAM9B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Public surface of `pixelize-native-library/list-item`. Value exports and type exports are split
3
+ * for `verbatimModuleSyntax`. The resolvers stay internal — a consumer configures a ListItem
4
+ * through its props, never by importing its internals.
5
+ */
6
+ export { ListItem } from "./ListItem";
7
+ export type { ListItemProps } from "./ListItem";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/list-item/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { LayoutStyle } from "../../core/style";
2
+ export interface MarkdownProps {
3
+ content: string;
4
+ onLinkPress?: (url: string) => void;
5
+ /** Layout-only, outermost, applied exactly once as the LAST entry in the root style array. */
6
+ style?: LayoutStyle;
7
+ testID?: string;
8
+ }
9
+ export declare const Markdown: import("react").NamedExoticComponent<MarkdownProps>;
10
+ //# sourceMappingURL=Markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../src/modules/markdown/Markdown.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAiBpD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkID,eAAO,MAAM,QAAQ,qDAUnB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Pure resolvers for Markdown — no React, so the WCAG tests import this directly (mocking only
3
+ * `react-native`'s `StyleSheet`, as every sibling module's tests do).
4
+ */
5
+ import type { RoleColors, Theme } from "../../theme";
6
+ export interface MarkdownColors {
7
+ readonly text: string;
8
+ readonly heading: string;
9
+ readonly codeBackground: string;
10
+ readonly code: string;
11
+ readonly link: string;
12
+ readonly quoteBorder: string;
13
+ readonly quoteText: string;
14
+ readonly listMarker: string;
15
+ }
16
+ export declare function resolveMarkdownColors(colors: RoleColors): MarkdownColors;
17
+ export interface MarkdownHeadingSpec {
18
+ readonly fontSize: number;
19
+ readonly fontWeight: "semibold" | "bold";
20
+ }
21
+ export declare function resolveMarkdownHeading(theme: Theme, level: 1 | 2 | 3): MarkdownHeadingSpec;
22
+ export declare const markdownStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
23
+ export declare const markdownCodeBlockStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
24
+ export declare const markdownBlockquoteStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
25
+ export declare const markdownListStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
26
+ export declare const markdownListRowStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
27
+ //# sourceMappingURL=Markdown.variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markdown.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/markdown/Markdown.variants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGrD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAWxE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC;CAC1C;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAS1F;AAED,eAAO,MAAM,iBAAiB,uKAI3B,CAAC;AAEJ,eAAO,MAAM,0BAA0B,uKAKpC,CAAC;AAEJ,eAAO,MAAM,2BAA2B,uKAKrC,CAAC;AAEJ,eAAO,MAAM,qBAAqB,uKAI/B,CAAC;AAEJ,eAAO,MAAM,wBAAwB,uKAKlC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Public surface of `pixelize-native-library/markdown`. Value exports and type exports are split
3
+ * for `verbatimModuleSyntax`. The parser is exported for consumers that need the node tree
4
+ * (e.g. extracting plain text); the style resolvers stay internal.
5
+ */
6
+ export { Markdown } from "./Markdown";
7
+ export type { MarkdownProps } from "./Markdown";
8
+ export { parseMarkdown } from "./parseMarkdown";
9
+ export type { MarkdownBlockNode, MarkdownInlineNode } from "./parseMarkdown";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * A small hand-rolled markdown parser — no dependencies, never throws. Supports the subset the
3
+ * renderer draws: h1–h3, bold, italic, inline code, fenced code blocks, unordered/ordered lists,
4
+ * links, blockquotes, paragraphs. Anything malformed degrades to literal text.
5
+ */
6
+ export type MarkdownInlineNode = {
7
+ readonly type: "text";
8
+ readonly content: string;
9
+ } | {
10
+ readonly type: "bold";
11
+ readonly content: string;
12
+ } | {
13
+ readonly type: "italic";
14
+ readonly content: string;
15
+ } | {
16
+ readonly type: "code";
17
+ readonly content: string;
18
+ } | {
19
+ readonly type: "link";
20
+ readonly content: string;
21
+ readonly url: string;
22
+ };
23
+ export type MarkdownBlockNode = {
24
+ readonly type: "heading";
25
+ readonly level: 1 | 2 | 3;
26
+ readonly children: readonly MarkdownInlineNode[];
27
+ } | {
28
+ readonly type: "paragraph";
29
+ readonly children: readonly MarkdownInlineNode[];
30
+ } | {
31
+ readonly type: "code-block";
32
+ readonly content: string;
33
+ } | {
34
+ readonly type: "blockquote";
35
+ readonly children: readonly MarkdownInlineNode[];
36
+ } | {
37
+ readonly type: "list";
38
+ readonly ordered: boolean;
39
+ readonly items: readonly (readonly MarkdownInlineNode[])[];
40
+ };
41
+ export declare function parseInline(text: string): MarkdownInlineNode[];
42
+ export declare function parseMarkdown(content: string): MarkdownBlockNode[];
43
+ //# sourceMappingURL=parseMarkdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMarkdown.d.ts","sourceRoot":"","sources":["../../../../src/modules/markdown/parseMarkdown.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;CAAE,GACzG;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;CAAE,GACjF;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,kBAAkB,EAAE,CAAC,EAAE,CAAC;CAC5D,CAAC;AAWN,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAiB9D;AAkFD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAMlE"}
@@ -11,11 +11,17 @@
11
11
  * `Modal` component), so MultiSelect reads the same ones `Modal.tsx`/`Select.tsx` read to stay
12
12
  * consistent once a consumer opts in via `ModalPortalProvider` — see `../modal/ModalPortalContext.ts`.
13
13
  */
14
+ import type { ReactNode } from "react";
14
15
  import type { LayoutStyle } from "../../core/style";
15
16
  import type { MultiSelectSize } from "./MultiSelect.variants";
16
17
  export interface MultiSelectOption {
17
18
  readonly label: string;
18
19
  readonly value: string;
20
+ /** Optional adornment rendered between the checkbox indicator and the label (e.g. an avatar) —
21
+ * for domain visuals a name-keyed `IconName` cannot express. Same ReactNode content-slot
22
+ * precedent as `ListItem`'s `leading` and `Select`'s option `leading`. Fixed-size nodes only;
23
+ * the label still owns the row's flexible width. */
24
+ readonly leading?: ReactNode;
19
25
  }
20
26
  export interface MultiSelectProps {
21
27
  options: MultiSelectOption[];
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../../src/modules/multi-select/MultiSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAqBpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,eAAO,MAAM,WAAW,wDA0LtB,CAAC"}
1
+ {"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../../src/modules/multi-select/MultiSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAqBpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;yDAGqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,eAAO,MAAM,WAAW,wDA2LtB,CAAC"}
@@ -9,11 +9,17 @@
9
9
  * `Modal` component), so Select reads the same ones `Modal.tsx` reads to stay consistent once a
10
10
  * consumer opts in via `ModalPortalProvider` — see `../modal/ModalPortalContext.ts`.
11
11
  */
12
+ import type { ReactNode } from "react";
12
13
  import type { LayoutStyle } from "../../core/style";
13
14
  import type { SelectSize } from "./Select.variants";
14
15
  export interface SelectOption {
15
16
  readonly label: string;
16
17
  readonly value: string;
18
+ /** Optional adornment rendered before the label — on the option row AND on the trigger while
19
+ * this option is selected. For domain visuals a name-keyed `IconName` cannot express (status
20
+ * chips, priority glyphs, avatars) — same ReactNode content-slot precedent as `ListItem`'s
21
+ * `leading`. The node must be fixed-size; the label still owns the row's flexible width. */
22
+ readonly leading?: ReactNode;
17
23
  }
18
24
  export interface SelectProps {
19
25
  options: SelectOption[];
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/modules/select/Select.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAgBpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,eAAO,MAAM,MAAM,mDAuJjB,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/modules/select/Select.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAiBpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;iGAG6F;IAC7F,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,eAAO,MAAM,MAAM,mDA2JjB,CAAC"}
@@ -119,6 +119,9 @@ export declare const selectTriggerStructure: import("../../core/style").ThemedVa
119
119
  };
120
120
  };
121
121
  }, import("react-native").ViewStyle>;
122
+ /** The trigger's value cluster — an option's `leading` adornment + the displayed label — kept in
123
+ * one shrinkable row so the chevron stays pinned right by the trigger's own space-between. */
124
+ export declare const selectTriggerValueStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
122
125
  /** The full-screen overlay the sheet centers in. `box-none` (applied by the component) lets a tap
123
126
  * on its empty padding fall through to the backdrop press underneath. */
124
127
  export declare const selectOverlayStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
@@ -1 +1 @@
1
- {"version":3,"file":"Select.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/select/Select.variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGrD,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAInC,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAI8B,CAAC;AAExD,kGAAkG;AAClG,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,gGAAgG;AAChG,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mGAAmG;IACnG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAQpG;AAED,MAAM,WAAW,eAAe;IAC9B;;;wGAGoG;IACpG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;wGACoG;IACpG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,CAM1E;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACxF,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,wBAAwB,GAAG,wBAAwB,CAOpG;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;oCAiBhC,CAAC;AAEJ;0EAC0E;AAC1E,eAAO,MAAM,sBAAsB,uKAMhC,CAAC;AAEJ,eAAO,MAAM,oBAAoB,uKAO9B,CAAC;AAEJ,eAAO,MAAM,kBAAkB,uKAS5B,CAAC"}
1
+ {"version":3,"file":"Select.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/select/Select.variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGrD,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAInC,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAI8B,CAAC;AAExD,kGAAkG;AAClG,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,gGAAgG;AAChG,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mGAAmG;IACnG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAQpG;AAED,MAAM,WAAW,eAAe;IAC9B;;;wGAGoG;IACpG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;wGACoG;IACpG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,CAM1E;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACxF,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,wBAAwB,GAAG,wBAAwB,CAOpG;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;oCAiBhC,CAAC;AAEJ;+FAC+F;AAC/F,eAAO,MAAM,2BAA2B,uKAOrC,CAAC;AAEJ;0EAC0E;AAC1E,eAAO,MAAM,sBAAsB,uKAMhC,CAAC;AAEJ,eAAO,MAAM,oBAAoB,uKAO9B,CAAC;AAEJ,eAAO,MAAM,kBAAkB,uKAS5B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { ReactNode } from "react";
2
+ import type { LayoutStyle } from "../../core/style";
3
+ import type { StatTileTone } from "./StatTile.variants";
4
+ export interface StatTileProps {
5
+ label: string;
6
+ value: string | number;
7
+ icon?: ReactNode;
8
+ tone?: StatTileTone;
9
+ onPress?: () => void;
10
+ loading?: boolean;
11
+ /** Layout-only, outermost, applied exactly once as the LAST entry in the root style array. */
12
+ style?: LayoutStyle;
13
+ testID?: string;
14
+ }
15
+ export declare const StatTile: import("react").NamedExoticComponent<StatTileProps>;
16
+ //# sourceMappingURL=StatTile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatTile.d.ts","sourceRoot":"","sources":["../../../../src/modules/stat-tile/StatTile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAWpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,eAAO,MAAM,QAAQ,qDA6FnB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Pure resolvers for StatTile — no React, so the WCAG tests import this directly (mocking only
3
+ * `react-native`'s `StyleSheet`, as every sibling module's tests do).
4
+ */
5
+ import type { RoleColors, StatusRole, Theme } from "../../theme";
6
+ export type StatTileTone = "accent" | "neutral" | StatusRole;
7
+ export interface StatTileColors {
8
+ readonly background: string;
9
+ readonly pressed: string;
10
+ readonly label: string;
11
+ readonly value: string;
12
+ /** The icon chip's tinted fill for the active `tone`. */
13
+ readonly iconFill: string;
14
+ }
15
+ export declare function resolveStatTileColors(colors: RoleColors, tone: StatTileTone): StatTileColors;
16
+ export interface StatTileAccessibilityInput {
17
+ readonly label: string;
18
+ readonly value: string | number;
19
+ readonly loading: boolean;
20
+ readonly pressable: boolean;
21
+ }
22
+ export interface StatTileAccessibilityProps {
23
+ readonly accessible: true;
24
+ readonly accessibilityRole: "button" | "text";
25
+ readonly accessibilityLabel: string;
26
+ readonly accessibilityState: {
27
+ readonly busy: boolean;
28
+ };
29
+ }
30
+ export declare function resolveStatTileAccessibility(input: StatTileAccessibilityInput): StatTileAccessibilityProps;
31
+ export declare const statTileStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
32
+ export declare const statTileIconStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
33
+ export declare const statTileBodyStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
34
+ //# sourceMappingURL=StatTile.variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatTile.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/stat-tile/StatTile.variants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGjE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,cAAc,CAY5F;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CACzD;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,0BAA0B,GAAG,0BAA0B,CAO1G;AAED,eAAO,MAAM,iBAAiB,uKAQ3B,CAAC;AAEJ,eAAO,MAAM,qBAAqB,uKAQ/B,CAAC;AAEJ,eAAO,MAAM,qBAAqB,uKAK/B,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Public surface of `pixelize-native-library/stat-tile`. Value exports and type exports are split
3
+ * for `verbatimModuleSyntax`. The resolvers stay internal — a consumer configures a StatTile
4
+ * through its props, never by importing its internals.
5
+ */
6
+ export { StatTile } from "./StatTile";
7
+ export type { StatTileProps } from "./StatTile";
8
+ export type { StatTileTone } from "./StatTile.variants";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/stat-tile/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
@@ -8,6 +8,7 @@
8
8
  * documents ("nothing here for `accessibilityRole` to announce — children carry their own
9
9
  * semantics").
10
10
  */
11
+ import type { ReactNode } from "react";
11
12
  import type { IconName } from "../../core/icon";
12
13
  import type { LayoutStyle } from "../../core/style";
13
14
  export interface TimelineItem {
@@ -17,6 +18,9 @@ export interface TimelineItem {
17
18
  /** A NAME, never a `ReactNode`. Always paired with the visible `title` — never the sole label of
18
19
  * anything, so it carries no `accessibilityLabel` requirement of its own. */
19
20
  readonly icon?: IconName;
21
+ /** Rendered in place of the default marker (dot or icon circle). Decorative like the marker it
22
+ * replaces — it sits inside the AT-hidden connector column. */
23
+ readonly leading?: ReactNode;
20
24
  }
21
25
  export interface TimelineProps {
22
26
  items: TimelineItem[];
@@ -1 +1 @@
1
- {"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../src/modules/timeline/Timeline.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAapD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;kFAC8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,eAAO,MAAM,QAAQ,qDAsFnB,CAAC"}
1
+ {"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../src/modules/timeline/Timeline.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAapD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;kFAC8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB;oEACgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,eAAO,MAAM,QAAQ,qDA0FnB,CAAC"}