@planningcenter/chat-react-native 3.2.0-rc.1 → 3.2.0-rc.11

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 (329) hide show
  1. package/build/components/conversation/message_form.d.ts +2 -2
  2. package/build/components/conversation/message_form.d.ts.map +1 -1
  3. package/build/components/conversation/message_form.js +95 -41
  4. package/build/components/conversation/message_form.js.map +1 -1
  5. package/build/components/conversation/message_reaction.d.ts +2 -2
  6. package/build/components/conversations/action_toggle_button.d.ts +21 -0
  7. package/build/components/conversations/action_toggle_button.d.ts.map +1 -0
  8. package/build/components/conversations/action_toggle_button.js +48 -0
  9. package/build/components/conversations/action_toggle_button.js.map +1 -0
  10. package/build/components/conversations/conversation_actions.d.ts +10 -0
  11. package/build/components/conversations/conversation_actions.d.ts.map +1 -0
  12. package/build/components/conversations/conversation_actions.js +84 -0
  13. package/build/components/conversations/conversation_actions.js.map +1 -0
  14. package/build/components/conversations/conversation_preview.d.ts +2 -1
  15. package/build/components/conversations/conversation_preview.d.ts.map +1 -1
  16. package/build/components/conversations/conversation_preview.js +27 -9
  17. package/build/components/conversations/conversation_preview.js.map +1 -1
  18. package/build/components/conversations/conversations.d.ts +2 -3
  19. package/build/components/conversations/conversations.d.ts.map +1 -1
  20. package/build/components/conversations/conversations.js +5 -11
  21. package/build/components/conversations/conversations.js.map +1 -1
  22. package/build/components/conversations/mute_indicator.d.ts +5 -0
  23. package/build/components/conversations/mute_indicator.d.ts.map +1 -0
  24. package/build/components/conversations/mute_indicator.js +19 -0
  25. package/build/components/conversations/mute_indicator.js.map +1 -0
  26. package/build/components/conversations/unread_count_badge.d.ts +2 -1
  27. package/build/components/conversations/unread_count_badge.d.ts.map +1 -1
  28. package/build/components/conversations/unread_count_badge.js +9 -1
  29. package/build/components/conversations/unread_count_badge.js.map +1 -1
  30. package/build/components/display/action_button.d.ts +2 -1
  31. package/build/components/display/action_button.d.ts.map +1 -1
  32. package/build/components/display/action_button.js +3 -4
  33. package/build/components/display/action_button.js.map +1 -1
  34. package/build/components/display/badge.d.ts +5 -4
  35. package/build/components/display/badge.d.ts.map +1 -1
  36. package/build/components/display/badge.js +5 -2
  37. package/build/components/display/badge.js.map +1 -1
  38. package/build/components/display/button.d.ts +3 -2
  39. package/build/components/display/button.d.ts.map +1 -1
  40. package/build/components/display/button.js.map +1 -1
  41. package/build/components/display/icon.d.ts +14 -1
  42. package/build/components/display/icon.d.ts.map +1 -1
  43. package/build/components/display/icon.js +9 -0
  44. package/build/components/display/icon.js.map +1 -1
  45. package/build/components/display/icon_button.d.ts +2 -2
  46. package/build/components/display/icon_button.d.ts.map +1 -1
  47. package/build/components/display/icon_button.js.map +1 -1
  48. package/build/components/display/person.d.ts +3 -1
  49. package/build/components/display/person.d.ts.map +1 -1
  50. package/build/components/display/person.js +2 -2
  51. package/build/components/display/person.js.map +1 -1
  52. package/build/components/display/text.js.map +1 -1
  53. package/build/components/display/toggle_button.d.ts +3 -2
  54. package/build/components/display/toggle_button.d.ts.map +1 -1
  55. package/build/components/display/toggle_button.js.map +1 -1
  56. package/build/components/display/utils/button_colors.d.ts +3 -3
  57. package/build/components/display/utils/button_colors.d.ts.map +1 -1
  58. package/build/components/display/utils/button_colors.js +1 -1
  59. package/build/components/display/utils/button_colors.js.map +1 -1
  60. package/build/components/page/error_boundary.d.ts +1 -1
  61. package/build/components/primitive/avatar_primitive.d.ts.map +1 -1
  62. package/build/components/primitive/avatar_primitive.js +3 -2
  63. package/build/components/primitive/avatar_primitive.js.map +1 -1
  64. package/build/components/primitive/banner_primitive.d.ts +2 -1
  65. package/build/components/primitive/banner_primitive.d.ts.map +1 -1
  66. package/build/components/primitive/banner_primitive.js +0 -1
  67. package/build/components/primitive/banner_primitive.js.map +1 -1
  68. package/build/contexts/api_provider.js.map +1 -1
  69. package/build/contexts/chat_context.d.ts +2 -0
  70. package/build/contexts/chat_context.d.ts.map +1 -1
  71. package/build/contexts/chat_context.js +6 -1
  72. package/build/contexts/chat_context.js.map +1 -1
  73. package/build/contexts/conversations_context.d.ts +14 -0
  74. package/build/contexts/conversations_context.d.ts.map +1 -0
  75. package/build/contexts/conversations_context.js +38 -0
  76. package/build/contexts/conversations_context.js.map +1 -0
  77. package/build/hooks/groups/use_group_members_for_new_conversation.d.ts +214 -0
  78. package/build/hooks/groups/use_group_members_for_new_conversation.d.ts.map +1 -0
  79. package/build/hooks/groups/use_group_members_for_new_conversation.js +50 -0
  80. package/build/hooks/groups/use_group_members_for_new_conversation.js.map +1 -0
  81. package/build/hooks/groups/use_groups_conversation_create.d.ts +9 -0
  82. package/build/hooks/groups/use_groups_conversation_create.d.ts.map +1 -0
  83. package/build/hooks/groups/use_groups_conversation_create.js +36 -0
  84. package/build/hooks/groups/use_groups_conversation_create.js.map +1 -0
  85. package/build/hooks/use_conversation.d.ts +1 -1
  86. package/build/hooks/use_conversation.d.ts.map +1 -1
  87. package/build/hooks/use_conversation.js +1 -1
  88. package/build/hooks/use_conversation.js.map +1 -1
  89. package/build/hooks/use_conversations.d.ts +6 -32
  90. package/build/hooks/use_conversations.d.ts.map +1 -1
  91. package/build/hooks/use_conversations.js +15 -14
  92. package/build/hooks/use_conversations.js.map +1 -1
  93. package/build/hooks/use_conversations_actions.d.ts +221 -0
  94. package/build/hooks/use_conversations_actions.d.ts.map +1 -0
  95. package/build/hooks/use_conversations_actions.js +93 -0
  96. package/build/hooks/use_conversations_actions.js.map +1 -0
  97. package/build/hooks/use_conversations_cache.d.ts +18 -0
  98. package/build/hooks/use_conversations_cache.d.ts.map +1 -0
  99. package/build/hooks/{use_conversation_jolt_events.js → use_conversations_cache.js} +27 -17
  100. package/build/hooks/use_conversations_cache.js.map +1 -0
  101. package/build/hooks/use_conversations_jolt_events.d.ts +3 -0
  102. package/build/hooks/use_conversations_jolt_events.d.ts.map +1 -0
  103. package/build/hooks/use_conversations_jolt_events.js +12 -0
  104. package/build/hooks/use_conversations_jolt_events.js.map +1 -0
  105. package/build/hooks/use_create_android_ripple_color.d.ts +1 -1
  106. package/build/hooks/use_create_android_ripple_color.d.ts.map +1 -1
  107. package/build/hooks/use_giphy.d.ts +9 -0
  108. package/build/hooks/use_giphy.d.ts.map +1 -0
  109. package/build/hooks/use_giphy.js +63 -0
  110. package/build/hooks/use_giphy.js.map +1 -0
  111. package/build/hooks/use_jolt.d.ts.map +1 -1
  112. package/build/hooks/use_jolt.js +39 -10
  113. package/build/hooks/use_jolt.js.map +1 -1
  114. package/build/hooks/use_message_create.d.ts +11 -0
  115. package/build/hooks/use_message_create.d.ts.map +1 -0
  116. package/build/hooks/use_message_create.js +35 -0
  117. package/build/hooks/use_message_create.js.map +1 -0
  118. package/build/navigation/index.d.ts +23 -6
  119. package/build/navigation/index.d.ts.map +1 -1
  120. package/build/navigation/index.js +25 -8
  121. package/build/navigation/index.js.map +1 -1
  122. package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.d.ts.map +1 -0
  123. package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.js.map +1 -0
  124. package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
  125. package/build/screens/conversation_filters/components/rows.d.ts +2 -1
  126. package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
  127. package/build/screens/conversation_filters/components/rows.js +19 -14
  128. package/build/screens/conversation_filters/components/rows.js.map +1 -1
  129. package/build/screens/conversation_filters/hooks/filters.js +1 -1
  130. package/build/screens/conversation_filters/hooks/filters.js.map +1 -1
  131. package/build/screens/conversation_new/components/form_list.d.ts +12 -0
  132. package/build/screens/conversation_new/components/form_list.d.ts.map +1 -0
  133. package/build/screens/conversation_new/components/form_list.js +42 -0
  134. package/build/screens/conversation_new/components/form_list.js.map +1 -0
  135. package/build/screens/conversation_new/components/groups_form.d.ts +7 -0
  136. package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -0
  137. package/build/screens/conversation_new/components/groups_form.js +101 -0
  138. package/build/screens/conversation_new/components/groups_form.js.map +1 -0
  139. package/build/screens/conversation_new/components/member_error_card.d.ts +5 -0
  140. package/build/screens/conversation_new/components/member_error_card.d.ts.map +1 -0
  141. package/build/screens/conversation_new/components/member_error_card.js +17 -0
  142. package/build/screens/conversation_new/components/member_error_card.js.map +1 -0
  143. package/build/screens/conversation_new/components/source_app_error_card.d.ts +2 -0
  144. package/build/screens/conversation_new/components/source_app_error_card.d.ts.map +1 -0
  145. package/build/screens/conversation_new/components/source_app_error_card.js +16 -0
  146. package/build/screens/conversation_new/components/source_app_error_card.js.map +1 -0
  147. package/build/screens/conversation_new/components/team_form.d.ts +8 -0
  148. package/build/screens/conversation_new/components/team_form.d.ts.map +1 -0
  149. package/build/screens/conversation_new/components/team_form.js +11 -0
  150. package/build/screens/conversation_new/components/team_form.js.map +1 -0
  151. package/build/screens/conversation_new/conversation_new_screen.d.ts +12 -0
  152. package/build/screens/conversation_new/conversation_new_screen.d.ts.map +1 -0
  153. package/build/screens/conversation_new/conversation_new_screen.js +16 -0
  154. package/build/screens/conversation_new/conversation_new_screen.js.map +1 -0
  155. package/build/screens/conversation_new/utils/fake_member_data.d.ts +3 -0
  156. package/build/screens/conversation_new/utils/fake_member_data.d.ts.map +1 -0
  157. package/build/screens/conversation_new/utils/fake_member_data.js +129 -0
  158. package/build/screens/conversation_new/utils/fake_member_data.js.map +1 -0
  159. package/build/screens/conversation_screen.d.ts +1 -0
  160. package/build/screens/conversation_screen.d.ts.map +1 -1
  161. package/build/screens/conversation_screen.js +1 -1
  162. package/build/screens/conversation_screen.js.map +1 -1
  163. package/build/screens/conversation_select_recipients/conversation_select_recipients_screen.d.ts.map +1 -0
  164. package/build/screens/{create → conversation_select_recipients}/conversation_select_recipients_screen.js +6 -5
  165. package/build/screens/conversation_select_recipients/conversation_select_recipients_screen.js.map +1 -0
  166. package/build/screens/conversations/components/chat_group_badge.js +1 -1
  167. package/build/screens/conversations/components/chat_group_badge.js.map +1 -1
  168. package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
  169. package/build/screens/conversations/components/list_header_component.js +6 -2
  170. package/build/screens/conversations/components/list_header_component.js.map +1 -1
  171. package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
  172. package/build/screens/conversations/conversations_screen.js +6 -13
  173. package/build/screens/conversations/conversations_screen.js.map +1 -1
  174. package/build/screens/design_system_screen.js +1 -0
  175. package/build/screens/design_system_screen.js.map +1 -1
  176. package/build/screens/message_actions_screen.d.ts +2 -2
  177. package/build/screens/message_actions_screen.d.ts.map +1 -1
  178. package/build/screens/message_actions_screen.js +1 -1
  179. package/build/screens/message_actions_screen.js.map +1 -1
  180. package/build/screens/send_giphy_screen.d.ts +10 -0
  181. package/build/screens/send_giphy_screen.d.ts.map +1 -0
  182. package/build/screens/send_giphy_screen.js +98 -0
  183. package/build/screens/send_giphy_screen.js.map +1 -0
  184. package/build/types/resources/groups/groups_group_resource.d.ts +1 -1
  185. package/build/types/resources/groups/groups_group_resource.js.map +1 -1
  186. package/build/types/resources/groups/groups_member_resource_with_person.d.ts +14 -0
  187. package/build/types/resources/groups/groups_member_resource_with_person.d.ts.map +1 -0
  188. package/build/types/resources/groups/groups_member_resource_with_person.js +2 -0
  189. package/build/types/resources/groups/groups_member_resource_with_person.js.map +1 -0
  190. package/build/types/resources/member.d.ts +0 -10
  191. package/build/types/resources/member.d.ts.map +1 -1
  192. package/build/types/resources/member.js.map +1 -1
  193. package/build/utils/cache/page_mutations.d.ts +18 -0
  194. package/build/utils/cache/page_mutations.d.ts.map +1 -1
  195. package/build/utils/cache/page_mutations.js +13 -0
  196. package/build/utils/cache/page_mutations.js.map +1 -1
  197. package/build/utils/client/client.d.ts +2 -2
  198. package/build/utils/client/client.d.ts.map +1 -1
  199. package/build/utils/client/client.js +12 -4
  200. package/build/utils/client/client.js.map +1 -1
  201. package/build/utils/client/request_helpers.d.ts +15 -8
  202. package/build/utils/client/request_helpers.d.ts.map +1 -1
  203. package/build/utils/client/request_helpers.js +2 -1
  204. package/build/utils/client/request_helpers.js.map +1 -1
  205. package/build/utils/client/transform_request_data.d.ts +11 -6
  206. package/build/utils/client/transform_request_data.d.ts.map +1 -1
  207. package/build/utils/client/transform_request_data.js +1 -1
  208. package/build/utils/client/transform_request_data.js.map +1 -1
  209. package/build/utils/client/transform_response.d.ts +1 -1
  210. package/build/utils/client/transform_response.d.ts.map +1 -1
  211. package/build/utils/client/transform_response.js +2 -0
  212. package/build/utils/client/transform_response.js.map +1 -1
  213. package/build/utils/client/utils.d.ts +3 -3
  214. package/build/utils/client/utils.d.ts.map +1 -1
  215. package/build/utils/client/utils.js +6 -6
  216. package/build/utils/client/utils.js.map +1 -1
  217. package/build/utils/date.d.ts.map +1 -1
  218. package/build/utils/date.js +1 -0
  219. package/build/utils/date.js.map +1 -1
  220. package/build/utils/deepCamelCaseKeys.d.ts.map +1 -1
  221. package/build/utils/deepCamelCaseKeys.js +3 -1
  222. package/build/utils/deepCamelCaseKeys.js.map +1 -1
  223. package/build/utils/parse_simple_markdown.d.ts +1 -1
  224. package/build/utils/parse_simple_markdown.d.ts.map +1 -1
  225. package/build/utils/parse_simple_markdown.js +2 -1
  226. package/build/utils/parse_simple_markdown.js.map +1 -1
  227. package/build/utils/request/conversation.d.ts +1 -3
  228. package/build/utils/request/conversation.d.ts.map +1 -1
  229. package/build/utils/request/conversation.js +37 -30
  230. package/build/utils/request/conversation.js.map +1 -1
  231. package/build/utils/space.js.map +1 -1
  232. package/build/utils/uri.d.ts +2 -2
  233. package/build/utils/uri.d.ts.map +1 -1
  234. package/build/utils/uri.js +2 -2
  235. package/build/utils/uri.js.map +1 -1
  236. package/build/vendor/tapestry/alias_tokens_color_map.d.ts +8 -0
  237. package/build/vendor/tapestry/alias_tokens_color_map.d.ts.map +1 -1
  238. package/build/vendor/tapestry/alias_tokens_color_map.js +8 -0
  239. package/build/vendor/tapestry/alias_tokens_color_map.js.map +1 -1
  240. package/build/vendor/tapestry/tokens.d.ts +2 -0
  241. package/build/vendor/tapestry/tokens.d.ts.map +1 -1
  242. package/build/vendor/tapestry/tokens.js +2 -0
  243. package/build/vendor/tapestry/tokens.js.map +1 -1
  244. package/package.json +8 -6
  245. package/src/__tests__/utils/cache/page_mutations.ts +49 -15
  246. package/src/components/conversation/message_form.tsx +127 -58
  247. package/src/components/conversations/action_toggle_button.tsx +84 -0
  248. package/src/components/conversations/conversation_actions.tsx +146 -0
  249. package/src/components/conversations/conversation_preview.tsx +46 -16
  250. package/src/components/conversations/conversations.tsx +13 -18
  251. package/src/components/conversations/mute_indicator.tsx +21 -0
  252. package/src/components/conversations/unread_count_badge.tsx +8 -1
  253. package/src/components/display/action_button.tsx +4 -3
  254. package/src/components/display/badge.tsx +12 -8
  255. package/src/components/display/button.tsx +3 -3
  256. package/src/components/display/icon.tsx +16 -3
  257. package/src/components/display/icon_button.tsx +2 -2
  258. package/src/components/display/person.tsx +4 -3
  259. package/src/components/display/text.tsx +1 -1
  260. package/src/components/display/toggle_button.tsx +3 -3
  261. package/src/components/display/utils/button_colors.ts +8 -3
  262. package/src/components/primitive/avatar_primitive.tsx +5 -3
  263. package/src/components/primitive/banner_primitive.tsx +2 -3
  264. package/src/contexts/api_provider.tsx +1 -1
  265. package/src/contexts/chat_context.tsx +8 -1
  266. package/src/contexts/conversations_context.tsx +69 -0
  267. package/src/hooks/groups/use_group_members_for_new_conversation.ts +57 -0
  268. package/src/hooks/groups/use_groups_conversation_create.ts +50 -0
  269. package/src/hooks/use_conversation.ts +5 -5
  270. package/src/hooks/use_conversations.ts +34 -16
  271. package/src/hooks/use_conversations_actions.ts +108 -0
  272. package/src/hooks/{use_conversation_jolt_events.ts → use_conversations_cache.ts} +35 -20
  273. package/src/hooks/use_conversations_jolt_events.ts +21 -0
  274. package/src/hooks/use_giphy.ts +97 -0
  275. package/src/hooks/use_jolt.ts +53 -12
  276. package/src/hooks/use_message_create.ts +55 -0
  277. package/src/navigation/index.tsx +31 -8
  278. package/src/screens/conversation_filters/components/conversation_filters.tsx +1 -1
  279. package/src/screens/conversation_filters/components/rows.tsx +44 -14
  280. package/src/screens/conversation_filters/hooks/filters.ts +1 -1
  281. package/src/screens/conversation_new/components/form_list.tsx +67 -0
  282. package/src/screens/conversation_new/components/groups_form.tsx +153 -0
  283. package/src/screens/conversation_new/components/member_error_card.tsx +20 -0
  284. package/src/screens/conversation_new/components/source_app_error_card.tsx +24 -0
  285. package/src/screens/conversation_new/components/team_form.tsx +18 -0
  286. package/src/screens/conversation_new/conversation_new_screen.tsx +26 -0
  287. package/src/screens/conversation_new/utils/fake_member_data.ts +130 -0
  288. package/src/screens/conversation_screen.tsx +2 -1
  289. package/src/screens/{create → conversation_select_recipients}/conversation_select_recipients_screen.tsx +6 -5
  290. package/src/screens/conversations/components/chat_group_badge.tsx +1 -1
  291. package/src/screens/conversations/components/list_header_component.tsx +7 -2
  292. package/src/screens/conversations/conversations_screen.tsx +6 -19
  293. package/src/screens/design_system_screen.tsx +1 -0
  294. package/src/screens/message_actions_screen.tsx +4 -4
  295. package/src/screens/send_giphy_screen.tsx +155 -0
  296. package/src/types/resources/groups/groups_group_resource.ts +1 -1
  297. package/src/types/resources/groups/groups_member_resource_with_person.ts +13 -0
  298. package/src/types/resources/member.ts +0 -11
  299. package/src/utils/cache/page_mutations.ts +22 -0
  300. package/src/utils/client/client.ts +15 -7
  301. package/src/utils/client/request_helpers.ts +15 -6
  302. package/src/utils/client/transform_request_data.ts +13 -4
  303. package/src/utils/client/transform_response.ts +3 -0
  304. package/src/utils/client/types.d.ts +2 -1
  305. package/src/utils/client/utils.ts +13 -12
  306. package/src/utils/date.ts +1 -0
  307. package/src/utils/deepCamelCaseKeys.ts +3 -2
  308. package/src/utils/parse_simple_markdown.ts +3 -1
  309. package/src/utils/request/conversation.ts +39 -34
  310. package/src/utils/space.ts +1 -1
  311. package/src/utils/uri.ts +2 -2
  312. package/src/vendor/tapestry/alias_tokens_color_map.ts +12 -0
  313. package/src/vendor/tapestry/tokens.ts +2 -0
  314. package/build/hooks/use_conversation_jolt_events.d.ts +0 -2
  315. package/build/hooks/use_conversation_jolt_events.d.ts.map +0 -1
  316. package/build/hooks/use_conversation_jolt_events.js.map +0 -1
  317. package/build/screens/create/conversation_create_screen.d.ts +0 -9
  318. package/build/screens/create/conversation_create_screen.d.ts.map +0 -1
  319. package/build/screens/create/conversation_create_screen.js +0 -123
  320. package/build/screens/create/conversation_create_screen.js.map +0 -1
  321. package/build/screens/create/conversation_filter_recipients_screen.d.ts.map +0 -1
  322. package/build/screens/create/conversation_filter_recipients_screen.js.map +0 -1
  323. package/build/screens/create/conversation_select_recipients_screen.d.ts.map +0 -1
  324. package/build/screens/create/conversation_select_recipients_screen.js.map +0 -1
  325. package/src/screens/create/conversation_create_screen.tsx +0 -148
  326. /package/build/screens/{create → conversation_filter_recipients}/conversation_filter_recipients_screen.d.ts +0 -0
  327. /package/build/screens/{create → conversation_filter_recipients}/conversation_filter_recipients_screen.js +0 -0
  328. /package/build/screens/{create → conversation_select_recipients}/conversation_select_recipients_screen.d.ts +0 -0
  329. /package/src/screens/{create → conversation_filter_recipients}/conversation_filter_recipients_screen.tsx +0 -0
@@ -14,7 +14,7 @@ export function flattenAttribute(obj, key) {
14
14
  return reduce(obj, (acc, value, attr) => {
15
15
  return {
16
16
  ...acc,
17
- ...buildQuery({ key: `${key}[${attr}]`, value }),
17
+ ...buildQuery({ key: `${String(key)}[${attr}]`, value }),
18
18
  };
19
19
  }, {});
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transform_request_data.js","sourceRoot":"","sources":["../../../src/utils/client/transform_request_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,GAAG,GAAG,EACb,GAAG,QAAQ,EACU,EAAE,EAAE;IACzB,OAAO;QACL,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;QACnC,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC5C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO;KAC9D,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAG,EAAE,GAAG;IACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA;IAEzC,OAAO,MAAM,CACX,GAAG,EACH,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACnB,OAAO;YACL,GAAG,GAAG;YACN,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC;SACjD,CAAA;IACH,CAAC,EACD,EAAE,CACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE;IACvC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACrD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAChB,GAAG,GAAG;YACN,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;SAClE,CAAC,EACF,EAAE,CACH,CAAA;IACH,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC","sourcesContent":["import { isObject, reduce, isArray } from 'lodash'\nimport { keysToSnakeCase } from './utils'\nimport { RequestData } from './types'\n\nexport const transformRequestData = ({\n fields,\n where,\n include,\n perPage = 100,\n ...restData\n}: Partial<RequestData>) => {\n return {\n ...flattenAttribute(fields, 'fields'),\n ...flattenAttribute(where, 'where'),\n ...keysToSnakeCase({ perPage, ...restData }),\n include: Array.isArray(include) ? include.join(',') : include,\n }\n}\n\nexport function flattenAttribute(obj, key) {\n if (!isObject(obj)) return { [key]: obj }\n\n return reduce(\n obj,\n (acc, value, attr) => {\n return {\n ...acc,\n ...buildQuery({ key: `${key}[${attr}]`, value }),\n }\n },\n {}\n )\n}\n\nexport function buildQuery({ key, value }) {\n if (isArray(value)) return { [key]: value.join(',') }\n if (isObject(value)) {\n const keys = Object.keys(value)\n return keys.reduce(\n (acc, subKey) => ({\n ...acc,\n ...buildQuery({ key: `${key}[${subKey}]`, value: value[subKey] }),\n }),\n {}\n )\n }\n return { [key]: value }\n}\n"]}
1
+ {"version":3,"file":"transform_request_data.js","sourceRoot":"","sources":["../../../src/utils/client/transform_request_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,GAAG,GAAG,EACb,GAAG,QAAQ,EACU,EAAE,EAAE;IACzB,OAAO;QACL,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;QACnC,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC5C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO;KAC9D,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAkB,EAClB,GAAY;IAEZ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA;IAEzC,OAAO,MAAM,CACX,GAAG,EACH,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACnB,OAAO;YACL,GAAG,GAAG;YACN,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC;SACzD,CAAA;IACH,CAAC,EACD,EAAE,CACH,CAAA;AACH,CAAC;AAQD,MAAM,UAAU,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,EAAa;IAClD,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACrD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAA8B,CAAA;QAC5D,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAChB,GAAG,GAAG;YACN,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;SAClE,CAAC,EACF,EAAE,CACH,CAAA;IACH,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC","sourcesContent":["import { isObject, reduce, isArray } from 'lodash'\nimport { keysToSnakeCase } from './utils'\nimport { RequestData } from './types'\n\nexport const transformRequestData = ({\n fields,\n where,\n include,\n perPage = 100,\n ...restData\n}: Partial<RequestData>) => {\n return {\n ...flattenAttribute(fields, 'fields'),\n ...flattenAttribute(where, 'where'),\n ...keysToSnakeCase({ perPage, ...restData }),\n include: Array.isArray(include) ? include.join(',') : include,\n }\n}\n\nexport function flattenAttribute<T extends Record<string, string | string[]>>(\n obj: T | undefined,\n key: keyof T\n) {\n if (!isObject(obj)) return { [key]: obj }\n\n return reduce(\n obj,\n (acc, value, attr) => {\n return {\n ...acc,\n ...buildQuery({ key: `${String(key)}[${attr}]`, value }),\n }\n },\n {}\n )\n}\n\ntype QueryArgs = {\n key: string\n value: string | number | boolean | object | any[]\n}\ntype QueryReturn = Record<string, string | number | boolean>\n\nexport function buildQuery({ key, value }: QueryArgs): QueryReturn {\n if (isArray(value)) return { [key]: value.join(',') }\n if (isObject(value)) {\n const keys = Object.keys(value) as Array<keyof typeof value>\n return keys.reduce(\n (acc, subKey) => ({\n ...acc,\n ...buildQuery({ key: `${key}[${subKey}]`, value: value[subKey] }),\n }),\n {}\n )\n }\n return { [key]: value }\n}\n"]}
@@ -1,3 +1,3 @@
1
- declare const transformResponse: any;
1
+ declare const transformResponse: (...args: any[]) => any;
2
2
  export default transformResponse;
3
3
  //# sourceMappingURL=transform_response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform_response.d.ts","sourceRoot":"","sources":["../../../src/utils/client/transform_response.ts"],"names":[],"mappings":"AA8FA,QAAA,MAAM,iBAAiB,KAAyD,CAAA;AAEhF,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"transform_response.d.ts","sourceRoot":"","sources":["../../../src/utils/client/transform_response.ts"],"names":[],"mappings":"AAiGA,QAAA,MAAM,iBAAiB,yBAAyD,CAAA;AAEhF,eAAe,iBAAiB,CAAA"}
@@ -1,3 +1,5 @@
1
+ // @ts-nocheck
2
+ // TODO: Fix this file but write tests first
1
3
  import _ from 'lodash';
2
4
  import inflection from 'lodash-inflection/lib/lodash-inflection';
3
5
  import { keysToCamelCase } from './utils';
@@ -1 +1 @@
1
- {"version":3,"file":"transform_response.js","sourceRoot":"","sources":["../../../src/utils/client/transform_response.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport inflection from 'lodash-inflection/lib/lodash-inflection'\nimport { keysToCamelCase } from './utils'\n\n_.mixin({ ...inflection })\n\n// Teach some bad grammar\n_.singular(/^(media)$/i, '$1')\n_.plural(/^(media)$/i, '$1')\n\n// eslint-disable-next-line eqeqeq\nconst transformId = id => _.thru(parseInt(id, 10), int => (int == id ? int : id))\n\nconst transformRelationships = relationships => {\n return Object.keys(relationships || {}).reduce((acc, key) => {\n const relationship = relationships[key]\n if (_.isArray(relationship.data)) {\n const ids = _.map(relationship.data, ({ id }) => transformId(id))\n return { ...acc, [`${_.singularize(key)}_ids`]: ids }\n } else {\n const id = _.get(relationship, 'data.id')\n const type = _.get(relationship, 'data.type', null)\n return {\n ...acc,\n [`${key}_id`]: id ? transformId(id) : null,\n [`${key}_type`]: type,\n }\n }\n }, {})\n}\n\nconst addIncludedRecords = (relationships, included, seen, parent) => {\n return Object.keys(relationships || {}).reduce((acc, key) => {\n const relationship = relationships[key]\n if (_.isArray(relationship.data)) {\n const records = _(relationship.data)\n .map(elem => _.find(included, elem))\n .compact() // account for orphans\n .value()\n return _.set(\n acc,\n _.pluralize(key),\n _.map(records, record => transformRecord(record, included, seen))\n )\n } else {\n const [id, type] = _.at(relationship, ['data.id', 'data.type'])\n if (id && type) {\n const record = _.find(included, { id, type })\n return _.set(acc, key, record ? transformRecord(record, included, seen) : null)\n } else {\n return acc\n }\n }\n }, parent)\n}\n\nconst transformRecord = (record, included, seen) => {\n if (!record) return record\n const { id, attributes, links, relationships, type } = record\n\n if (seen.has(record)) {\n return seen.get(record)\n } else {\n const transformed = {\n id: transformId(id),\n type,\n links,\n ...transformRelationships(relationships),\n ..._.mapKeys(\n attributes,\n (v, k) => (k === 'length' ? `${type.charAt(0).toLowerCase()}${type.slice(1)}Length` : k),\n {}\n ),\n }\n\n seen.set(record, transformed)\n\n return addIncludedRecords(relationships, included, seen, transformed)\n }\n}\n\nconst defaultTransformResponse = response => {\n if (_.isEmpty(response)) return response\n const { data, included, meta, links } = response\n const seen = new WeakMap()\n\n if (_.isArray(data)) {\n const result = data.map(d => transformRecord(d, included, seen))\n return { data: result, meta, links, ...data }\n } else {\n return { data: { ...transformRecord(data, included, seen) }, meta, links }\n }\n}\n\nconst transformResponse = _.flowRight(keysToCamelCase, defaultTransformResponse)\n\nexport default transformResponse\n"]}
1
+ {"version":3,"file":"transform_response.js","sourceRoot":"","sources":["../../../src/utils/client/transform_response.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\n// TODO: Fix this file but write tests first\n\nimport _ from 'lodash'\nimport inflection from 'lodash-inflection/lib/lodash-inflection'\nimport { keysToCamelCase } from './utils'\n\n_.mixin({ ...inflection })\n\n// Teach some bad grammar\n_.singular(/^(media)$/i, '$1')\n_.plural(/^(media)$/i, '$1')\n\n// eslint-disable-next-line eqeqeq\nconst transformId = id => _.thru(parseInt(id, 10), int => (int == id ? int : id))\n\nconst transformRelationships = relationships => {\n return Object.keys(relationships || {}).reduce((acc, key) => {\n const relationship = relationships[key]\n if (_.isArray(relationship.data)) {\n const ids = _.map(relationship.data, ({ id }) => transformId(id))\n return { ...acc, [`${_.singularize(key)}_ids`]: ids }\n } else {\n const id = _.get(relationship, 'data.id')\n const type = _.get(relationship, 'data.type', null)\n return {\n ...acc,\n [`${key}_id`]: id ? transformId(id) : null,\n [`${key}_type`]: type,\n }\n }\n }, {})\n}\n\nconst addIncludedRecords = (relationships, included, seen, parent) => {\n return Object.keys(relationships || {}).reduce((acc, key) => {\n const relationship = relationships[key]\n if (_.isArray(relationship.data)) {\n const records = _(relationship.data)\n .map(elem => _.find(included, elem))\n .compact() // account for orphans\n .value()\n return _.set(\n acc,\n _.pluralize(key),\n _.map(records, record => transformRecord(record, included, seen))\n )\n } else {\n const [id, type] = _.at(relationship, ['data.id', 'data.type'])\n if (id && type) {\n const record = _.find(included, { id, type })\n return _.set(acc, key, record ? transformRecord(record, included, seen) : null)\n } else {\n return acc\n }\n }\n }, parent)\n}\n\nconst transformRecord = (record, included, seen) => {\n if (!record) return record\n const { id, attributes, links, relationships, type } = record\n\n if (seen.has(record)) {\n return seen.get(record)\n } else {\n const transformed = {\n id: transformId(id),\n type,\n links,\n ...transformRelationships(relationships),\n ..._.mapKeys(\n attributes,\n (v, k) => (k === 'length' ? `${type.charAt(0).toLowerCase()}${type.slice(1)}Length` : k),\n {}\n ),\n }\n\n seen.set(record, transformed)\n\n return addIncludedRecords(relationships, included, seen, transformed)\n }\n}\n\nconst defaultTransformResponse = response => {\n if (_.isEmpty(response)) return response\n const { data, included, meta, links } = response\n const seen = new WeakMap()\n\n if (_.isArray(data)) {\n const result = data.map(d => transformRecord(d, included, seen))\n return { data: result, meta, links, ...data }\n } else {\n return { data: { ...transformRecord(data, included, seen) }, meta, links }\n }\n}\n\nconst transformResponse = _.flowRight(keysToCamelCase, defaultTransformResponse)\n\nexport default transformResponse\n"]}
@@ -1,5 +1,5 @@
1
- declare const toSentence: (words: any, lastWordConnector?: string) => any;
2
- declare const keysToCamelCase: (elem: any) => any;
3
- declare const keysToSnakeCase: (elem: any) => any;
1
+ declare const toSentence: (words: string[], lastWordConnector?: string) => string;
2
+ declare const keysToCamelCase: (elem: object) => object;
3
+ declare const keysToSnakeCase: (elem: object) => object;
4
4
  export { keysToCamelCase, keysToSnakeCase, toSentence };
5
5
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/client/utils.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,iDAGf,CAAA;AAoCD,QAAA,MAAM,eAAe,oBAAkB,CAAA;AACvC,QAAA,MAAM,eAAe,oBAAwC,CAAA;AAE7D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/client/utils.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,UAAW,MAAM,EAAE,uCAGlC,CAAA;AAqCD,QAAA,MAAM,eAAe,SAtBI,MAAM,KAAG,MAsBK,CAAA;AACvC,QAAA,MAAM,eAAe,SAvBI,MAAM,KAAG,MAuB2C,CAAA;AAE7E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA"}
@@ -3,15 +3,15 @@ const toSentence = (words, lastWordConnector = 'and') => {
3
3
  lastWordConnector = `${words.length > 2 ? ',' : ''} ${lastWordConnector}`;
4
4
  return words.join(', ').replace(/,\s([^,]+$)/, `${lastWordConnector} $1`);
5
5
  };
6
- const toCamel = s => s.replace(/(_[a-z])/g, m => m.toUpperCase().replace('_', ''));
7
- const toSnake = s => (s.startsWith('_') ? `_${_.snakeCase(s)}` : _.snakeCase(s));
8
- const actualObject = elem => {
6
+ const toCamel = (s) => s.replace(/(_[a-z])/g, (m) => m.toUpperCase().replace('_', ''));
7
+ const toSnake = (s) => (s.startsWith('_') ? `_${_.snakeCase(s)}` : _.snakeCase(s));
8
+ const actualObject = (elem) => {
9
9
  return !((_.isObject(elem) && (_.isArray(elem) || _.isFunction(elem))) || !_.isObject(elem));
10
10
  };
11
11
  // map over tree (object) and apply f to each key
12
- const walker = f => {
12
+ const walker = (f) => {
13
13
  const seen = new WeakMap();
14
- const convert = elem => {
14
+ const convert = (elem) => {
15
15
  if (actualObject(elem)) {
16
16
  return _.reduce(elem, (memo, obj, key) => {
17
17
  if (!seen.has(elem)) {
@@ -31,6 +31,6 @@ const walker = f => {
31
31
  return convert;
32
32
  };
33
33
  const keysToCamelCase = walker(toCamel);
34
- const keysToSnakeCase = walker(k => (k < 0 ? k : toSnake(k)));
34
+ const keysToSnakeCase = walker(k => (typeof k !== 'string' ? k : toSnake(k)));
35
35
  export { keysToCamelCase, keysToSnakeCase, toSentence };
36
36
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,EAAE,EAAE;IACtD,iBAAiB,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,iBAAiB,EAAE,CAAA;IACzE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,iBAAiB,KAAK,CAAC,CAAA;AAC3E,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;AAElF,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;AAEhF,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE;IAC1B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9F,CAAC,CAAA;AAED,iDAAiD;AACjD,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE;IACjB,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAA;IAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE;QACrB,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC,MAAM,CACb,IAAI,EACJ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACtB,CAAC;gBACD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC5C,OAAO,IAAI,CAAA;YACb,CAAC,EACD,EAAE,CACH,CAAA;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;AACvC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA","sourcesContent":["import _ from 'lodash'\n\nconst toSentence = (words, lastWordConnector = 'and') => {\n lastWordConnector = `${words.length > 2 ? ',' : ''} ${lastWordConnector}`\n return words.join(', ').replace(/,\\s([^,]+$)/, `${lastWordConnector} $1`)\n}\n\nconst toCamel = s => s.replace(/(_[a-z])/g, m => m.toUpperCase().replace('_', ''))\n\nconst toSnake = s => (s.startsWith('_') ? `_${_.snakeCase(s)}` : _.snakeCase(s))\n\nconst actualObject = elem => {\n return !((_.isObject(elem) && (_.isArray(elem) || _.isFunction(elem))) || !_.isObject(elem))\n}\n\n// map over tree (object) and apply f to each key\nconst walker = f => {\n const seen = new WeakMap()\n\n const convert = elem => {\n if (actualObject(elem)) {\n return _.reduce(\n elem,\n (memo, obj, key) => {\n if (!seen.has(elem)) {\n seen.set(elem, memo)\n }\n memo[f(key)] = seen.get(obj) || convert(obj)\n return memo\n },\n {}\n )\n } else if (_.isArray(elem)) {\n return _.map(elem, convert)\n } else {\n return elem\n }\n }\n return convert\n}\n\nconst keysToCamelCase = walker(toCamel)\nconst keysToSnakeCase = walker(k => (k < 0 ? k : toSnake(k)))\n\nexport { keysToCamelCase, keysToSnakeCase, toSentence }\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/client/utils.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,UAAU,GAAG,CAAC,KAAe,EAAE,iBAAiB,GAAG,KAAK,EAAE,EAAE;IAChE,iBAAiB,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,iBAAiB,EAAE,CAAA;IACzE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,iBAAiB,KAAK,CAAC,CAAA;AAC3E,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAC5B,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;AAEzE,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1F,MAAM,YAAY,GAAG,CAAC,IAAa,EAAkB,EAAE;IACrD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9F,CAAC,CAAA;AAED,iDAAiD;AACjD,MAAM,MAAM,GAAG,CAAC,CAA0B,EAAE,EAAE;IAC5C,MAAM,IAAI,GAAG,IAAI,OAAO,EAAkB,CAAA;IAE1C,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE;QACvC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC,MAAM,CACb,IAA+B,EAC/B,CAAC,IAA6B,EAAE,GAAY,EAAE,GAAW,EAAE,EAAE;gBAC3D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACtB,CAAC;gBACD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAa,CAAC,IAAI,OAAO,CAAC,GAAa,CAAC,CAAA;gBAChE,OAAO,IAAI,CAAA;YACb,CAAC,EACD,EAA6B,CAC9B,CAAA;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;AACvC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA","sourcesContent":["import _ from 'lodash'\n\nconst toSentence = (words: string[], lastWordConnector = 'and') => {\n lastWordConnector = `${words.length > 2 ? ',' : ''} ${lastWordConnector}`\n return words.join(', ').replace(/,\\s([^,]+$)/, `${lastWordConnector} $1`)\n}\n\nconst toCamel = (s: string) =>\n s.replace(/(_[a-z])/g, (m: string) => m.toUpperCase().replace('_', ''))\n\nconst toSnake = (s: string) => (s.startsWith('_') ? `_${_.snakeCase(s)}` : _.snakeCase(s))\n\nconst actualObject = (elem: unknown): elem is Object => {\n return !((_.isObject(elem) && (_.isArray(elem) || _.isFunction(elem))) || !_.isObject(elem))\n}\n\n// map over tree (object) and apply f to each key\nconst walker = (f: (key: string) => string) => {\n const seen = new WeakMap<object, object>()\n\n const convert = (elem: object): object => {\n if (actualObject(elem)) {\n return _.reduce(\n elem as Record<string, unknown>,\n (memo: Record<string, unknown>, obj: unknown, key: string) => {\n if (!seen.has(elem)) {\n seen.set(elem, memo)\n }\n memo[f(key)] = seen.get(obj as object) || convert(obj as object)\n return memo\n },\n {} as Record<string, unknown>\n )\n } else if (_.isArray(elem)) {\n return _.map(elem, convert)\n } else {\n return elem\n }\n }\n return convert\n}\n\nconst keysToCamelCase = walker(toCamel)\nconst keysToSnakeCase = walker(k => (typeof k !== 'string' ? k : toSnake(k)))\n\nexport { keysToCamelCase, keysToSnakeCase, toSentence }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAGA,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAEvC,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,SAAS,OAcjD"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAEvC,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,SAAS,OAcjD"}
@@ -1,3 +1,4 @@
1
+ // @ts-ignore
1
2
  import { date as formatDate } from '@planningcenter/datetime-fmt';
2
3
  import moment from 'moment-timezone';
3
4
  export function formatDatePreview(date) {
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAIpC,MAAM,UAAU,iBAAiB,CAAC,IAAgB;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IAEpB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACvC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE3C,IAAI,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACpE,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAA;IAEjE,wBAAwB;IACxB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAe,EAAE,EAAE;IAC5C,iCAAiC;IACjC,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AACpF,CAAC,CAAA","sourcesContent":["import { date as formatDate } from '@planningcenter/datetime-fmt'\nimport moment from 'moment-timezone'\n\ntype DateProps = string | number | Date\n\nexport function formatDatePreview(date?: DateProps) {\n if (!date) return ''\n\n const now = moment()\n const isToday = now.isSame(date, 'day')\n const isThisWeek = now.isSame(date, 'week')\n const isThisYear = now.isSame(date, 'year')\n\n if (isToday) return moment(date).format('h:mm a')\n if (isThisWeek) return formatDate(date, { style: 'relative-short' })\n if (isThisYear) return formatDate(date, { style: 'abbreviated' })\n\n // TODO: Org date format\n return formatShorterDate(date)\n}\n\nconst formatShorterDate = (date: DateProps) => {\n // Drop the century from the year\n return formatDate(date, { style: 'short', year: true }).replace(/20(\\d{2})/, '$1')\n}\n"]}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAIpC,MAAM,UAAU,iBAAiB,CAAC,IAAgB;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IAEpB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACvC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE3C,IAAI,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACpE,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAA;IAEjE,wBAAwB;IACxB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAe,EAAE,EAAE;IAC5C,iCAAiC;IACjC,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AACpF,CAAC,CAAA","sourcesContent":["// @ts-ignore\nimport { date as formatDate } from '@planningcenter/datetime-fmt'\nimport moment from 'moment-timezone'\n\ntype DateProps = string | number | Date\n\nexport function formatDatePreview(date?: DateProps) {\n if (!date) return ''\n\n const now = moment()\n const isToday = now.isSame(date, 'day')\n const isThisWeek = now.isSame(date, 'week')\n const isThisYear = now.isSame(date, 'year')\n\n if (isToday) return moment(date).format('h:mm a')\n if (isThisWeek) return formatDate(date, { style: 'relative-short' })\n if (isThisYear) return formatDate(date, { style: 'abbreviated' })\n\n // TODO: Org date format\n return formatShorterDate(date)\n}\n\nconst formatShorterDate = (date: DateProps) => {\n // Drop the century from the year\n return formatDate(date, { style: 'short', year: true }).replace(/20(\\d{2})/, '$1')\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"deepCamelCaseKeys.d.ts","sourceRoot":"","sources":["../../src/utils/deepCamelCaseKeys.ts"],"names":[],"mappings":"AAEA,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAA;AAE5D,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAU9D"}
1
+ {"version":3,"file":"deepCamelCaseKeys.d.ts","sourceRoot":"","sources":["../../src/utils/deepCamelCaseKeys.ts"],"names":[],"mappings":"AAEA,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAA;AAE5D,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAW9D"}
@@ -4,7 +4,9 @@ export function deepCamelCaseKeys(obj) {
4
4
  return obj.map(deepCamelCaseKeys);
5
5
  }
6
6
  else if (isObject(obj)) {
7
- return mapValues(mapKeys(obj, (_value, key) => camelCase(key)), deepCamelCaseKeys);
7
+ return mapValues(
8
+ // @ts-ignore This mutates the object, but we don't care about the type here
9
+ mapKeys(obj, (_value, key) => camelCase(key)), deepCamelCaseKeys);
8
10
  }
9
11
  return obj;
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deepCamelCaseKeys.js","sourceRoot":"","sources":["../../src/utils/deepCamelCaseKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAIzE,MAAM,UAAU,iBAAiB,CAAoB,GAAM;IACzD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAQ,GAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAM,CAAA;IACvD,CAAC;SAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CACd,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAC7C,iBAAiB,CACb,CAAA;IACR,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC","sourcesContent":["import { camelCase, isArray, isObject, mapKeys, mapValues } from 'lodash'\n\ntype ObjType = Record<string, unknown> | unknown[] | unknown\n\nexport function deepCamelCaseKeys<T extends ObjType>(obj: T): T {\n if (isArray(obj)) {\n return (obj as T & any[]).map(deepCamelCaseKeys) as T\n } else if (isObject(obj)) {\n return mapValues(\n mapKeys(obj, (_value, key) => camelCase(key)),\n deepCamelCaseKeys\n ) as T\n }\n return obj\n}\n"]}
1
+ {"version":3,"file":"deepCamelCaseKeys.js","sourceRoot":"","sources":["../../src/utils/deepCamelCaseKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAIzE,MAAM,UAAU,iBAAiB,CAAoB,GAAM;IACzD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAM,CAAA;IACxC,CAAC;SAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS;QACd,4EAA4E;QAC5E,OAAO,CAAC,GAAG,EAAE,CAAC,MAAc,EAAE,GAAW,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAC7D,iBAAiB,CACb,CAAA;IACR,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC","sourcesContent":["import { camelCase, isArray, isObject, mapKeys, mapValues } from 'lodash'\n\ntype ObjType = Record<string, unknown> | unknown[] | unknown\n\nexport function deepCamelCaseKeys<T extends ObjType>(obj: T): T {\n if (isArray(obj)) {\n return obj.map(deepCamelCaseKeys) as T\n } else if (isObject(obj)) {\n return mapValues(\n // @ts-ignore This mutates the object, but we don't care about the type here\n mapKeys(obj, (_value: string, key: string) => camelCase(key)),\n deepCamelCaseKeys\n ) as T\n }\n return obj\n}\n"]}
@@ -1,4 +1,4 @@
1
- export declare const parseSimpleMarkdown: (input: any) => MarkdownPart[];
1
+ export declare const parseSimpleMarkdown: (input: string) => MarkdownPart[];
2
2
  interface MarkdownPart {
3
3
  type: 'text' | 'bold' | 'italic' | 'link';
4
4
  content: string;
@@ -1 +1 @@
1
- {"version":3,"file":"parse_simple_markdown.d.ts","sourceRoot":"","sources":["../../src/utils/parse_simple_markdown.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,gCAiC/B,CAAA;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;IACzC,OAAO,EAAE,MAAM,CAAA;CAChB"}
1
+ {"version":3,"file":"parse_simple_markdown.d.ts","sourceRoot":"","sources":["../../src/utils/parse_simple_markdown.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,UAAW,MAAM,mBAmChD,CAAA;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;IACzC,OAAO,EAAE,MAAM,CAAA;CAChB"}
@@ -1,5 +1,5 @@
1
1
  // Supports bold, italic, and links
2
- export const parseSimpleMarkdown = input => {
2
+ export const parseSimpleMarkdown = (input) => {
3
3
  const parts = [];
4
4
  const pattern = /(\*\*|__)(.+?)\1|(?<!\*)\*(.+?)\*|(?<!_)_(.+?)_|(https?:\/\/[^\s]+)/g;
5
5
  let lastIndex = 0;
@@ -23,6 +23,7 @@ export const parseSimpleMarkdown = input => {
23
23
  }
24
24
  }
25
25
  lastIndex = offset + match.length;
26
+ return match;
26
27
  });
27
28
  if (lastIndex < input.length) {
28
29
  parts.push({ type: 'text', content: input.slice(lastIndex) });
@@ -1 +1 @@
1
- {"version":3,"file":"parse_simple_markdown.js","sourceRoot":"","sources":["../../src/utils/parse_simple_markdown.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,EAAE;IACzC,MAAM,KAAK,GAAmB,EAAE,CAAA;IAEhC,MAAM,OAAO,GAAG,sEAAsE,CAAA;IACtF,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9E,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,CAAC,CAAA;QAC7D,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;YAC7D,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;YACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/C,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;QAED,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA","sourcesContent":["// Supports bold, italic, and links\nexport const parseSimpleMarkdown = input => {\n const parts: MarkdownPart[] = []\n\n const pattern = /(\\*\\*|__)(.+?)\\1|(?<!\\*)\\*(.+?)\\*|(?<!_)_(.+?)_|(https?:\\/\\/[^\\s]+)/g\n let lastIndex = 0\n\n input.replace(pattern, (match, bold, boldText, italic1, italic2, url, offset) => {\n if (offset > lastIndex) {\n parts.push({ type: 'text', content: input.slice(lastIndex, offset) })\n }\n\n if (bold) {\n parts.push({ type: 'bold', content: boldText })\n } else if (italic1 || italic2) {\n parts.push({ type: 'italic', content: italic1 || italic2 })\n } else if (url) {\n const urlMatch = url.match(/^(https?:\\/\\/[^\\s]+)([.,;!?]+)$/)\n const urlContent = urlMatch ? urlMatch[1] : url\n parts.push({ type: 'link', content: urlContent })\n const punctuation = urlMatch ? urlMatch[2] : ''\n if (punctuation) {\n parts.push({ type: 'text', content: punctuation })\n }\n }\n\n lastIndex = offset + match.length\n })\n\n if (lastIndex < input.length) {\n parts.push({ type: 'text', content: input.slice(lastIndex) })\n }\n\n return parts\n}\n\ninterface MarkdownPart {\n type: 'text' | 'bold' | 'italic' | 'link'\n content: string\n}\n"]}
1
+ {"version":3,"file":"parse_simple_markdown.js","sourceRoot":"","sources":["../../src/utils/parse_simple_markdown.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE;IACnD,MAAM,KAAK,GAAmB,EAAE,CAAA;IAEhC,MAAM,OAAO,GAAG,sEAAsE,CAAA;IACtF,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9E,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,CAAC,CAAA;QAC7D,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;YAC7D,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;YACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/C,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;QAED,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAEjC,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA","sourcesContent":["// Supports bold, italic, and links\nexport const parseSimpleMarkdown = (input: string) => {\n const parts: MarkdownPart[] = []\n\n const pattern = /(\\*\\*|__)(.+?)\\1|(?<!\\*)\\*(.+?)\\*|(?<!_)_(.+?)_|(https?:\\/\\/[^\\s]+)/g\n let lastIndex = 0\n\n input.replace(pattern, (match, bold, boldText, italic1, italic2, url, offset) => {\n if (offset > lastIndex) {\n parts.push({ type: 'text', content: input.slice(lastIndex, offset) })\n }\n\n if (bold) {\n parts.push({ type: 'bold', content: boldText })\n } else if (italic1 || italic2) {\n parts.push({ type: 'italic', content: italic1 || italic2 })\n } else if (url) {\n const urlMatch = url.match(/^(https?:\\/\\/[^\\s]+)([.,;!?]+)$/)\n const urlContent = urlMatch ? urlMatch[1] : url\n parts.push({ type: 'link', content: urlContent })\n const punctuation = urlMatch ? urlMatch[2] : ''\n if (punctuation) {\n parts.push({ type: 'text', content: punctuation })\n }\n }\n\n lastIndex = offset + match.length\n\n return match\n })\n\n if (lastIndex < input.length) {\n parts.push({ type: 'text', content: input.slice(lastIndex) })\n }\n\n return parts\n}\n\ninterface MarkdownPart {\n type: 'text' | 'bold' | 'italic' | 'link'\n content: string\n}\n"]}
@@ -1,10 +1,8 @@
1
1
  import { GetRequest } from '../client/types';
2
2
  export interface ConversationRequestArgs {
3
- filter: string;
4
3
  gids: string;
5
- group: string;
6
4
  chat_group_graph_id?: string;
7
5
  group_source_app_name?: string;
8
6
  }
9
- export declare const getConversationsRequestArgs: ({ filter, gids, group, group_source_app_name, }?: Partial<ConversationRequestArgs>) => GetRequest;
7
+ export declare const getConversationsRequestArgs: ({ gids, chat_group_graph_id, group_source_app_name, }?: Partial<ConversationRequestArgs>) => GetRequest;
10
8
  //# sourceMappingURL=conversation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/utils/request/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,eAAO,MAAM,2BAA2B,qDAKrC,OAAO,CAAC,uBAAuB,CAAC,KAAQ,UA8BzC,CAAA"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/utils/request/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,eAAO,MAAM,2BAA2B,2DAIrC,OAAO,CAAC,uBAAuB,CAAC,KAAQ,UAsC1C,CAAA"}
@@ -1,32 +1,39 @@
1
- export const getConversationsRequestArgs = ({ filter, gids, group, group_source_app_name, } = {}) => ({
2
- url: '/me/conversations',
3
- data: {
4
- perPage: 20,
5
- order: '-last_message',
6
- filter,
7
- group,
8
- gids,
9
- group_source_app_name,
10
- fields: {
11
- Conversation: [
12
- 'created_at',
13
- 'badges',
14
- 'groups',
15
- 'last_message_author_id',
16
- 'last_message_author_name',
17
- 'last_message_created_at',
18
- 'last_message_text_preview',
19
- 'preview_avatar_urls',
20
- 'member_ability',
21
- 'muted',
22
- 'replies_disabled',
23
- 'title',
24
- 'unread_count',
25
- 'updated_at',
26
- ],
27
- ConversationBadge: ['app_name', 'pco_resource_type', 'text'],
1
+ export const getConversationsRequestArgs = ({ gids, chat_group_graph_id, group_source_app_name, } = {}) => {
2
+ const filter = chat_group_graph_id
3
+ ? 'group'
4
+ : group_source_app_name
5
+ ? 'group_source_app_name'
6
+ : 'mine_or_not_empty';
7
+ return {
8
+ url: '/me/conversations',
9
+ data: {
10
+ perPage: 20,
11
+ order: '-last_message',
12
+ filter,
13
+ gids,
14
+ group: chat_group_graph_id,
15
+ group_source_app_name,
16
+ fields: {
17
+ Conversation: [
18
+ 'created_at',
19
+ 'badges',
20
+ 'groups',
21
+ 'last_message_author_id',
22
+ 'last_message_author_name',
23
+ 'last_message_created_at',
24
+ 'last_message_text_preview',
25
+ 'preview_avatar_urls',
26
+ 'member_ability',
27
+ 'muted',
28
+ 'replies_disabled',
29
+ 'title',
30
+ 'unread_count',
31
+ 'updated_at',
32
+ ],
33
+ ConversationBadge: ['app_name', 'pco_resource_type', 'text'],
34
+ },
35
+ include: ['badges'],
28
36
  },
29
- include: ['badges'],
30
- },
31
- });
37
+ };
38
+ };
32
39
  //# sourceMappingURL=conversation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/utils/request/conversation.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAC1C,MAAM,EACN,IAAI,EACJ,KAAK,EACL,qBAAqB,MACe,EAAE,EAAc,EAAE,CAAC,CAAC;IACxD,GAAG,EAAE,mBAAmB;IACxB,IAAI,EAAE;QACJ,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,eAAe;QACtB,MAAM;QACN,KAAK;QACL,IAAI;QACJ,qBAAqB;QACrB,MAAM,EAAE;YACN,YAAY,EAAE;gBACZ,YAAY;gBACZ,QAAQ;gBACR,QAAQ;gBACR,wBAAwB;gBACxB,0BAA0B;gBAC1B,yBAAyB;gBACzB,2BAA2B;gBAC3B,qBAAqB;gBACrB,gBAAgB;gBAChB,OAAO;gBACP,kBAAkB;gBAClB,OAAO;gBACP,cAAc;gBACd,YAAY;aACb;YACD,iBAAiB,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,MAAM,CAAC;SAC7D;QACD,OAAO,EAAE,CAAC,QAAQ,CAAC;KACpB;CACF,CAAC,CAAA","sourcesContent":["import { GetRequest } from '../client/types'\n\nexport interface ConversationRequestArgs {\n filter: string\n gids: string\n group: string\n chat_group_graph_id?: string\n group_source_app_name?: string\n}\n\nexport const getConversationsRequestArgs = ({\n filter,\n gids,\n group,\n group_source_app_name,\n}: Partial<ConversationRequestArgs> = {}): GetRequest => ({\n url: '/me/conversations',\n data: {\n perPage: 20,\n order: '-last_message',\n filter,\n group,\n gids,\n group_source_app_name,\n fields: {\n Conversation: [\n 'created_at',\n 'badges',\n 'groups',\n 'last_message_author_id',\n 'last_message_author_name',\n 'last_message_created_at',\n 'last_message_text_preview',\n 'preview_avatar_urls',\n 'member_ability',\n 'muted',\n 'replies_disabled',\n 'title',\n 'unread_count',\n 'updated_at',\n ],\n ConversationBadge: ['app_name', 'pco_resource_type', 'text'],\n },\n include: ['badges'],\n },\n})\n"]}
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/utils/request/conversation.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAC1C,IAAI,EACJ,mBAAmB,EACnB,qBAAqB,MACe,EAAE,EAAc,EAAE;IACtD,MAAM,MAAM,GAAG,mBAAmB;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,qBAAqB;YACrB,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,mBAAmB,CAAA;IAEzB,OAAO;QACL,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,eAAe;YACtB,MAAM;YACN,IAAI;YACJ,KAAK,EAAE,mBAAmB;YAC1B,qBAAqB;YACrB,MAAM,EAAE;gBACN,YAAY,EAAE;oBACZ,YAAY;oBACZ,QAAQ;oBACR,QAAQ;oBACR,wBAAwB;oBACxB,0BAA0B;oBAC1B,yBAAyB;oBACzB,2BAA2B;oBAC3B,qBAAqB;oBACrB,gBAAgB;oBAChB,OAAO;oBACP,kBAAkB;oBAClB,OAAO;oBACP,cAAc;oBACd,YAAY;iBACb;gBACD,iBAAiB,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,MAAM,CAAC;aAC7D;YACD,OAAO,EAAE,CAAC,QAAQ,CAAC;SACpB;KACF,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { GetRequest } from '../client/types'\n\nexport interface ConversationRequestArgs {\n gids: string\n chat_group_graph_id?: string\n group_source_app_name?: string\n}\n\nexport const getConversationsRequestArgs = ({\n gids,\n chat_group_graph_id,\n group_source_app_name,\n}: Partial<ConversationRequestArgs> = {}): GetRequest => {\n const filter = chat_group_graph_id\n ? 'group'\n : group_source_app_name\n ? 'group_source_app_name'\n : 'mine_or_not_empty'\n\n return {\n url: '/me/conversations',\n data: {\n perPage: 20,\n order: '-last_message',\n filter,\n gids,\n group: chat_group_graph_id,\n group_source_app_name,\n fields: {\n Conversation: [\n 'created_at',\n 'badges',\n 'groups',\n 'last_message_author_id',\n 'last_message_author_name',\n 'last_message_created_at',\n 'last_message_text_preview',\n 'preview_avatar_urls',\n 'member_ability',\n 'muted',\n 'replies_disabled',\n 'title',\n 'unread_count',\n 'updated_at',\n ],\n ConversationBadge: ['app_name', 'pco_resource_type', 'text'],\n },\n include: ['badges'],\n },\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"space.js","sourceRoot":"","sources":["../../src/utils/space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAoBlD,MAAM,UAAU,KAAK,CAAC,KAAoB;IACxC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,aAAa,CAAA;IAC/C,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC,WAAW,CAAA;IAC5C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG;QAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAE9D,iDAAiD;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,eAAe,GAAG,KAAK,GAAG,CAAC,CAAA;IACjC,IAAI,eAAe,KAAK,CAAC,IAAI,eAAe,KAAK,GAAG;QAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAEtF,0DAA0D;IAC1D,MAAM,cAAc,GAAG,eAAe,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACvE,OAAO,MAAM,CAAC,UAAU,UAAU,EAAE,CAAC,GAAG,cAAc,CAAA;AACxD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,CAAC,IAAI,CAAC,wBAAwB,KAAK,gDAAgD,CAAC,CAAA;IAC3F,OAAO,CAAC,CAAA;AACV,CAAC","sourcesContent":["import { tokens } from '../vendor/tapestry/tokens'\n\nexport type SpacingValues =\n | 0.25\n | 0.5\n | 1\n | 1.5\n | 2\n | 2.5\n | 3\n | 3.5\n | 4\n | 4.5\n | 5\n | 5.5\n | 6\n | 6.5\n | 7\n | 7.5\n\nexport function space(value: SpacingValues): number {\n if (value === 0.25) return tokens.spacingFourth\n if (value === 0.5) return tokens.spacingHalf\n if (value < 1 || value > 7.5) return handleInvalidSpace(value)\n\n // Reject fractional values that are not 0 or 0.5\n const wholeValue = Math.floor(value)\n const fractionalValue = value % 1\n if (fractionalValue !== 0 && fractionalValue !== 0.5) return handleInvalidSpace(value)\n\n // Deliver a whole value or add a half spacing token to it\n const remainderValue = fractionalValue === 0.5 ? tokens.spacingHalf : 0\n return tokens[`spacing${wholeValue}`] + remainderValue\n}\n\nfunction handleInvalidSpace(value: number) {\n console.warn(`Invalid space value: ${value} — Must be a whole or half number between 1–7.`)\n return 0\n}\n"]}
1
+ {"version":3,"file":"space.js","sourceRoot":"","sources":["../../src/utils/space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAoBlD,MAAM,UAAU,KAAK,CAAC,KAAoB;IACxC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,aAAa,CAAA;IAC/C,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC,WAAW,CAAA;IAC5C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG;QAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAE9D,iDAAiD;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAA8B,CAAA;IACjE,MAAM,eAAe,GAAG,KAAK,GAAG,CAAC,CAAA;IACjC,IAAI,eAAe,KAAK,CAAC,IAAI,eAAe,KAAK,GAAG;QAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAEtF,0DAA0D;IAC1D,MAAM,cAAc,GAAG,eAAe,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACvE,OAAO,MAAM,CAAC,UAAU,UAAU,EAAE,CAAC,GAAG,cAAc,CAAA;AACxD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,CAAC,IAAI,CAAC,wBAAwB,KAAK,gDAAgD,CAAC,CAAA;IAC3F,OAAO,CAAC,CAAA;AACV,CAAC","sourcesContent":["import { tokens } from '../vendor/tapestry/tokens'\n\nexport type SpacingValues =\n | 0.25\n | 0.5\n | 1\n | 1.5\n | 2\n | 2.5\n | 3\n | 3.5\n | 4\n | 4.5\n | 5\n | 5.5\n | 6\n | 6.5\n | 7\n | 7.5\n\nexport function space(value: SpacingValues): number {\n if (value === 0.25) return tokens.spacingFourth\n if (value === 0.5) return tokens.spacingHalf\n if (value < 1 || value > 7.5) return handleInvalidSpace(value)\n\n // Reject fractional values that are not 0 or 0.5\n const wholeValue = Math.floor(value) as 1 | 2 | 3 | 4 | 5 | 6 | 7\n const fractionalValue = value % 1\n if (fractionalValue !== 0 && fractionalValue !== 0.5) return handleInvalidSpace(value)\n\n // Deliver a whole value or add a half spacing token to it\n const remainderValue = fractionalValue === 0.5 ? tokens.spacingHalf : 0\n return tokens[`spacing${wholeValue}`] + remainderValue\n}\n\nfunction handleInvalidSpace(value: number) {\n console.warn(`Invalid space value: ${value} — Must be a whole or half number between 1–7.`)\n return 0\n}\n"]}
@@ -15,7 +15,7 @@ export declare class Uri {
15
15
  'User-Agent': string;
16
16
  Authorization: string;
17
17
  };
18
- appUrl: (path: any) => any;
19
- api: (path: any) => any;
18
+ appUrl: (path: string) => string;
19
+ api: (path: string) => string;
20
20
  }
21
21
  //# sourceMappingURL=uri.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,qBAAa,GAAG;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;gBAEA,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;IAKhE,IAAI,MAAM,qBAMT;IAED,IAAI,IAAI,6FAWP;IAED,IAAI,GAAG,4BAEN;IAED,IAAI,OAAO,WAEV;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,OAAO;;;MAKV;IAED,MAAM,qBAIL;IAED,GAAG,qBAIF;CACF"}
1
+ {"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,qBAAa,GAAG;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;gBAEA,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;IAKhE,IAAI,MAAM,qBAMT;IAED,IAAI,IAAI,6FAWP;IAED,IAAI,GAAG,4BAEN;IAED,IAAI,OAAO,WAEV;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,OAAO;;;MAKV;IAED,MAAM,SAAU,MAAM,YAIrB;IAED,GAAG,SAAU,MAAM,YAIlB;CACF"}
@@ -47,12 +47,12 @@ export class Uri {
47
47
  Authorization: `Bearer ${this.session.token?.access_token}`,
48
48
  };
49
49
  }
50
- appUrl = path => {
50
+ appUrl = (path) => {
51
51
  if (path.startsWith(`${this.schema}://`))
52
52
  return path;
53
53
  return `${this.baseUrl}${this.directory}${path || '/'}`;
54
54
  };
55
- api = path => {
55
+ api = (path) => {
56
56
  if (path.startsWith(`${this.schema}://`))
57
57
  return path;
58
58
  return `${this.baseUrl}${path || '/'}`;
@@ -1 +1 @@
1
- {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,0BAA0B,CAAA;AAEjD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAA;AACnC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAA;AACnC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,CAAA;AAC7C,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAA;AACnD,MAAM,eAAe,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAA;AACvD,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAA;AAE/C,MAAM,OAAO,GAAG;IACd,OAAO,CAAS;IAChB,GAAG,CAAS;IAEZ,YAAY,EAAE,OAAO,EAAE,GAAG,EAAsC;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,GAAG,KAAK,aAAa,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAA;QACf,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAA;QAChB,CAAC;IACH,CAAC;IAED,IAAI,IAAI;QACN,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO,8BAA8B,CAAA;YACvC,KAAK,SAAS;gBACZ,OAAO,sCAAsC,CAAA;YAC/C,KAAK,aAAa;gBAChB,OAAO,cAAc,CAAA;YACvB;gBACE,OAAO,8BAA8B,CAAA;QACzC,CAAC;IACH,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,YAAY,CAAA;IAC1C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;IACxC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1C,CAAC;IAED,IAAI,OAAO;QACT,OAAO;YACL,YAAY,EAAE,GAAG,OAAO,IAAI,eAAe,KAAK,KAAK,KAAK,KAAK,KAAK,UAAU,KAAK,aAAa,GAAG;YACnG,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE;SAC5D,CAAA;IACH,CAAC;IAED,MAAM,GAAG,IAAI,CAAC,EAAE;QACd,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAErD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,GAAG,EAAE,CAAA;IACzD,CAAC,CAAA;IAED,GAAG,GAAG,IAAI,CAAC,EAAE;QACX,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAErD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,GAAG,EAAE,CAAA;IACxC,CAAC,CAAA;CACF","sourcesContent":["import DeviceInfo from 'react-native-device-info'\nimport { Session } from './session'\nconst brand = DeviceInfo.getBrand()\nconst model = DeviceInfo.getModel()\nconst systemName = DeviceInfo.getSystemName()\nconst systemVersion = DeviceInfo.getSystemVersion()\nconst readableVersion = DeviceInfo.getReadableVersion()\nconst appName = DeviceInfo.getApplicationName()\n\nexport class Uri {\n session: Session\n app?: string\n\n constructor({ session, app }: { session: Session; app?: string }) {\n this.session = session\n this.app = app\n }\n\n get schema() {\n if (this.env === 'development') {\n return 'http'\n } else {\n return 'https'\n }\n }\n\n get host() {\n switch (this.env) {\n case 'production':\n return 'api.planningcenteronline.com'\n case 'staging':\n return 'api-staging.planningcenteronline.com'\n case 'development':\n return 'api.pco.test'\n default:\n return 'api.planningcenteronline.com'\n }\n }\n\n get env() {\n return this.session?.env || 'production'\n }\n\n get baseUrl() {\n return `${this.schema}://${this.host}`\n }\n\n get directory() {\n return this.app ? `/${this.app}/v2` : ''\n }\n\n get headers() {\n return {\n 'User-Agent': `${appName}/${readableVersion} (${brand}, ${model}, ${systemName}, ${systemVersion})`,\n Authorization: `Bearer ${this.session.token?.access_token}`,\n }\n }\n\n appUrl = path => {\n if (path.startsWith(`${this.schema}://`)) return path\n\n return `${this.baseUrl}${this.directory}${path || '/'}`\n }\n\n api = path => {\n if (path.startsWith(`${this.schema}://`)) return path\n\n return `${this.baseUrl}${path || '/'}`\n }\n}\n"]}
1
+ {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,0BAA0B,CAAA;AAEjD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAA;AACnC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAA;AACnC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,CAAA;AAC7C,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAA;AACnD,MAAM,eAAe,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAA;AACvD,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAA;AAE/C,MAAM,OAAO,GAAG;IACd,OAAO,CAAS;IAChB,GAAG,CAAS;IAEZ,YAAY,EAAE,OAAO,EAAE,GAAG,EAAsC;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,GAAG,KAAK,aAAa,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAA;QACf,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAA;QAChB,CAAC;IACH,CAAC;IAED,IAAI,IAAI;QACN,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO,8BAA8B,CAAA;YACvC,KAAK,SAAS;gBACZ,OAAO,sCAAsC,CAAA;YAC/C,KAAK,aAAa;gBAChB,OAAO,cAAc,CAAA;YACvB;gBACE,OAAO,8BAA8B,CAAA;QACzC,CAAC;IACH,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,YAAY,CAAA;IAC1C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;IACxC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1C,CAAC;IAED,IAAI,OAAO;QACT,OAAO;YACL,YAAY,EAAE,GAAG,OAAO,IAAI,eAAe,KAAK,KAAK,KAAK,KAAK,KAAK,UAAU,KAAK,aAAa,GAAG;YACnG,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE;SAC5D,CAAA;IACH,CAAC;IAED,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QACxB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAErD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,GAAG,EAAE,CAAA;IACzD,CAAC,CAAA;IAED,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE;QACrB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAErD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,GAAG,EAAE,CAAA;IACxC,CAAC,CAAA;CACF","sourcesContent":["import DeviceInfo from 'react-native-device-info'\nimport { Session } from './session'\nconst brand = DeviceInfo.getBrand()\nconst model = DeviceInfo.getModel()\nconst systemName = DeviceInfo.getSystemName()\nconst systemVersion = DeviceInfo.getSystemVersion()\nconst readableVersion = DeviceInfo.getReadableVersion()\nconst appName = DeviceInfo.getApplicationName()\n\nexport class Uri {\n session: Session\n app?: string\n\n constructor({ session, app }: { session: Session; app?: string }) {\n this.session = session\n this.app = app\n }\n\n get schema() {\n if (this.env === 'development') {\n return 'http'\n } else {\n return 'https'\n }\n }\n\n get host() {\n switch (this.env) {\n case 'production':\n return 'api.planningcenteronline.com'\n case 'staging':\n return 'api-staging.planningcenteronline.com'\n case 'development':\n return 'api.pco.test'\n default:\n return 'api.planningcenteronline.com'\n }\n }\n\n get env() {\n return this.session?.env || 'production'\n }\n\n get baseUrl() {\n return `${this.schema}://${this.host}`\n }\n\n get directory() {\n return this.app ? `/${this.app}/v2` : ''\n }\n\n get headers() {\n return {\n 'User-Agent': `${appName}/${readableVersion} (${brand}, ${model}, ${systemName}, ${systemVersion})`,\n Authorization: `Bearer ${this.session.token?.access_token}`,\n }\n }\n\n appUrl = (path: string) => {\n if (path.startsWith(`${this.schema}://`)) return path\n\n return `${this.baseUrl}${this.directory}${path || '/'}`\n }\n\n api = (path: string) => {\n if (path.startsWith(`${this.schema}://`)) return path\n\n return `${this.baseUrl}${path || '/'}`\n }\n}\n"]}
@@ -23,6 +23,10 @@ export declare const aliasTokensColorMap: {
23
23
  readonly fillColorStatusErrorMedium: string;
24
24
  readonly fillColorButtonNeutralSolidDisabled: string;
25
25
  readonly androidRippleNeutral: string;
26
+ readonly surfaceColorCard: string;
27
+ readonly surfaceColorCanvas: string;
28
+ readonly surfaceColor100: string;
29
+ readonly surfaceColor090: string;
26
30
  readonly needsDesignPass: string;
27
31
  readonly fillColorNeutral000: string;
28
32
  readonly fillColorNeutral010: string;
@@ -60,6 +64,10 @@ export declare const aliasTokensColorMap: {
60
64
  readonly fillColorStatusErrorMedium: string;
61
65
  readonly fillColorButtonNeutralSolidDisabled: string;
62
66
  readonly androidRippleNeutral: string;
67
+ readonly surfaceColorCard: string;
68
+ readonly surfaceColorCanvas: string;
69
+ readonly surfaceColor100: string;
70
+ readonly surfaceColor090: string;
63
71
  readonly needsDesignPass: string;
64
72
  readonly fillColorNeutral000: string;
65
73
  readonly fillColorNeutral010: string;
@@ -1 +1 @@
1
- {"version":3,"file":"alias_tokens_color_map.d.ts","sourceRoot":"","sources":["../../../src/vendor/tapestry/alias_tokens_color_map.ts"],"names":[],"mappings":"AAoIA,eAAO,MAAM,mBAAmB;;uBAhFxB,MAAM;yCACY,MAAM;yCACN,MAAM;2CACJ,MAAM;6CACJ,MAAM;wCACX,MAAM;0CACJ,MAAM;0CACN,MAAM;4CACJ,MAAM;sCACZ,MAAM;2CACD,MAAM;2CACN,MAAM;2CACN,MAAM;0CACP,MAAM;4CACJ,MAAM;2CACP,MAAM;8CACH,MAAM;2CACT,MAAM;oDACG,MAAM;8CACZ,MAAM;6CACP,MAAM;sDACG,MAAM;uCACrB,MAAM;kCACX,MAAM;sCAnEF,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;0CACF,MAAM;sCACV,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;8CACE,MAAM;;;uBAkC7B,MAAM;yCACY,MAAM;yCACN,MAAM;2CACJ,MAAM;6CACJ,MAAM;wCACX,MAAM;0CACJ,MAAM;0CACN,MAAM;4CACJ,MAAM;sCACZ,MAAM;2CACD,MAAM;2CACN,MAAM;2CACN,MAAM;0CACP,MAAM;4CACJ,MAAM;2CACP,MAAM;8CACH,MAAM;2CACT,MAAM;oDACG,MAAM;8CACZ,MAAM;6CACP,MAAM;sDACG,MAAM;uCACrB,MAAM;kCACX,MAAM;sCAnEF,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;0CACF,MAAM;sCACV,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;8CACE,MAAM;;CAqH3B,CAAA"}
1
+ {"version":3,"file":"alias_tokens_color_map.d.ts","sourceRoot":"","sources":["../../../src/vendor/tapestry/alias_tokens_color_map.ts"],"names":[],"mappings":"AAgJA,eAAO,MAAM,mBAAmB;;uBA5FxB,MAAM;yCACY,MAAM;yCACN,MAAM;2CACJ,MAAM;6CACJ,MAAM;wCACX,MAAM;0CACJ,MAAM;0CACN,MAAM;4CACJ,MAAM;sCACZ,MAAM;2CACD,MAAM;2CACN,MAAM;2CACN,MAAM;0CACP,MAAM;4CACJ,MAAM;2CACP,MAAM;8CACH,MAAM;2CACT,MAAM;oDACG,MAAM;8CACZ,MAAM;6CACP,MAAM;sDACG,MAAM;uCACrB,MAAM;mCACV,MAAM;qCACJ,MAAM;kCACT,MAAM;kCACN,MAAM;kCACN,MAAM;sCAvEF,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;0CACF,MAAM;sCACV,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;8CACE,MAAM;;;uBAkC7B,MAAM;yCACY,MAAM;yCACN,MAAM;2CACJ,MAAM;6CACJ,MAAM;wCACX,MAAM;0CACJ,MAAM;0CACN,MAAM;4CACJ,MAAM;sCACZ,MAAM;2CACD,MAAM;2CACN,MAAM;2CACN,MAAM;0CACP,MAAM;4CACJ,MAAM;2CACP,MAAM;8CACH,MAAM;2CACT,MAAM;oDACG,MAAM;8CACZ,MAAM;6CACP,MAAM;sDACG,MAAM;uCACrB,MAAM;mCACV,MAAM;qCACJ,MAAM;kCACT,MAAM;kCACN,MAAM;kCACN,MAAM;sCAvEF,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;0CACF,MAAM;sCACV,MAAM;sCACN,MAAM;sCACN,MAAM;sCACN,MAAM;8CACE,MAAM;;CAiI3B,CAAA"}
@@ -51,6 +51,10 @@ const semanticAliasesLight = {
51
51
  fillColorStatusErrorMedium: tokens.fillColorStatusErrorMedium,
52
52
  fillColorButtonNeutralSolidDisabled: neutralsLight.fillColorNeutral070,
53
53
  androidRippleNeutral: tokens.fillColorTransparencyDark020,
54
+ surfaceColorCard: neutralsLight.fillColorNeutral100Inverted,
55
+ surfaceColorCanvas: neutralsLight.fillColorNeutral090,
56
+ surfaceColor100: neutralsLight.fillColorNeutral100Inverted,
57
+ surfaceColor090: neutralsLight.fillColorNeutral090,
54
58
  needsDesignPass: 'hotpink',
55
59
  };
56
60
  const semanticAliasesDark = {
@@ -77,6 +81,10 @@ const semanticAliasesDark = {
77
81
  fillColorStatusErrorMedium: tokens.fillColorStatusErrorMedium,
78
82
  fillColorButtonNeutralSolidDisabled: neutralsDark.fillColorNeutral070,
79
83
  androidRippleNeutral: tokens.fillColorTransparencyLight020,
84
+ surfaceColorCard: neutralsDark.fillColorNeutral100Inverted,
85
+ surfaceColorCanvas: neutralsDark.fillColorNeutral090,
86
+ surfaceColor100: neutralsDark.fillColorNeutral100Inverted,
87
+ surfaceColor090: neutralsDark.fillColorNeutral090,
80
88
  needsDesignPass: 'pink',
81
89
  };
82
90
  export const aliasTokensColorMap = {
@@ -1 +1 @@
1
- {"version":3,"file":"alias_tokens_color_map.js","sourceRoot":"","sources":["../../../src/vendor/tapestry/alias_tokens_color_map.ts"],"names":[],"mappings":"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","sourcesContent":["import { tokens } from './tokens'\n\n// Copied from `@planningcenter/tapestry` package.\n// Defining these tokens locally is a temporary solution until the package supports mobile.\n// Tokens Reference: https://planningcenter.github.io/tapestry/?path=/docs/foundations-design-tokens--docs\n\ninterface NeutralColors {\n name: string\n fillColorNeutral000: string\n fillColorNeutral010: string\n fillColorNeutral020: string\n fillColorNeutral030: string\n fillColorNeutral040: string\n fillColorNeutral050Base: string\n fillColorNeutral060: string\n fillColorNeutral070: string\n fillColorNeutral080: string\n fillColorNeutral090: string\n fillColorNeutral100Inverted: string\n}\n\nconst neutralsLight: NeutralColors = {\n name: 'light',\n fillColorNeutral000: tokens.colorNeutral12,\n fillColorNeutral010: tokens.colorNeutral24,\n fillColorNeutral020: tokens.colorNeutral45,\n fillColorNeutral030: tokens.colorNeutral58,\n fillColorNeutral040: tokens.colorNeutral81,\n fillColorNeutral050Base: tokens.colorNeutral88,\n fillColorNeutral060: tokens.colorNeutral93,\n fillColorNeutral070: tokens.colorNeutral95,\n fillColorNeutral080: tokens.colorNeutral97,\n fillColorNeutral090: tokens.colorNeutral98,\n fillColorNeutral100Inverted: tokens.colorNeutral100White,\n} as const\n\nconst neutralsDark: NeutralColors = {\n name: 'dark',\n fillColorNeutral000: tokens.colorNeutral98,\n fillColorNeutral010: tokens.colorNeutral88,\n fillColorNeutral020: tokens.colorNeutral68,\n fillColorNeutral030: tokens.colorNeutral50,\n fillColorNeutral040: tokens.colorNeutral32,\n fillColorNeutral050Base: tokens.colorNeutral24,\n fillColorNeutral060: tokens.colorNeutral19,\n fillColorNeutral070: tokens.colorNeutral17,\n fillColorNeutral080: tokens.colorNeutral15,\n fillColorNeutral090: tokens.colorNeutral12,\n fillColorNeutral100Inverted: tokens.colorNeutral7,\n} as const\n\ninterface SemanticAliasesColors {\n name: string\n borderColorDefaultBase: string\n borderColorDefaultDark: string\n borderColorDefaultDarker: string\n borderColorDefaultDisabled: string\n borderColorDefaultDim: string\n borderColorDefaultWhite: string\n iconColorDefaultPrimary: string\n iconColorDefaultSecondary: string\n iconColorDefaultDim: string\n iconColorDefaultDisabled: string\n iconColorDefaultInverted: string\n textColorDefaultHeadline: string\n textColorDefaultPrimary: string\n textColorDefaultSecondary: string\n textColorDefaultDisabled: string\n textColorDefaultPlaceholder: string\n textColorDefaultInverted: string\n fillColorInteractionOnlineDefault: string\n fillColorInteractionDefault: string\n fillColorStatusErrorMedium: string\n fillColorButtonNeutralSolidDisabled: string\n androidRippleNeutral: string\n needsDesignPass: string\n}\n\nconst semanticAliasesLight: SemanticAliasesColors = {\n name: 'light',\n borderColorDefaultBase: neutralsLight.fillColorNeutral050Base,\n borderColorDefaultDark: neutralsLight.fillColorNeutral040,\n borderColorDefaultDarker: neutralsLight.fillColorNeutral020,\n borderColorDefaultDisabled: neutralsLight.fillColorNeutral050Base,\n borderColorDefaultDim: neutralsLight.fillColorNeutral070,\n borderColorDefaultWhite: neutralsLight.fillColorNeutral100Inverted,\n iconColorDefaultPrimary: neutralsLight.fillColorNeutral010,\n iconColorDefaultSecondary: neutralsLight.fillColorNeutral020,\n iconColorDefaultDim: neutralsLight.fillColorNeutral030,\n iconColorDefaultDisabled: neutralsLight.fillColorNeutral040,\n iconColorDefaultInverted: neutralsLight.fillColorNeutral100Inverted,\n textColorDefaultHeadline: neutralsLight.fillColorNeutral000,\n textColorDefaultPrimary: neutralsLight.fillColorNeutral010,\n textColorDefaultSecondary: neutralsLight.fillColorNeutral020,\n textColorDefaultDisabled: neutralsLight.fillColorNeutral040,\n textColorDefaultPlaceholder: neutralsLight.fillColorNeutral030,\n textColorDefaultInverted: tokens.colorNeutral100White,\n fillColorInteractionOnlineDefault: tokens.colorInteractionOnlineDefault,\n fillColorInteractionDefault: tokens.fillColorInteractionDefault,\n fillColorStatusErrorMedium: tokens.fillColorStatusErrorMedium,\n fillColorButtonNeutralSolidDisabled: neutralsLight.fillColorNeutral070,\n androidRippleNeutral: tokens.fillColorTransparencyDark020,\n needsDesignPass: 'hotpink',\n} as const\n\nconst semanticAliasesDark: SemanticAliasesColors = {\n name: 'dark',\n borderColorDefaultBase: neutralsDark.fillColorNeutral050Base,\n borderColorDefaultDark: neutralsDark.fillColorNeutral040,\n borderColorDefaultDarker: neutralsDark.fillColorNeutral020,\n borderColorDefaultDisabled: neutralsDark.fillColorNeutral050Base,\n borderColorDefaultDim: neutralsDark.fillColorNeutral070,\n borderColorDefaultWhite: neutralsDark.fillColorNeutral100Inverted,\n iconColorDefaultPrimary: neutralsDark.fillColorNeutral010,\n iconColorDefaultSecondary: neutralsDark.fillColorNeutral020,\n iconColorDefaultDim: neutralsDark.fillColorNeutral030,\n iconColorDefaultDisabled: neutralsDark.fillColorNeutral040,\n iconColorDefaultInverted: neutralsDark.fillColorNeutral100Inverted,\n textColorDefaultHeadline: neutralsDark.fillColorNeutral000,\n textColorDefaultPrimary: neutralsDark.fillColorNeutral010,\n textColorDefaultSecondary: neutralsDark.fillColorNeutral020,\n textColorDefaultDisabled: neutralsDark.fillColorNeutral040,\n textColorDefaultPlaceholder: neutralsDark.fillColorNeutral030,\n textColorDefaultInverted: tokens.colorNeutral7,\n fillColorInteractionOnlineDefault: tokens.colorInteractionOnlineDefault,\n fillColorInteractionDefault: tokens.fillColorInteractionDefaultDark,\n fillColorStatusErrorMedium: tokens.fillColorStatusErrorMedium,\n fillColorButtonNeutralSolidDisabled: neutralsDark.fillColorNeutral070,\n androidRippleNeutral: tokens.fillColorTransparencyLight020,\n needsDesignPass: 'pink',\n}\n\nexport const aliasTokensColorMap = {\n light: { ...neutralsLight, ...semanticAliasesLight },\n dark: { ...neutralsDark, ...semanticAliasesDark },\n} as const\n"]}
1
+ {"version":3,"file":"alias_tokens_color_map.js","sourceRoot":"","sources":["../../../src/vendor/tapestry/alias_tokens_color_map.ts"],"names":[],"mappings":"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","sourcesContent":["import { tokens } from './tokens'\n\n// Copied from `@planningcenter/tapestry` package.\n// Defining these tokens locally is a temporary solution until the package supports mobile.\n// Tokens Reference: https://planningcenter.github.io/tapestry/?path=/docs/foundations-design-tokens--docs\n\ninterface NeutralColors {\n name: string\n fillColorNeutral000: string\n fillColorNeutral010: string\n fillColorNeutral020: string\n fillColorNeutral030: string\n fillColorNeutral040: string\n fillColorNeutral050Base: string\n fillColorNeutral060: string\n fillColorNeutral070: string\n fillColorNeutral080: string\n fillColorNeutral090: string\n fillColorNeutral100Inverted: string\n}\n\nconst neutralsLight: NeutralColors = {\n name: 'light',\n fillColorNeutral000: tokens.colorNeutral12,\n fillColorNeutral010: tokens.colorNeutral24,\n fillColorNeutral020: tokens.colorNeutral45,\n fillColorNeutral030: tokens.colorNeutral58,\n fillColorNeutral040: tokens.colorNeutral81,\n fillColorNeutral050Base: tokens.colorNeutral88,\n fillColorNeutral060: tokens.colorNeutral93,\n fillColorNeutral070: tokens.colorNeutral95,\n fillColorNeutral080: tokens.colorNeutral97,\n fillColorNeutral090: tokens.colorNeutral98,\n fillColorNeutral100Inverted: tokens.colorNeutral100White,\n} as const\n\nconst neutralsDark: NeutralColors = {\n name: 'dark',\n fillColorNeutral000: tokens.colorNeutral98,\n fillColorNeutral010: tokens.colorNeutral88,\n fillColorNeutral020: tokens.colorNeutral68,\n fillColorNeutral030: tokens.colorNeutral50,\n fillColorNeutral040: tokens.colorNeutral32,\n fillColorNeutral050Base: tokens.colorNeutral24,\n fillColorNeutral060: tokens.colorNeutral19,\n fillColorNeutral070: tokens.colorNeutral17,\n fillColorNeutral080: tokens.colorNeutral15,\n fillColorNeutral090: tokens.colorNeutral12,\n fillColorNeutral100Inverted: tokens.colorNeutral7,\n} as const\n\ninterface SemanticAliasesColors {\n name: string\n borderColorDefaultBase: string\n borderColorDefaultDark: string\n borderColorDefaultDarker: string\n borderColorDefaultDisabled: string\n borderColorDefaultDim: string\n borderColorDefaultWhite: string\n iconColorDefaultPrimary: string\n iconColorDefaultSecondary: string\n iconColorDefaultDim: string\n iconColorDefaultDisabled: string\n iconColorDefaultInverted: string\n textColorDefaultHeadline: string\n textColorDefaultPrimary: string\n textColorDefaultSecondary: string\n textColorDefaultDisabled: string\n textColorDefaultPlaceholder: string\n textColorDefaultInverted: string\n fillColorInteractionOnlineDefault: string\n fillColorInteractionDefault: string\n fillColorStatusErrorMedium: string\n fillColorButtonNeutralSolidDisabled: string\n androidRippleNeutral: string\n surfaceColorCard: string\n surfaceColorCanvas: string\n surfaceColor100: string\n surfaceColor090: string\n needsDesignPass: string\n}\n\nconst semanticAliasesLight: SemanticAliasesColors = {\n name: 'light',\n borderColorDefaultBase: neutralsLight.fillColorNeutral050Base,\n borderColorDefaultDark: neutralsLight.fillColorNeutral040,\n borderColorDefaultDarker: neutralsLight.fillColorNeutral020,\n borderColorDefaultDisabled: neutralsLight.fillColorNeutral050Base,\n borderColorDefaultDim: neutralsLight.fillColorNeutral070,\n borderColorDefaultWhite: neutralsLight.fillColorNeutral100Inverted,\n iconColorDefaultPrimary: neutralsLight.fillColorNeutral010,\n iconColorDefaultSecondary: neutralsLight.fillColorNeutral020,\n iconColorDefaultDim: neutralsLight.fillColorNeutral030,\n iconColorDefaultDisabled: neutralsLight.fillColorNeutral040,\n iconColorDefaultInverted: neutralsLight.fillColorNeutral100Inverted,\n textColorDefaultHeadline: neutralsLight.fillColorNeutral000,\n textColorDefaultPrimary: neutralsLight.fillColorNeutral010,\n textColorDefaultSecondary: neutralsLight.fillColorNeutral020,\n textColorDefaultDisabled: neutralsLight.fillColorNeutral040,\n textColorDefaultPlaceholder: neutralsLight.fillColorNeutral030,\n textColorDefaultInverted: tokens.colorNeutral100White,\n fillColorInteractionOnlineDefault: tokens.colorInteractionOnlineDefault,\n fillColorInteractionDefault: tokens.fillColorInteractionDefault,\n fillColorStatusErrorMedium: tokens.fillColorStatusErrorMedium,\n fillColorButtonNeutralSolidDisabled: neutralsLight.fillColorNeutral070,\n androidRippleNeutral: tokens.fillColorTransparencyDark020,\n surfaceColorCard: neutralsLight.fillColorNeutral100Inverted,\n surfaceColorCanvas: neutralsLight.fillColorNeutral090,\n surfaceColor100: neutralsLight.fillColorNeutral100Inverted,\n surfaceColor090: neutralsLight.fillColorNeutral090,\n needsDesignPass: 'hotpink',\n} as const\n\nconst semanticAliasesDark: SemanticAliasesColors = {\n name: 'dark',\n borderColorDefaultBase: neutralsDark.fillColorNeutral050Base,\n borderColorDefaultDark: neutralsDark.fillColorNeutral040,\n borderColorDefaultDarker: neutralsDark.fillColorNeutral020,\n borderColorDefaultDisabled: neutralsDark.fillColorNeutral050Base,\n borderColorDefaultDim: neutralsDark.fillColorNeutral070,\n borderColorDefaultWhite: neutralsDark.fillColorNeutral100Inverted,\n iconColorDefaultPrimary: neutralsDark.fillColorNeutral010,\n iconColorDefaultSecondary: neutralsDark.fillColorNeutral020,\n iconColorDefaultDim: neutralsDark.fillColorNeutral030,\n iconColorDefaultDisabled: neutralsDark.fillColorNeutral040,\n iconColorDefaultInverted: neutralsDark.fillColorNeutral100Inverted,\n textColorDefaultHeadline: neutralsDark.fillColorNeutral000,\n textColorDefaultPrimary: neutralsDark.fillColorNeutral010,\n textColorDefaultSecondary: neutralsDark.fillColorNeutral020,\n textColorDefaultDisabled: neutralsDark.fillColorNeutral040,\n textColorDefaultPlaceholder: neutralsDark.fillColorNeutral030,\n textColorDefaultInverted: tokens.colorNeutral7,\n fillColorInteractionOnlineDefault: tokens.colorInteractionOnlineDefault,\n fillColorInteractionDefault: tokens.fillColorInteractionDefaultDark,\n fillColorStatusErrorMedium: tokens.fillColorStatusErrorMedium,\n fillColorButtonNeutralSolidDisabled: neutralsDark.fillColorNeutral070,\n androidRippleNeutral: tokens.fillColorTransparencyLight020,\n surfaceColorCard: neutralsDark.fillColorNeutral100Inverted,\n surfaceColorCanvas: neutralsDark.fillColorNeutral090,\n surfaceColor100: neutralsDark.fillColorNeutral100Inverted,\n surfaceColor090: neutralsDark.fillColorNeutral090,\n needsDesignPass: 'pink',\n}\n\nexport const aliasTokensColorMap = {\n light: { ...neutralsLight, ...semanticAliasesLight },\n dark: { ...neutralsDark, ...semanticAliasesDark },\n} as const\n"]}
@@ -53,6 +53,8 @@ export declare const tokens: {
53
53
  borderColorStatusErrorDark: "hsl(8, 60%, 55%)";
54
54
  colorNeutral100White: "hsl(0, 0%, 100%)";
55
55
  fillColorInteractionDefault: "hsl(204, 100%, 40%)";
56
+ fillColorInteractionSwipeDefault: "hsl(204, 100%, 40%)";
57
+ fillColorInteractionSwipeSecondary: "hsl(0, 0%, 24%)";
56
58
  fillColorStatusNeutralGhost: "hsl(0, 0%, 93%)";
57
59
  fillColorStatusNeutralGhostDark: "hsl(0, 0%, 18%)";
58
60
  textColorStatusNeutral: "hsl(0, 0%, 24%)";
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/vendor/tapestry/tokens.ts"],"names":[],"mappings":"AAuHA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlB,CAAA"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/vendor/tapestry/tokens.ts"],"names":[],"mappings":"AAyHA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlB,CAAA"}
@@ -23,6 +23,8 @@ const colorPrimitives = {
23
23
  borderColorStatusErrorDark: 'hsl(8, 60%, 55%)',
24
24
  colorNeutral100White: 'hsl(0, 0%, 100%)',
25
25
  fillColorInteractionDefault: 'hsl(204, 100%, 40%)',
26
+ fillColorInteractionSwipeDefault: 'hsl(204, 100%, 40%)',
27
+ fillColorInteractionSwipeSecondary: 'hsl(0, 0%, 24%)',
26
28
  fillColorStatusNeutralGhost: 'hsl(0, 0%, 93%)',
27
29
  fillColorStatusNeutralGhostDark: 'hsl(0, 0%, 18%)',
28
30
  textColorStatusNeutral: 'hsl(0, 0%, 24%)',