@oxyhq/bloom 0.29.6 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/lib/commonjs/activity-heatmap/ActivityHeatmap.js +304 -0
  2. package/lib/commonjs/activity-heatmap/ActivityHeatmap.js.map +1 -0
  3. package/lib/commonjs/activity-heatmap/bucketByDay.js +51 -0
  4. package/lib/commonjs/activity-heatmap/bucketByDay.js.map +1 -0
  5. package/lib/commonjs/activity-heatmap/index.js +20 -0
  6. package/lib/commonjs/activity-heatmap/index.js.map +1 -0
  7. package/lib/commonjs/activity-heatmap/types.js +6 -0
  8. package/lib/commonjs/activity-heatmap/types.js.map +1 -0
  9. package/lib/commonjs/avatar-group/AvatarGroupBase.js +42 -18
  10. package/lib/commonjs/avatar-group/AvatarGroupBase.js.map +1 -1
  11. package/lib/commonjs/composition-bar/CompositionBar.js +159 -0
  12. package/lib/commonjs/composition-bar/CompositionBar.js.map +1 -0
  13. package/lib/commonjs/composition-bar/index.js +13 -0
  14. package/lib/commonjs/composition-bar/index.js.map +1 -0
  15. package/lib/commonjs/composition-bar/types.js +6 -0
  16. package/lib/commonjs/composition-bar/types.js.map +1 -0
  17. package/lib/commonjs/dot-grid-meter/DotGridMeter.js +69 -0
  18. package/lib/commonjs/dot-grid-meter/DotGridMeter.js.map +1 -0
  19. package/lib/commonjs/dot-grid-meter/index.js +13 -0
  20. package/lib/commonjs/dot-grid-meter/index.js.map +1 -0
  21. package/lib/commonjs/dot-grid-meter/types.js +6 -0
  22. package/lib/commonjs/dot-grid-meter/types.js.map +1 -0
  23. package/lib/commonjs/index.js +59 -12
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/index.web.js +59 -12
  26. package/lib/commonjs/index.web.js.map +1 -1
  27. package/lib/commonjs/profile-card/ProfileCard.js +301 -0
  28. package/lib/commonjs/profile-card/ProfileCard.js.map +1 -0
  29. package/lib/commonjs/profile-card/index.js +13 -0
  30. package/lib/commonjs/profile-card/index.js.map +1 -0
  31. package/lib/commonjs/profile-card/types.js +6 -0
  32. package/lib/commonjs/profile-card/types.js.map +1 -0
  33. package/lib/commonjs/stat-bar/StatBar.js +210 -0
  34. package/lib/commonjs/stat-bar/StatBar.js.map +1 -0
  35. package/lib/commonjs/stat-bar/index.js +13 -0
  36. package/lib/commonjs/stat-bar/index.js.map +1 -0
  37. package/lib/commonjs/stat-bar/types.js +6 -0
  38. package/lib/commonjs/stat-bar/types.js.map +1 -0
  39. package/lib/module/activity-heatmap/ActivityHeatmap.js +299 -0
  40. package/lib/module/activity-heatmap/ActivityHeatmap.js.map +1 -0
  41. package/lib/module/activity-heatmap/bucketByDay.js +47 -0
  42. package/lib/module/activity-heatmap/bucketByDay.js.map +1 -0
  43. package/lib/module/activity-heatmap/index.js +5 -0
  44. package/lib/module/activity-heatmap/index.js.map +1 -0
  45. package/lib/module/activity-heatmap/types.js +4 -0
  46. package/lib/module/activity-heatmap/types.js.map +1 -0
  47. package/lib/module/avatar-group/AvatarGroupBase.js +42 -18
  48. package/lib/module/avatar-group/AvatarGroupBase.js.map +1 -1
  49. package/lib/module/composition-bar/CompositionBar.js +154 -0
  50. package/lib/module/composition-bar/CompositionBar.js.map +1 -0
  51. package/lib/module/composition-bar/index.js +4 -0
  52. package/lib/module/composition-bar/index.js.map +1 -0
  53. package/lib/module/composition-bar/types.js +4 -0
  54. package/lib/module/composition-bar/types.js.map +1 -0
  55. package/lib/module/dot-grid-meter/DotGridMeter.js +64 -0
  56. package/lib/module/dot-grid-meter/DotGridMeter.js.map +1 -0
  57. package/lib/module/dot-grid-meter/index.js +4 -0
  58. package/lib/module/dot-grid-meter/index.js.map +1 -0
  59. package/lib/module/dot-grid-meter/types.js +4 -0
  60. package/lib/module/dot-grid-meter/types.js.map +1 -0
  61. package/lib/module/index.js +6 -0
  62. package/lib/module/index.js.map +1 -1
  63. package/lib/module/index.web.js +6 -0
  64. package/lib/module/index.web.js.map +1 -1
  65. package/lib/module/profile-card/ProfileCard.js +296 -0
  66. package/lib/module/profile-card/ProfileCard.js.map +1 -0
  67. package/lib/module/profile-card/index.js +4 -0
  68. package/lib/module/profile-card/index.js.map +1 -0
  69. package/lib/module/profile-card/types.js +4 -0
  70. package/lib/module/profile-card/types.js.map +1 -0
  71. package/lib/module/stat-bar/StatBar.js +205 -0
  72. package/lib/module/stat-bar/StatBar.js.map +1 -0
  73. package/lib/module/stat-bar/index.js +4 -0
  74. package/lib/module/stat-bar/index.js.map +1 -0
  75. package/lib/module/stat-bar/types.js +4 -0
  76. package/lib/module/stat-bar/types.js.map +1 -0
  77. package/lib/typescript/commonjs/activity-heatmap/ActivityHeatmap.d.ts +4 -0
  78. package/lib/typescript/commonjs/activity-heatmap/ActivityHeatmap.d.ts.map +1 -0
  79. package/lib/typescript/commonjs/activity-heatmap/bucketByDay.d.ts +9 -0
  80. package/lib/typescript/commonjs/activity-heatmap/bucketByDay.d.ts.map +1 -0
  81. package/lib/typescript/commonjs/activity-heatmap/index.d.ts +4 -0
  82. package/lib/typescript/commonjs/activity-heatmap/index.d.ts.map +1 -0
  83. package/lib/typescript/commonjs/activity-heatmap/types.d.ts +73 -0
  84. package/lib/typescript/commonjs/activity-heatmap/types.d.ts.map +1 -0
  85. package/lib/typescript/commonjs/avatar-group/AvatarGroupBase.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/avatar-group/types.d.ts +15 -1
  87. package/lib/typescript/commonjs/avatar-group/types.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/composition-bar/CompositionBar.d.ts +4 -0
  89. package/lib/typescript/commonjs/composition-bar/CompositionBar.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/composition-bar/index.d.ts +3 -0
  91. package/lib/typescript/commonjs/composition-bar/index.d.ts.map +1 -0
  92. package/lib/typescript/commonjs/composition-bar/types.d.ts +29 -0
  93. package/lib/typescript/commonjs/composition-bar/types.d.ts.map +1 -0
  94. package/lib/typescript/commonjs/dot-grid-meter/DotGridMeter.d.ts +4 -0
  95. package/lib/typescript/commonjs/dot-grid-meter/DotGridMeter.d.ts.map +1 -0
  96. package/lib/typescript/commonjs/dot-grid-meter/index.d.ts +3 -0
  97. package/lib/typescript/commonjs/dot-grid-meter/index.d.ts.map +1 -0
  98. package/lib/typescript/commonjs/dot-grid-meter/types.d.ts +36 -0
  99. package/lib/typescript/commonjs/dot-grid-meter/types.d.ts.map +1 -0
  100. package/lib/typescript/commonjs/index.d.ts +10 -0
  101. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/index.web.d.ts +10 -0
  103. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/profile-card/ProfileCard.d.ts +4 -0
  105. package/lib/typescript/commonjs/profile-card/ProfileCard.d.ts.map +1 -0
  106. package/lib/typescript/commonjs/profile-card/index.d.ts +3 -0
  107. package/lib/typescript/commonjs/profile-card/index.d.ts.map +1 -0
  108. package/lib/typescript/commonjs/profile-card/types.d.ts +86 -0
  109. package/lib/typescript/commonjs/profile-card/types.d.ts.map +1 -0
  110. package/lib/typescript/commonjs/stat-bar/StatBar.d.ts +4 -0
  111. package/lib/typescript/commonjs/stat-bar/StatBar.d.ts.map +1 -0
  112. package/lib/typescript/commonjs/stat-bar/index.d.ts +3 -0
  113. package/lib/typescript/commonjs/stat-bar/index.d.ts.map +1 -0
  114. package/lib/typescript/commonjs/stat-bar/types.d.ts +62 -0
  115. package/lib/typescript/commonjs/stat-bar/types.d.ts.map +1 -0
  116. package/lib/typescript/module/activity-heatmap/ActivityHeatmap.d.ts +4 -0
  117. package/lib/typescript/module/activity-heatmap/ActivityHeatmap.d.ts.map +1 -0
  118. package/lib/typescript/module/activity-heatmap/bucketByDay.d.ts +9 -0
  119. package/lib/typescript/module/activity-heatmap/bucketByDay.d.ts.map +1 -0
  120. package/lib/typescript/module/activity-heatmap/index.d.ts +4 -0
  121. package/lib/typescript/module/activity-heatmap/index.d.ts.map +1 -0
  122. package/lib/typescript/module/activity-heatmap/types.d.ts +73 -0
  123. package/lib/typescript/module/activity-heatmap/types.d.ts.map +1 -0
  124. package/lib/typescript/module/avatar-group/AvatarGroupBase.d.ts.map +1 -1
  125. package/lib/typescript/module/avatar-group/types.d.ts +15 -1
  126. package/lib/typescript/module/avatar-group/types.d.ts.map +1 -1
  127. package/lib/typescript/module/composition-bar/CompositionBar.d.ts +4 -0
  128. package/lib/typescript/module/composition-bar/CompositionBar.d.ts.map +1 -0
  129. package/lib/typescript/module/composition-bar/index.d.ts +3 -0
  130. package/lib/typescript/module/composition-bar/index.d.ts.map +1 -0
  131. package/lib/typescript/module/composition-bar/types.d.ts +29 -0
  132. package/lib/typescript/module/composition-bar/types.d.ts.map +1 -0
  133. package/lib/typescript/module/dot-grid-meter/DotGridMeter.d.ts +4 -0
  134. package/lib/typescript/module/dot-grid-meter/DotGridMeter.d.ts.map +1 -0
  135. package/lib/typescript/module/dot-grid-meter/index.d.ts +3 -0
  136. package/lib/typescript/module/dot-grid-meter/index.d.ts.map +1 -0
  137. package/lib/typescript/module/dot-grid-meter/types.d.ts +36 -0
  138. package/lib/typescript/module/dot-grid-meter/types.d.ts.map +1 -0
  139. package/lib/typescript/module/index.d.ts +10 -0
  140. package/lib/typescript/module/index.d.ts.map +1 -1
  141. package/lib/typescript/module/index.web.d.ts +10 -0
  142. package/lib/typescript/module/index.web.d.ts.map +1 -1
  143. package/lib/typescript/module/profile-card/ProfileCard.d.ts +4 -0
  144. package/lib/typescript/module/profile-card/ProfileCard.d.ts.map +1 -0
  145. package/lib/typescript/module/profile-card/index.d.ts +3 -0
  146. package/lib/typescript/module/profile-card/index.d.ts.map +1 -0
  147. package/lib/typescript/module/profile-card/types.d.ts +86 -0
  148. package/lib/typescript/module/profile-card/types.d.ts.map +1 -0
  149. package/lib/typescript/module/stat-bar/StatBar.d.ts +4 -0
  150. package/lib/typescript/module/stat-bar/StatBar.d.ts.map +1 -0
  151. package/lib/typescript/module/stat-bar/index.d.ts +3 -0
  152. package/lib/typescript/module/stat-bar/index.d.ts.map +1 -0
  153. package/lib/typescript/module/stat-bar/types.d.ts +62 -0
  154. package/lib/typescript/module/stat-bar/types.d.ts.map +1 -0
  155. package/package.json +56 -1
  156. package/src/__tests__/StatWidgets.test.tsx +184 -0
  157. package/src/__tests__/public-api-contract.test.ts +15 -0
  158. package/src/activity-heatmap/ActivityHeatmap.stories.tsx +108 -0
  159. package/src/activity-heatmap/ActivityHeatmap.tsx +289 -0
  160. package/src/activity-heatmap/bucketByDay.ts +49 -0
  161. package/src/activity-heatmap/index.ts +3 -0
  162. package/src/activity-heatmap/types.ts +74 -0
  163. package/src/avatar-group/AvatarGroup.stories.tsx +14 -0
  164. package/src/avatar-group/AvatarGroupBase.tsx +39 -18
  165. package/src/avatar-group/types.ts +15 -1
  166. package/src/composition-bar/CompositionBar.stories.tsx +70 -0
  167. package/src/composition-bar/CompositionBar.tsx +161 -0
  168. package/src/composition-bar/index.ts +2 -0
  169. package/src/composition-bar/types.ts +30 -0
  170. package/src/dot-grid-meter/DotGridMeter.stories.tsx +47 -0
  171. package/src/dot-grid-meter/DotGridMeter.tsx +71 -0
  172. package/src/dot-grid-meter/index.ts +2 -0
  173. package/src/dot-grid-meter/types.ts +36 -0
  174. package/src/index.ts +24 -0
  175. package/src/index.web.ts +24 -0
  176. package/src/profile-card/ProfileCard.stories.tsx +210 -0
  177. package/src/profile-card/ProfileCard.tsx +303 -0
  178. package/src/profile-card/index.ts +9 -0
  179. package/src/profile-card/types.ts +86 -0
  180. package/src/stat-bar/StatBar.stories.tsx +61 -0
  181. package/src/stat-bar/StatBar.tsx +156 -0
  182. package/src/stat-bar/index.ts +7 -0
  183. package/src/stat-bar/types.ts +65 -0
@@ -23,11 +23,13 @@ function getItemKey(item, index) {
23
23
 
24
24
  const AvatarGroupBaseComponent = ({
25
25
  items,
26
+ layout = 'stack',
26
27
  size = 32,
27
28
  variant = 'thumb',
28
29
  max = 5,
29
30
  total,
30
31
  overlap,
32
+ spacing,
31
33
  ringColor,
32
34
  onPressItem,
33
35
  style,
@@ -35,6 +37,7 @@ const AvatarGroupBaseComponent = ({
35
37
  hoverHandlers
36
38
  }) => {
37
39
  const theme = useTheme();
40
+ const isRow = layout === 'row';
38
41
 
39
42
  // The ring is the thin separator drawn between overlapping avatars. It
40
43
  // defaults to the page background so avatars read as cleanly punched out of
@@ -46,15 +49,28 @@ const AvatarGroupBaseComponent = ({
46
49
  // 1px border on each side, so the negative margin absorbs both borders to
47
50
  // keep the visual overlap equal to `effectiveOverlap`.
48
51
  const negativeMargin = -(effectiveOverlap + RING_WIDTH * 2);
52
+ // Row layout: a positive gap between adjacent avatars (no overlap, no ring).
53
+ const rowGap = spacing ?? Math.round(size * DEFAULT_OVERLAP_RATIO);
54
+ // Horizontal offset applied to every avatar after the first.
55
+ const itemMargin = isRow ? rowGap : negativeMargin;
49
56
  const shown = useMemo(() => items.slice(0, Math.max(0, max)), [items, max]);
50
57
  const realTotal = total ?? items.length;
51
58
  const overflow = Math.max(0, realTotal - shown.length);
52
59
 
53
- // Each cell is a circular, clipped container with a 1px ring border. The inner
54
- // Avatar is inset by the border on both sides so the image fills the circle
55
- // exactly inside the ring.
56
- const innerSize = size - RING_WIDTH * 2;
60
+ // Stack: each cell is a circular, clipped container with a 1px ring border,
61
+ // and the inner Avatar is inset by the border on both sides. Row: no ring, so
62
+ // the Avatar fills the full cell.
63
+ const innerSize = isRow ? size : size - RING_WIDTH * 2;
57
64
  const cellStyle = useMemo(() => {
65
+ if (isRow) {
66
+ return {
67
+ width: size,
68
+ height: size,
69
+ borderRadius: size / 2,
70
+ alignItems: 'center',
71
+ justifyContent: 'center'
72
+ };
73
+ }
58
74
  return {
59
75
  width: size,
60
76
  height: size,
@@ -65,7 +81,7 @@ const AvatarGroupBaseComponent = ({
65
81
  alignItems: 'center',
66
82
  justifyContent: 'center'
67
83
  };
68
- }, [size, ring]);
84
+ }, [isRow, size, ring]);
69
85
  const overflowTextStyle = useMemo(() => ({
70
86
  color: '#FFFFFF',
71
87
  fontSize: Math.max(fontSize._2xs, Math.round(size * 0.36)),
@@ -85,14 +101,18 @@ const AvatarGroupBaseComponent = ({
85
101
  const name = getItemName(item);
86
102
  const accessibilityLabel = item.username ? `${name ?? item.username} (@${item.username})` : name;
87
103
 
88
- // The negative margin and stacking order live on the outermost
89
- // row element so layout and hit-testing stay aligned with the visual
90
- // overlap. Earlier siblings render on top of later ones.
104
+ // The horizontal margin and stacking order live on the outermost row
105
+ // element so layout and hit-testing stay aligned with the visual
106
+ // overlap. In stack mode earlier siblings render on top of later ones
107
+ // (descending zIndex); in row mode there is no overlap so stacking
108
+ // order is irrelevant.
91
109
  const wrapperStyle = {
92
110
  ...(index > 0 && {
93
- marginLeft: negativeMargin
111
+ marginLeft: itemMargin
94
112
  }),
95
- zIndex: shown.length - index
113
+ ...(isRow ? {} : {
114
+ zIndex: shown.length - index
115
+ })
96
116
  };
97
117
  const cell = /*#__PURE__*/_jsx(View, {
98
118
  ref: hoverHandlers?.registerCellRef ? node => hoverHandlers.registerCellRef?.(index, node) : undefined,
@@ -122,7 +142,8 @@ const AvatarGroupBaseComponent = ({
122
142
  }), overflow > 0 && /*#__PURE__*/_jsx(OverflowCircle, {
123
143
  count: overflow,
124
144
  cellStyle: cellStyle,
125
- negativeMargin: shown.length > 0 ? negativeMargin : 0,
145
+ marginLeft: shown.length > 0 ? itemMargin : 0,
146
+ isRow: isRow,
126
147
  textStyle: overflowTextStyle,
127
148
  onPress: overflowOnPress
128
149
  })]
@@ -131,19 +152,22 @@ const AvatarGroupBaseComponent = ({
131
152
  function OverflowCircle({
132
153
  count,
133
154
  cellStyle,
134
- negativeMargin,
155
+ marginLeft,
156
+ isRow,
135
157
  textStyle,
136
158
  onPress
137
159
  }) {
138
160
  const theme = useTheme();
139
- // The count circle is anchored at the lowest stacking order so it tucks behind
140
- // the last avatar's ring. The margin lives on the outer element to keep layout
141
- // aligned with the overlap.
161
+ // In stack mode the count circle is anchored at the lowest stacking order so
162
+ // it tucks behind the last avatar's ring; row mode has no overlap. The margin
163
+ // lives on the outer element to keep layout aligned with the spacing.
142
164
  const wrapperStyle = {
143
- ...(negativeMargin !== 0 && {
144
- marginLeft: negativeMargin
165
+ ...(marginLeft !== 0 && {
166
+ marginLeft
145
167
  }),
146
- zIndex: 0
168
+ ...(isRow ? {} : {
169
+ zIndex: 0
170
+ })
147
171
  };
148
172
 
149
173
  // A solid "+N" count circle: secondary-text-colored fill with white text,
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useMemo","Pressable","StyleSheet","Text","View","Avatar","useTheme","fontSize","jsx","_jsx","jsxs","_jsxs","RING_WIDTH","DEFAULT_OVERLAP_RATIO","getItemName","item","displayName","name","username","getItemKey","index","id","uri","AvatarGroupBaseComponent","items","size","variant","max","total","overlap","ringColor","onPressItem","style","testID","hoverHandlers","theme","ring","colors","background","effectiveOverlap","Math","round","negativeMargin","shown","slice","realTotal","length","overflow","innerSize","cellStyle","width","height","borderRadius","borderWidth","borderColor","alignItems","justifyContent","overflowTextStyle","color","_2xs","fontWeight","interactive","hoverable","onHoverIn","onHoverOut","firstHidden","overflowOnPress","undefined","styles","row","children","map","accessibilityLabel","wrapperStyle","marginLeft","zIndex","cell","ref","registerCellRef","node","collapsable","source","onPress","accessibilityRole","OverflowCircle","count","textStyle","circle","backgroundColor","textSecondary","allowFontScaling","create","flexDirection","AvatarGroupBase"],"sourceRoot":"../../../src","sources":["avatar-group/AvatarGroupBase.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useMemo","Pressable","StyleSheet","Text","View","Avatar","useTheme","fontSize","jsx","_jsx","jsxs","_jsxs","RING_WIDTH","DEFAULT_OVERLAP_RATIO","getItemName","item","displayName","name","username","getItemKey","index","id","uri","AvatarGroupBaseComponent","items","layout","size","variant","max","total","overlap","spacing","ringColor","onPressItem","style","testID","hoverHandlers","theme","isRow","ring","colors","background","effectiveOverlap","Math","round","negativeMargin","rowGap","itemMargin","shown","slice","realTotal","length","overflow","innerSize","cellStyle","width","height","borderRadius","alignItems","justifyContent","borderWidth","borderColor","overflowTextStyle","color","_2xs","fontWeight","interactive","hoverable","onHoverIn","onHoverOut","firstHidden","overflowOnPress","undefined","styles","row","children","map","accessibilityLabel","wrapperStyle","marginLeft","zIndex","cell","ref","registerCellRef","node","collapsable","source","onPress","accessibilityRole","OverflowCircle","count","textStyle","circle","backgroundColor","textSecondary","allowFontScaling","create","flexDirection","AvatarGroupBase"],"sourceRoot":"../../../src","sources":["avatar-group/AvatarGroupBase.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ import React, { memo, useMemo } from 'react';
4
+ import { View, StyleSheet, Pressable } from 'react-native';
5
+ import { useTheme } from "../theme/use-theme.js";
6
+ import { Text } from "../typography/index.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const BAR_HEIGHT = 44;
9
+ /** Fully-rounded capsule ends. */
10
+ const RADIUS_FULL = BAR_HEIGHT / 2;
11
+ /** Slight inner-corner rounding so segments read as one bar, not buttons. */
12
+ const RADIUS_INNER = 8;
13
+ /** Floor so a tiny category stays tappable/visible; flexbox renormalizes the rest. */
14
+ const MIN_SEGMENT_WIDTH = 18;
15
+ function defaultFormatReadout(points, percent) {
16
+ return `${points} pts · ${percent}%`;
17
+ }
18
+
19
+ /**
20
+ * The distribution bar — the signature composition visual. A single thick
21
+ * capsule split into one colored block per category, each block's width
22
+ * proportional to that category's share of the total (never a progress bar —
23
+ * the segments always fill the full width). The first/last blocks carry the
24
+ * rounded capsule ends; inner blocks are only slightly rounded and separated by
25
+ * a hairline-thin background gap so they read as ONE bar. Tapping a block
26
+ * selects it (dimming the rest) and reveals a readout of its name, points, and
27
+ * percentage; selection is lifted so the matching list row highlights in sync.
28
+ */
29
+ const CompositionBarComponent = ({
30
+ categories,
31
+ selectedKey,
32
+ onSelect,
33
+ hintLabel,
34
+ formatReadout = defaultFormatReadout,
35
+ style,
36
+ testID
37
+ }) => {
38
+ const {
39
+ colors
40
+ } = useTheme();
41
+ const positive = useMemo(() => categories.filter(category => category.amount > 0), [categories]);
42
+ const total = useMemo(() => positive.reduce((sum, category) => sum + category.amount, 0), [positive]);
43
+ const selected = useMemo(() => selectedKey ? positive.find(category => category.key === selectedKey) ?? null : null, [positive, selectedKey]);
44
+ if (total <= 0) {
45
+ return /*#__PURE__*/_jsx(View, {
46
+ style: [styles.emptyTrack, {
47
+ backgroundColor: colors.backgroundSecondary
48
+ }, style],
49
+ testID: testID
50
+ });
51
+ }
52
+ const selectedPercent = selected ? Math.round(selected.amount / total * 100) : 0;
53
+ return /*#__PURE__*/_jsxs(View, {
54
+ style: [styles.wrap, style],
55
+ testID: testID,
56
+ children: [/*#__PURE__*/_jsx(View, {
57
+ style: styles.bar,
58
+ children: positive.map((category, index) => {
59
+ const isFirst = index === 0;
60
+ const isLast = index === positive.length - 1;
61
+ const dim = selected != null && category.key !== selectedKey;
62
+ return /*#__PURE__*/_jsx(Pressable, {
63
+ onPress: () => onSelect(category.key),
64
+ accessibilityRole: "button",
65
+ accessibilityLabel: category.name,
66
+ accessibilityState: {
67
+ selected: category.key === selectedKey
68
+ },
69
+ style: [styles.segment, {
70
+ flexGrow: category.amount,
71
+ backgroundColor: category.color,
72
+ opacity: dim ? 0.35 : 1,
73
+ borderTopLeftRadius: isFirst ? RADIUS_FULL : RADIUS_INNER,
74
+ borderBottomLeftRadius: isFirst ? RADIUS_FULL : RADIUS_INNER,
75
+ borderTopRightRadius: isLast ? RADIUS_FULL : RADIUS_INNER,
76
+ borderBottomRightRadius: isLast ? RADIUS_FULL : RADIUS_INNER
77
+ }]
78
+ }, category.key);
79
+ })
80
+ }), selected ? /*#__PURE__*/_jsxs(View, {
81
+ style: styles.readout,
82
+ children: [/*#__PURE__*/_jsx(View, {
83
+ style: [styles.readoutDot, {
84
+ backgroundColor: selected.color
85
+ }]
86
+ }), /*#__PURE__*/_jsx(Text, {
87
+ style: [styles.readoutName, {
88
+ color: colors.text
89
+ }],
90
+ numberOfLines: 1,
91
+ children: selected.name
92
+ }), /*#__PURE__*/_jsx(Text, {
93
+ style: [styles.readoutMeta, {
94
+ color: colors.textSecondary
95
+ }],
96
+ numberOfLines: 1,
97
+ children: formatReadout(selected.amount, selectedPercent)
98
+ })]
99
+ }) : /*#__PURE__*/_jsx(Text, {
100
+ style: [styles.hint, {
101
+ color: colors.textSecondary
102
+ }],
103
+ numberOfLines: 1,
104
+ children: hintLabel
105
+ })]
106
+ });
107
+ };
108
+ const styles = StyleSheet.create({
109
+ wrap: {
110
+ gap: 12
111
+ },
112
+ bar: {
113
+ flexDirection: 'row',
114
+ height: BAR_HEIGHT,
115
+ gap: 3
116
+ },
117
+ segment: {
118
+ flexBasis: 0,
119
+ minWidth: MIN_SEGMENT_WIDTH,
120
+ height: BAR_HEIGHT,
121
+ borderCurve: 'continuous'
122
+ },
123
+ emptyTrack: {
124
+ height: BAR_HEIGHT,
125
+ borderRadius: RADIUS_FULL,
126
+ borderCurve: 'continuous'
127
+ },
128
+ readout: {
129
+ flexDirection: 'row',
130
+ alignItems: 'center',
131
+ gap: 8
132
+ },
133
+ readoutDot: {
134
+ width: 10,
135
+ height: 10,
136
+ borderRadius: 5
137
+ },
138
+ readoutName: {
139
+ fontSize: 14,
140
+ fontWeight: '700',
141
+ letterSpacing: -0.2
142
+ },
143
+ readoutMeta: {
144
+ flexShrink: 1,
145
+ fontSize: 13,
146
+ fontVariant: ['tabular-nums']
147
+ },
148
+ hint: {
149
+ fontSize: 13
150
+ }
151
+ });
152
+ export const CompositionBar = /*#__PURE__*/memo(CompositionBarComponent);
153
+ CompositionBar.displayName = 'CompositionBar';
154
+ //# sourceMappingURL=CompositionBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","memo","useMemo","View","StyleSheet","Pressable","useTheme","Text","jsx","_jsx","jsxs","_jsxs","BAR_HEIGHT","RADIUS_FULL","RADIUS_INNER","MIN_SEGMENT_WIDTH","defaultFormatReadout","points","percent","CompositionBarComponent","categories","selectedKey","onSelect","hintLabel","formatReadout","style","testID","colors","positive","filter","category","amount","total","reduce","sum","selected","find","key","styles","emptyTrack","backgroundColor","backgroundSecondary","selectedPercent","Math","round","wrap","children","bar","map","index","isFirst","isLast","length","dim","onPress","accessibilityRole","accessibilityLabel","name","accessibilityState","segment","flexGrow","color","opacity","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","readout","readoutDot","readoutName","text","numberOfLines","readoutMeta","textSecondary","hint","create","gap","flexDirection","height","flexBasis","minWidth","borderCurve","borderRadius","alignItems","width","fontSize","fontWeight","letterSpacing","flexShrink","fontVariant","CompositionBar","displayName"],"sourceRoot":"../../../src","sources":["composition-bar/CompositionBar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { CompositionBar } from "./CompositionBar.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CompositionBar"],"sourceRoot":"../../../src","sources":["composition-bar/index.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,qBAAkB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["composition-bar/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ import React, { memo, useMemo } from 'react';
4
+ import { View } from 'react-native';
5
+ import { useTheme } from "../theme/use-theme.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ /**
8
+ * A data-driven grid of small circular dots — the "diversity meter" visual. The
9
+ * first `filled` dots use `filledColor`, the rest use `emptyColor`, laid out in
10
+ * a flex-wrapped grid of `columns` per row. Pure `<View>` composition (no SVG),
11
+ * so it renders identically on web and native.
12
+ */
13
+ const DotGridMeterComponent = ({
14
+ filled,
15
+ total,
16
+ columns = 10,
17
+ dotSize = 10,
18
+ gap = 6,
19
+ filledColor,
20
+ emptyColor,
21
+ style,
22
+ testID
23
+ }) => {
24
+ const {
25
+ colors
26
+ } = useTheme();
27
+ const onColor = filledColor ?? colors.success;
28
+ const offColor = emptyColor ?? colors.backgroundSecondary;
29
+ const safeTotal = Math.max(0, Math.floor(total));
30
+ const safeFilled = Math.min(safeTotal, Math.max(0, Math.floor(filled)));
31
+ // A row can hold at most `columns` dots; a grid narrower than one full row
32
+ // should still wrap tightly, so the container width follows the smaller count.
33
+ const perRow = Math.max(1, Math.floor(columns));
34
+ const rowWidth = Math.min(safeTotal, perRow);
35
+ const dots = useMemo(() => Array.from({
36
+ length: safeTotal
37
+ }, (_, index) => index < safeFilled), [safeTotal, safeFilled]);
38
+ return /*#__PURE__*/_jsx(View, {
39
+ style: [{
40
+ flexDirection: 'row',
41
+ flexWrap: 'wrap',
42
+ gap,
43
+ width: rowWidth * dotSize + Math.max(0, rowWidth - 1) * gap
44
+ }, style],
45
+ accessibilityRole: "progressbar",
46
+ accessibilityValue: {
47
+ min: 0,
48
+ max: safeTotal,
49
+ now: safeFilled
50
+ },
51
+ testID: testID,
52
+ children: dots.map((isFilled, index) => /*#__PURE__*/_jsx(View, {
53
+ style: {
54
+ width: dotSize,
55
+ height: dotSize,
56
+ borderRadius: dotSize / 2,
57
+ backgroundColor: isFilled ? onColor : offColor
58
+ }
59
+ }, index))
60
+ });
61
+ };
62
+ export const DotGridMeter = /*#__PURE__*/memo(DotGridMeterComponent);
63
+ DotGridMeter.displayName = 'DotGridMeter';
64
+ //# sourceMappingURL=DotGridMeter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","memo","useMemo","View","useTheme","jsx","_jsx","DotGridMeterComponent","filled","total","columns","dotSize","gap","filledColor","emptyColor","style","testID","colors","onColor","success","offColor","backgroundSecondary","safeTotal","Math","max","floor","safeFilled","min","perRow","rowWidth","dots","Array","from","length","_","index","flexDirection","flexWrap","width","accessibilityRole","accessibilityValue","now","children","map","isFilled","height","borderRadius","backgroundColor","DotGridMeter","displayName"],"sourceRoot":"../../../src","sources":["dot-grid-meter/DotGridMeter.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,QAAQ,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG9C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,qBAAkD,GAAGA,CAAC;EAC1DC,MAAM;EACNC,KAAK;EACLC,OAAO,GAAG,EAAE;EACZC,OAAO,GAAG,EAAE;EACZC,GAAG,GAAG,CAAC;EACPC,WAAW;EACXC,UAAU;EACVC,KAAK;EACLC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAO,CAAC,GAAGb,QAAQ,CAAC,CAAC;EAC7B,MAAMc,OAAO,GAAGL,WAAW,IAAII,MAAM,CAACE,OAAO;EAC7C,MAAMC,QAAQ,GAAGN,UAAU,IAAIG,MAAM,CAACI,mBAAmB;EAEzD,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAAChB,KAAK,CAAC,CAAC;EAChD,MAAMiB,UAAU,GAAGH,IAAI,CAACI,GAAG,CAACL,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACjB,MAAM,CAAC,CAAC,CAAC;EACvE;EACA;EACA,MAAMoB,MAAM,GAAGL,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACf,OAAO,CAAC,CAAC;EAC/C,MAAMmB,QAAQ,GAAGN,IAAI,CAACI,GAAG,CAACL,SAAS,EAAEM,MAAM,CAAC;EAE5C,MAAME,IAAI,GAAG5B,OAAO,CAClB,MAAM6B,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEX;EAAU,CAAC,EAAE,CAACY,CAAC,EAAEC,KAAK,KAAKA,KAAK,GAAGT,UAAU,CAAC,EACzE,CAACJ,SAAS,EAAEI,UAAU,CACxB,CAAC;EAED,oBACEpB,IAAA,CAACH,IAAI;IACHY,KAAK,EAAE,CACL;MACEqB,aAAa,EAAE,KAAK;MACpBC,QAAQ,EAAE,MAAM;MAChBzB,GAAG;MACH0B,KAAK,EAAET,QAAQ,GAAGlB,OAAO,GAAGY,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEK,QAAQ,GAAG,CAAC,CAAC,GAAGjB;IAC1D,CAAC,EACDG,KAAK,CACL;IACFwB,iBAAiB,EAAC,aAAa;IAC/BC,kBAAkB,EAAE;MAAEb,GAAG,EAAE,CAAC;MAAEH,GAAG,EAAEF,SAAS;MAAEmB,GAAG,EAAEf;IAAW,CAAE;IAChEV,MAAM,EAAEA,MAAO;IAAA0B,QAAA,EAEdZ,IAAI,CAACa,GAAG,CAAC,CAACC,QAAQ,EAAET,KAAK,kBACxB7B,IAAA,CAACH,IAAI;MAEHY,KAAK,EAAE;QACLuB,KAAK,EAAE3B,OAAO;QACdkC,MAAM,EAAElC,OAAO;QACfmC,YAAY,EAAEnC,OAAO,GAAG,CAAC;QACzBoC,eAAe,EAAEH,QAAQ,GAAG1B,OAAO,GAAGE;MACxC;IAAE,GANGe,KAON,CACF;EAAC,CACE,CAAC;AAEX,CAAC;AAED,OAAO,MAAMa,YAAY,gBAAG/C,IAAI,CAACM,qBAAqB,CAAC;AACvDyC,YAAY,CAACC,WAAW,GAAG,cAAc","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { DotGridMeter } from "./DotGridMeter.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DotGridMeter"],"sourceRoot":"../../../src","sources":["dot-grid-meter/index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,mBAAgB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["dot-grid-meter/types.ts"],"mappings":"","ignoreList":[]}
@@ -77,6 +77,12 @@ export * from "./tabs/index.js";
77
77
  export * from "./checkbox/index.js";
78
78
  export * from "./accordion/index.js";
79
79
  export { LinkPreviewCard } from "./link-preview/index.js";
80
+ // Stat / profile widgets
81
+ export { CompositionBar } from "./composition-bar/index.js";
82
+ export { DotGridMeter } from "./dot-grid-meter/index.js";
83
+ export { StatBar } from "./stat-bar/index.js";
84
+ export { ActivityHeatmap, bucketByDay } from "./activity-heatmap/index.js";
85
+ export { ProfileCard } from "./profile-card/index.js";
80
86
  // Settings / Grouped list
81
87
  export * from "./settings-list/index.js";
82
88
  export { Item } from "./item/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","useHaptics","BloomHapticsProvider","useGutters","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","MediaInsetBorder","IconCircle","ConnectionDots","BenefitRow","BenefitList","PressableScale","PressableWithHover","SubtleHover","ScaleAndFadeIn","ScaleAndFadeOut","ShrinkAndPop","ScreenTransition","AnimatedCheck","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","useHaptics","BloomHapticsProvider","useGutters","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","MediaInsetBorder","IconCircle","ConnectionDots","BenefitRow","BenefitList","PressableScale","PressableWithHover","SubtleHover","ScaleAndFadeIn","ScaleAndFadeOut","ShrinkAndPop","ScreenTransition","AnimatedCheck","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","CompositionBar","DotGridMeter","StatBar","ActivityHeatmap","bucketByDay","ProfileCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -82,6 +82,12 @@ export * from "./tabs/index.js";
82
82
  export * from "./checkbox/index.js";
83
83
  export * from "./accordion/index.js";
84
84
  export { LinkPreviewCard } from "./link-preview/index.js";
85
+ // Stat / profile widgets
86
+ export { CompositionBar } from "./composition-bar/index.js";
87
+ export { DotGridMeter } from "./dot-grid-meter/index.js";
88
+ export { StatBar } from "./stat-bar/index.js";
89
+ export { ActivityHeatmap, bucketByDay } from "./activity-heatmap/index.js";
90
+ export { ProfileCard } from "./profile-card/index.js";
85
91
  // Settings / Grouped list
86
92
  export * from "./settings-list/index.js";
87
93
  export { Item } from "./item/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","useHaptics","BloomHapticsProvider","useGutters","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","MediaInsetBorder","IconCircle","ConnectionDots","BenefitRow","BenefitList","PressableScale","PressableWithHover","SubtleHover","ScaleAndFadeIn","ScaleAndFadeOut","ShrinkAndPop","ScreenTransition","AnimatedCheck","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","useHaptics","BloomHapticsProvider","useGutters","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","MediaInsetBorder","IconCircle","ConnectionDots","BenefitRow","BenefitList","PressableScale","PressableWithHover","SubtleHover","ScaleAndFadeIn","ScaleAndFadeOut","ShrinkAndPop","ScreenTransition","AnimatedCheck","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","CompositionBar","DotGridMeter","StatBar","ActivityHeatmap","bucketByDay","ProfileCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA;AACA;AACA,SACEC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,OAAO,EACPC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,UAAU,EACVC,gBAAgB,QACX,0BAAiB;AAYxB;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,UAAU,EAAEC,oBAAoB,QAAQ,uBAAoB;AAErE,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,uBAAoB;AAClC,SACEC,MAAM,EACNC,4BAA4B,EAC5BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;AAa3B,cAAc,uBAAoB;AAClC,SAASC,GAAG,QAAQ,oBAAiB;AAErC,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,wBAAqB;AACnC,cAAc,yBAAgB;AAC9B,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,sBAAmB;;AAErD;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,gBAAgB,QAAQ,+BAAsB;AAEvD,SAASC,UAAU,QAAQ,wBAAe;AAC1C,SAASC,cAAc,QAAQ,gCAA6B;AAE5D,SAASC,UAAU,EAAEC,WAAW,QAAQ,yBAAgB;AAGxD;AACA,SAASC,cAAc,QAAQ,4BAAmB;AAElD,SAASC,kBAAkB,QAAQ,iCAAwB;AAE3D,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,SAASC,cAAc,EAAEC,eAAe,EAAEC,YAAY,EAAEC,gBAAgB,QAAQ,mBAAU;AAE1F,SAASC,aAAa,QAAQ,2BAAkB;AAGhD;AACA,cAAc,uBAAc;AAC5B,cAAc,8BAAqB;AACnC,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,yBAAsB;AAG/C;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,sBAAa;AAC3B,SAASC,eAAe,QAAQ,yBAAgB;AAGhD;AACA,SAASC,cAAc,QAAQ,4BAAmB;AAElD,SAASC,YAAY,QAAQ,2BAAkB;AAE/C,SAASC,OAAO,QAAQ,qBAAY;AAOpC,SAASC,eAAe,EAAEC,WAAW,QAAQ,6BAAoB;AAEjE,SAASC,WAAW,QAAQ,yBAAgB;AAU5C;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,cAAc,uBAAc;AAC5B,cAAc,qBAAkB;AAChC,cAAc,wBAAqB;AACnC,cAAc,uBAAoB;AAClC,cAAc,6BAA0B;AACxC,cAAc,wBAAqB;AACnC,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,6BAA0B;AAMhF,SAASC,OAAO,QAAQ,wBAAqB;AAG7C;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,sBAAmB","ignoreList":[]}