@ttt-productions/q-core 0.1.63 → 0.1.65

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 (61) hide show
  1. package/dist/constants/business.d.ts +0 -1
  2. package/dist/constants/business.d.ts.map +1 -1
  3. package/dist/constants/business.js +0 -1
  4. package/dist/constants/business.js.map +1 -1
  5. package/dist/constants/index.d.ts +1 -0
  6. package/dist/constants/index.d.ts.map +1 -1
  7. package/dist/constants/index.js +1 -0
  8. package/dist/constants/index.js.map +1 -1
  9. package/dist/constants/phone-fields.d.ts +11 -0
  10. package/dist/constants/phone-fields.d.ts.map +1 -0
  11. package/dist/constants/phone-fields.js +12 -0
  12. package/dist/constants/phone-fields.js.map +1 -0
  13. package/dist/constants/text-fields.d.ts +0 -12
  14. package/dist/constants/text-fields.d.ts.map +1 -1
  15. package/dist/constants/text-fields.js +1 -13
  16. package/dist/constants/text-fields.js.map +1 -1
  17. package/dist/doc-schemas/league-team.d.ts +1 -1
  18. package/dist/doc-schemas/league-team.d.ts.map +1 -1
  19. package/dist/doc-schemas/league-team.js +4 -2
  20. package/dist/doc-schemas/league-team.js.map +1 -1
  21. package/dist/doc-schemas/registry.d.ts +2 -2
  22. package/dist/doc-schemas/user-profile.d.ts +1 -1
  23. package/dist/doc-schemas/user-profile.d.ts.map +1 -1
  24. package/dist/doc-schemas/user-profile.js +4 -2
  25. package/dist/doc-schemas/user-profile.js.map +1 -1
  26. package/dist/media/index.d.ts +0 -1
  27. package/dist/media/index.d.ts.map +1 -1
  28. package/dist/media/index.js +0 -1
  29. package/dist/media/index.js.map +1 -1
  30. package/dist/paths/collections.d.ts +1 -0
  31. package/dist/paths/collections.d.ts.map +1 -1
  32. package/dist/paths/collections.js +8 -0
  33. package/dist/paths/collections.js.map +1 -1
  34. package/dist/schemas/account-settings.d.ts +1 -1
  35. package/dist/schemas/account-settings.d.ts.map +1 -1
  36. package/dist/schemas/account-settings.js +3 -1
  37. package/dist/schemas/account-settings.js.map +1 -1
  38. package/dist/schemas/atoms.d.ts.map +1 -1
  39. package/dist/schemas/atoms.js +4 -2
  40. package/dist/schemas/atoms.js.map +1 -1
  41. package/dist/schemas/index.d.ts +1 -0
  42. package/dist/schemas/index.d.ts.map +1 -1
  43. package/dist/schemas/index.js +1 -0
  44. package/dist/schemas/index.js.map +1 -1
  45. package/dist/schemas/phone-field.d.ts +7 -0
  46. package/dist/schemas/phone-field.d.ts.map +1 -0
  47. package/dist/schemas/phone-field.js +29 -0
  48. package/dist/schemas/phone-field.js.map +1 -0
  49. package/dist/utils/index.d.ts +1 -0
  50. package/dist/utils/index.d.ts.map +1 -1
  51. package/dist/utils/index.js +1 -0
  52. package/dist/utils/index.js.map +1 -1
  53. package/dist/utils/phone-field.d.ts +14 -0
  54. package/dist/utils/phone-field.d.ts.map +1 -0
  55. package/dist/utils/phone-field.js +15 -0
  56. package/dist/utils/phone-field.js.map +1 -0
  57. package/package.json +2 -2
  58. package/dist/media/picture-url.d.ts +0 -8
  59. package/dist/media/picture-url.d.ts.map +0 -1
  60. package/dist/media/picture-url.js +0 -13
  61. package/dist/media/picture-url.js.map +0 -1
@@ -27,7 +27,6 @@ export declare const MIN_REPAIR_REASON_LENGTH = 3;
27
27
  export declare const MAX_REPAIR_REASON_LENGTH = 500;
28
28
  export declare const MAX_ADMIN_LIST_CHANGES = 20;
29
29
  export declare const TEAM_CREATION_CUTOFF_DAYS = 14;
30
- export declare const MAX_CONTACT_PHONE_LENGTH = 30;
31
30
  export declare const MAX_MAINTENANCE_MESSAGE_LENGTH = 2000;
32
31
  export declare const MAX_ANNOUNCEMENT_MESSAGE_LENGTH = 300;
33
32
  export declare const MAX_APP_VERSION_LENGTH = 64;
@@ -1 +1 @@
1
- {"version":3,"file":"business.d.ts","sourceRoot":"","sources":["../../src/constants/business.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAGrC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAClD,eAAO,MAAM,gBAAgB;;;;;;EAGnB,CAAC;AACX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5E,eAAO,MAAM,yBAAyB,EAA8C,CAClF,qBAAqB,EACrB,GAAG,qBAAqB,EAAE,CAC3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,eAAO,MAAM,8BAA8B,OAAO,CAAC;AACnD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAClD,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AACpD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,eAAO,MAAM,gCAAgC,MAAM,CAAC;AACpD,eAAO,MAAM,+BAA+B,QAAQ,CAAC;AAErD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAC3D,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,eAAO,MAAM,qCAAqC,KAAK,CAAC;AACxD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,MAC3B,CAAC;AAE5D,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAI7B,CAAC;AACF,eAAO,MAAM,oCAAoC,KAA0B,CAAC;AAC5E,eAAO,MAAM,2BAA2B,KAA0B,CAAC;AACnE,eAAO,MAAM,eAAe,GAAI,SAAS,SAAS,MAAM,EAAE,KAAG,MACf,CAAC;AAC/C,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,EAAE,QAAQ,MAAM,KAAG,MACjC,CAAC;AACvC,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,KAAG,MACsC,CAAC;AAC/F,eAAO,MAAM,6BAA6B,qDAAqD,CAAC;AAChG,eAAO,MAAM,oCAAoC,4DACU,CAAC;AAC5D,eAAO,MAAM,kCAAkC,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MACd,CAAC;AAEjE,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,yBAAyB,QAIrC,CAAC;AACF,eAAO,MAAM,yBAAyB,QAIrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,0BAA0B,QAItC,CAAC;AAEF,eAAO,MAAM,kBAAkB,KAAuB,CAAC;AAEvD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,0BAA0B,QAItC,CAAC;AAEF,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,2BAA2B,QAIvC,CAAC;AAEF,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,6BAA6B,QAIzC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCiD,CAAC;AAC9E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"business.d.ts","sourceRoot":"","sources":["../../src/constants/business.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,6 @@ export const MIN_REPAIR_REASON_LENGTH = 3;
25
25
  export const MAX_REPAIR_REASON_LENGTH = 500;
26
26
  export const MAX_ADMIN_LIST_CHANGES = 20;
27
27
  export const TEAM_CREATION_CUTOFF_DAYS = 14;
28
- export const MAX_CONTACT_PHONE_LENGTH = 30;
29
28
  export const MAX_MAINTENANCE_MESSAGE_LENGTH = 2000;
30
29
  export const MAX_ANNOUNCEMENT_MESSAGE_LENGTH = 300;
31
30
  export const MAX_APP_VERSION_LENGTH = 64;
@@ -1 +1 @@
1
- {"version":3,"file":"business.js","sourceRoot":"","sources":["../../src/constants/business.ts"],"names":[],"mappings":"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","sourcesContent":["export const MIN_DISPLAY_NAME_LENGTH = 3;\nexport const MAX_DISPLAY_NAME_LENGTH = 50;\n// The shortest password an account takes: Firebase Auth's own floor.\nexport const PASSWORD_MIN_LENGTH = 6;\n\n// The RFC 5321 ceiling on an email address.\nexport const EMAIL_MAX_LENGTH = 320;\n\nexport const MAX_SEARCH_QUERY_LENGTH = 100;\nexport const MIN_TEAM_NAME_LENGTH = 3;\nexport const MAX_TEAM_NAME_LENGTH = 50;\n\nexport const MAX_TEAM_JOIN_REQUEST_MESSAGE_LENGTH = 500;\nexport const MAX_TEAM_INVITATION_MESSAGE_LENGTH = 500;\n\nexport const MIN_LEAGUE_TITLE_LENGTH = 3;\nexport const MAX_LEAGUE_TITLE_LENGTH = 100;\nexport const MIN_LEAGUE_DESCRIPTION_LENGTH = 10;\nexport const MAX_LEAGUE_DESCRIPTION_LENGTH = 5000;\nexport const HARDWARE_CATALOG = [\n { id: 'ipad', name: 'iPad' },\n { id: 'ipad-charger', name: 'iPad Charger' },\n] as const;\nexport type HardwareCatalogItemId = (typeof HARDWARE_CATALOG)[number]['id'];\nexport const HARDWARE_CATALOG_ITEM_IDS = HARDWARE_CATALOG.map((item) => item.id) as [\n HardwareCatalogItemId,\n ...HardwareCatalogItemId[],\n];\n\nexport const MIN_AWARD_NAME_LENGTH = 3;\nexport const MAX_AWARD_NAME_LENGTH = 60;\n\nexport const MAX_AWARD_GRANT_TARGETS = 20;\n\nexport const MIN_REPAIR_REASON_LENGTH = 3;\nexport const MAX_REPAIR_REASON_LENGTH = 500;\n\nexport const MAX_ADMIN_LIST_CHANGES = 20;\n\nexport const TEAM_CREATION_CUTOFF_DAYS = 14;\n\nexport const MAX_CONTACT_PHONE_LENGTH = 30;\n\nexport const MAX_MAINTENANCE_MESSAGE_LENGTH = 2000;\nexport const MAX_ANNOUNCEMENT_MESSAGE_LENGTH = 300;\nexport const MAX_APP_VERSION_LENGTH = 64;\n\nexport const MAX_LANDING_HERO_TITLE_LENGTH = 200;\nexport const MAX_LANDING_ABOUT_TEXT_LENGTH = 5000;\nexport const LANDING_OWNER_NAME = 'Q-Sports League';\nexport const HERO_ROTATION_INTERVAL_MS = 6000;\n\nexport const MAX_WAIVER_TEMPLATE_TITLE_LENGTH = 120;\nexport const MAX_WAIVER_TEMPLATE_TEXT_LENGTH = 20000;\n\nexport const MAX_GAME_LOCATION_NAME_LENGTH = 100;\nexport const MAX_GAME_LOCATION_STREET_ADDRESS_LENGTH = 200;\nexport const MAX_GAME_LOCATION_SUB_LOCATIONS = 50;\nexport const MAX_GAME_LOCATION_SUB_LOCATION_LENGTH = 60;\nexport const MAX_GAME_LOCATION_MEMO_LENGTH = 500;\n\nexport const MAX_SCHEDULE_WEEK_TITLE_LENGTH = 100;\n\nexport const LEAGUE_TIME_ZONE = 'America/New_York';\n\nexport const MAX_GAME_MEMO_LENGTH = 30;\n\nexport const countCapReachedMessage = (subject: string, limit: number, noun: string): string =>\n `${subject} already has the maximum of ${limit} ${noun}.`;\n\nexport const MAX_ACTIVE_TEAM_MEMBERS = 30;\nexport const TEAM_FULL_MESSAGE = countCapReachedMessage(\n 'This team',\n MAX_ACTIVE_TEAM_MEMBERS,\n 'players',\n);\nexport const MAX_ROSTER_SEED_MEMBERSHIPS_PER_TEAM = MAX_ACTIVE_TEAM_MEMBERS;\nexport const MAX_ROSTER_ENTRIES_PER_TEAM = MAX_ACTIVE_TEAM_MEMBERS;\nexport const gameRosterBound = (teamIds: readonly string[]): number =>\n MAX_ROSTER_ENTRIES_PER_TEAM * teamIds.length;\nexport const scheduledGameLabel = (weekTitle: string, dayKey: string): string =>\n `The ${weekTitle} game on ${dayKey}`;\nexport const gameSideFullMessage = (gameLabel: string): string =>\n countCapReachedMessage(gameLabel, MAX_ROSTER_ENTRIES_PER_TEAM, \"people on this team's side\");\nexport const GAME_COMPLETED_DELETE_MESSAGE = 'This game is completed, so it cannot be deleted.';\nexport const WEEK_HAS_COMPLETED_GAMES_DELETE_LEAD =\n 'This week has completed games, which cannot be deleted:';\nexport const weekHasCompletedGamesDeleteMessage = (games: readonly string[]): string =>\n `${WEEK_HAS_COMPLETED_GAMES_DELETE_LEAD} ${games.join('; ')}.`;\n\nexport const MAX_TEAMS_PER_GAME = 2;\nexport const MAX_TEAMS_PER_LEAGUE = 40;\nexport const MAX_GAMES_PER_LEAGUE = 250;\nexport const LEAGUE_TEAMS_FULL_MESSAGE = countCapReachedMessage(\n 'This league',\n MAX_TEAMS_PER_LEAGUE,\n 'teams',\n);\nexport const LEAGUE_GAMES_FULL_MESSAGE = countCapReachedMessage(\n 'This league',\n MAX_GAMES_PER_LEAGUE,\n 'games',\n);\n\nexport const MAX_SCHEDULE_WEEK_GAMES = 20;\nexport const SCHEDULE_WEEK_FULL_MESSAGE = countCapReachedMessage(\n 'This week',\n MAX_SCHEDULE_WEEK_GAMES,\n 'games',\n);\n\nexport const MAX_PLAYOFF_CUTOFF = MAX_TEAMS_PER_LEAGUE;\n\nexport const MAX_STAT_EVENTS_PER_GAME = 1000;\nexport const GAME_STAT_LOG_FULL_MESSAGE = countCapReachedMessage(\n 'This game',\n MAX_STAT_EVENTS_PER_GAME,\n 'recorded stats',\n);\n\nexport const MAX_GAME_LOCATIONS = 30;\nexport const GAME_LOCATIONS_FULL_MESSAGE = countCapReachedMessage(\n 'Q-Sports',\n MAX_GAME_LOCATIONS,\n 'locations',\n);\n\nexport const MAX_OFFERED_WAIVER_TEMPLATES = 30;\nexport const WAIVER_TEMPLATES_FULL_MESSAGE = countCapReachedMessage(\n 'Q-Sports',\n MAX_OFFERED_WAIVER_TEMPLATES,\n 'waiver templates offered to leagues',\n);\n\nexport const CAPACITY_LIMITS = [\n {\n key: 'teamPlayers',\n label: 'Players on a team, ghost players included',\n limit: MAX_ACTIVE_TEAM_MEMBERS,\n },\n {\n key: 'gameSidePeople',\n label: 'People on one side of one game',\n limit: MAX_ROSTER_ENTRIES_PER_TEAM,\n },\n { key: 'leagueTeams', label: 'Teams in a league', limit: MAX_TEAMS_PER_LEAGUE },\n {\n key: 'leagueGames',\n label: \"Games in a league, so also a team's games\",\n limit: MAX_GAMES_PER_LEAGUE,\n },\n { key: 'weekGames', label: 'Games in one week of the schedule', limit: MAX_SCHEDULE_WEEK_GAMES },\n { key: 'gameStats', label: 'Stats recorded in one game', limit: MAX_STAT_EVENTS_PER_GAME },\n {\n key: 'playoffCutoff',\n label: \"Teams reaching the playoffs, at most the league's team limit\",\n limit: MAX_PLAYOFF_CUTOFF,\n },\n {\n key: 'gameLocations',\n label: \"Game locations, each venue's courts or sheets counted as part of it\",\n limit: MAX_GAME_LOCATIONS,\n },\n {\n key: 'offeredWaiverTemplates',\n label: 'Waiver templates offered to leagues, retired ones not counted',\n limit: MAX_OFFERED_WAIVER_TEMPLATES,\n },\n] as const satisfies readonly { key: string; label: string; limit: number }[];\nexport type CapacityLimitKey = (typeof CAPACITY_LIMITS)[number]['key'];\n"]}
1
+ {"version":3,"file":"business.js","sourceRoot":"","sources":["../../src/constants/business.ts"],"names":[],"mappings":"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","sourcesContent":["export const MIN_DISPLAY_NAME_LENGTH = 3;\nexport const MAX_DISPLAY_NAME_LENGTH = 50;\n// The shortest password an account takes: Firebase Auth's own floor.\nexport const PASSWORD_MIN_LENGTH = 6;\n\n// The RFC 5321 ceiling on an email address.\nexport const EMAIL_MAX_LENGTH = 320;\n\nexport const MAX_SEARCH_QUERY_LENGTH = 100;\nexport const MIN_TEAM_NAME_LENGTH = 3;\nexport const MAX_TEAM_NAME_LENGTH = 50;\n\nexport const MAX_TEAM_JOIN_REQUEST_MESSAGE_LENGTH = 500;\nexport const MAX_TEAM_INVITATION_MESSAGE_LENGTH = 500;\n\nexport const MIN_LEAGUE_TITLE_LENGTH = 3;\nexport const MAX_LEAGUE_TITLE_LENGTH = 100;\nexport const MIN_LEAGUE_DESCRIPTION_LENGTH = 10;\nexport const MAX_LEAGUE_DESCRIPTION_LENGTH = 5000;\nexport const HARDWARE_CATALOG = [\n { id: 'ipad', name: 'iPad' },\n { id: 'ipad-charger', name: 'iPad Charger' },\n] as const;\nexport type HardwareCatalogItemId = (typeof HARDWARE_CATALOG)[number]['id'];\nexport const HARDWARE_CATALOG_ITEM_IDS = HARDWARE_CATALOG.map((item) => item.id) as [\n HardwareCatalogItemId,\n ...HardwareCatalogItemId[],\n];\n\nexport const MIN_AWARD_NAME_LENGTH = 3;\nexport const MAX_AWARD_NAME_LENGTH = 60;\n\nexport const MAX_AWARD_GRANT_TARGETS = 20;\n\nexport const MIN_REPAIR_REASON_LENGTH = 3;\nexport const MAX_REPAIR_REASON_LENGTH = 500;\n\nexport const MAX_ADMIN_LIST_CHANGES = 20;\n\nexport const TEAM_CREATION_CUTOFF_DAYS = 14;\n\nexport const MAX_MAINTENANCE_MESSAGE_LENGTH = 2000;\nexport const MAX_ANNOUNCEMENT_MESSAGE_LENGTH = 300;\nexport const MAX_APP_VERSION_LENGTH = 64;\n\nexport const MAX_LANDING_HERO_TITLE_LENGTH = 200;\nexport const MAX_LANDING_ABOUT_TEXT_LENGTH = 5000;\nexport const LANDING_OWNER_NAME = 'Q-Sports League';\nexport const HERO_ROTATION_INTERVAL_MS = 6000;\n\nexport const MAX_WAIVER_TEMPLATE_TITLE_LENGTH = 120;\nexport const MAX_WAIVER_TEMPLATE_TEXT_LENGTH = 20000;\n\nexport const MAX_GAME_LOCATION_NAME_LENGTH = 100;\nexport const MAX_GAME_LOCATION_STREET_ADDRESS_LENGTH = 200;\nexport const MAX_GAME_LOCATION_SUB_LOCATIONS = 50;\nexport const MAX_GAME_LOCATION_SUB_LOCATION_LENGTH = 60;\nexport const MAX_GAME_LOCATION_MEMO_LENGTH = 500;\n\nexport const MAX_SCHEDULE_WEEK_TITLE_LENGTH = 100;\n\nexport const LEAGUE_TIME_ZONE = 'America/New_York';\n\nexport const MAX_GAME_MEMO_LENGTH = 30;\n\nexport const countCapReachedMessage = (subject: string, limit: number, noun: string): string =>\n `${subject} already has the maximum of ${limit} ${noun}.`;\n\nexport const MAX_ACTIVE_TEAM_MEMBERS = 30;\nexport const TEAM_FULL_MESSAGE = countCapReachedMessage(\n 'This team',\n MAX_ACTIVE_TEAM_MEMBERS,\n 'players',\n);\nexport const MAX_ROSTER_SEED_MEMBERSHIPS_PER_TEAM = MAX_ACTIVE_TEAM_MEMBERS;\nexport const MAX_ROSTER_ENTRIES_PER_TEAM = MAX_ACTIVE_TEAM_MEMBERS;\nexport const gameRosterBound = (teamIds: readonly string[]): number =>\n MAX_ROSTER_ENTRIES_PER_TEAM * teamIds.length;\nexport const scheduledGameLabel = (weekTitle: string, dayKey: string): string =>\n `The ${weekTitle} game on ${dayKey}`;\nexport const gameSideFullMessage = (gameLabel: string): string =>\n countCapReachedMessage(gameLabel, MAX_ROSTER_ENTRIES_PER_TEAM, \"people on this team's side\");\nexport const GAME_COMPLETED_DELETE_MESSAGE = 'This game is completed, so it cannot be deleted.';\nexport const WEEK_HAS_COMPLETED_GAMES_DELETE_LEAD =\n 'This week has completed games, which cannot be deleted:';\nexport const weekHasCompletedGamesDeleteMessage = (games: readonly string[]): string =>\n `${WEEK_HAS_COMPLETED_GAMES_DELETE_LEAD} ${games.join('; ')}.`;\n\nexport const MAX_TEAMS_PER_GAME = 2;\nexport const MAX_TEAMS_PER_LEAGUE = 40;\nexport const MAX_GAMES_PER_LEAGUE = 250;\nexport const LEAGUE_TEAMS_FULL_MESSAGE = countCapReachedMessage(\n 'This league',\n MAX_TEAMS_PER_LEAGUE,\n 'teams',\n);\nexport const LEAGUE_GAMES_FULL_MESSAGE = countCapReachedMessage(\n 'This league',\n MAX_GAMES_PER_LEAGUE,\n 'games',\n);\n\nexport const MAX_SCHEDULE_WEEK_GAMES = 20;\nexport const SCHEDULE_WEEK_FULL_MESSAGE = countCapReachedMessage(\n 'This week',\n MAX_SCHEDULE_WEEK_GAMES,\n 'games',\n);\n\nexport const MAX_PLAYOFF_CUTOFF = MAX_TEAMS_PER_LEAGUE;\n\nexport const MAX_STAT_EVENTS_PER_GAME = 1000;\nexport const GAME_STAT_LOG_FULL_MESSAGE = countCapReachedMessage(\n 'This game',\n MAX_STAT_EVENTS_PER_GAME,\n 'recorded stats',\n);\n\nexport const MAX_GAME_LOCATIONS = 30;\nexport const GAME_LOCATIONS_FULL_MESSAGE = countCapReachedMessage(\n 'Q-Sports',\n MAX_GAME_LOCATIONS,\n 'locations',\n);\n\nexport const MAX_OFFERED_WAIVER_TEMPLATES = 30;\nexport const WAIVER_TEMPLATES_FULL_MESSAGE = countCapReachedMessage(\n 'Q-Sports',\n MAX_OFFERED_WAIVER_TEMPLATES,\n 'waiver templates offered to leagues',\n);\n\nexport const CAPACITY_LIMITS = [\n {\n key: 'teamPlayers',\n label: 'Players on a team, ghost players included',\n limit: MAX_ACTIVE_TEAM_MEMBERS,\n },\n {\n key: 'gameSidePeople',\n label: 'People on one side of one game',\n limit: MAX_ROSTER_ENTRIES_PER_TEAM,\n },\n { key: 'leagueTeams', label: 'Teams in a league', limit: MAX_TEAMS_PER_LEAGUE },\n {\n key: 'leagueGames',\n label: \"Games in a league, so also a team's games\",\n limit: MAX_GAMES_PER_LEAGUE,\n },\n { key: 'weekGames', label: 'Games in one week of the schedule', limit: MAX_SCHEDULE_WEEK_GAMES },\n { key: 'gameStats', label: 'Stats recorded in one game', limit: MAX_STAT_EVENTS_PER_GAME },\n {\n key: 'playoffCutoff',\n label: \"Teams reaching the playoffs, at most the league's team limit\",\n limit: MAX_PLAYOFF_CUTOFF,\n },\n {\n key: 'gameLocations',\n label: \"Game locations, each venue's courts or sheets counted as part of it\",\n limit: MAX_GAME_LOCATIONS,\n },\n {\n key: 'offeredWaiverTemplates',\n label: 'Waiver templates offered to leagues, retired ones not counted',\n limit: MAX_OFFERED_WAIVER_TEMPLATES,\n },\n] as const satisfies readonly { key: string; label: string; limit: number }[];\nexport type CapacityLimitKey = (typeof CAPACITY_LIMITS)[number]['key'];\n"]}
@@ -8,5 +8,6 @@ export * from './deployment.js';
8
8
  export * from './admin-views.js';
9
9
  export * from './pagination.js';
10
10
  export * from './text-fields.js';
11
+ export * from './phone-fields.js';
11
12
  export * from './analytics.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
@@ -8,5 +8,6 @@ export * from './deployment.js';
8
8
  export * from './admin-views.js';
9
9
  export * from './pagination.js';
10
10
  export * from './text-fields.js';
11
+ export * from './phone-fields.js';
11
12
  export * from './analytics.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './business.js';\nexport * from './sports.js';\nexport * from './storage-keys.js';\nexport * from './media.js';\nexport * from './telemetry.js';\nexport * from './scheduled-jobs.js';\nexport * from './deployment.js';\nexport * from './admin-views.js';\nexport * from './pagination.js';\nexport * from './text-fields.js';\nexport * from './analytics.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './business.js';\nexport * from './sports.js';\nexport * from './storage-keys.js';\nexport * from './media.js';\nexport * from './telemetry.js';\nexport * from './scheduled-jobs.js';\nexport * from './deployment.js';\nexport * from './admin-views.js';\nexport * from './pagination.js';\nexport * from './text-fields.js';\nexport * from './phone-fields.js';\nexport * from './analytics.js';\n"]}
@@ -0,0 +1,11 @@
1
+ export declare const CONTACT_PHONE_INPUT: import("@ttt-productions/input-format-core").DeclaredPhoneFormat<{
2
+ readonly label: "Contact phone";
3
+ readonly format: "us";
4
+ readonly required: true;
5
+ }>;
6
+ export declare const OPTIONAL_CONTACT_PHONE_INPUT: import("@ttt-productions/input-format-core").DeclaredPhoneFormat<{
7
+ readonly label: "Default contact phone";
8
+ readonly format: "us";
9
+ readonly required: false;
10
+ }>;
11
+ //# sourceMappingURL=phone-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-fields.d.ts","sourceRoot":"","sources":["../../src/constants/phone-fields.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;EAI9B,CAAC;AACH,eAAO,MAAM,4BAA4B;;;;EAIvC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { definePhoneFormat } from '@ttt-productions/input-format-core';
2
+ export const CONTACT_PHONE_INPUT = definePhoneFormat({
3
+ label: 'Contact phone',
4
+ format: 'us',
5
+ required: true,
6
+ });
7
+ export const OPTIONAL_CONTACT_PHONE_INPUT = definePhoneFormat({
8
+ label: 'Default contact phone',
9
+ format: 'us',
10
+ required: false,
11
+ });
12
+ //# sourceMappingURL=phone-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-fields.js","sourceRoot":"","sources":["../../src/constants/phone-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;IACnD,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;IAC5D,KAAK,EAAE,uBAAuB;IAC9B,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC","sourcesContent":["import { definePhoneFormat } from '@ttt-productions/input-format-core';\n\nexport const CONTACT_PHONE_INPUT = definePhoneFormat({\n label: 'Contact phone',\n format: 'us',\n required: true,\n});\nexport const OPTIONAL_CONTACT_PHONE_INPUT = definePhoneFormat({\n label: 'Default contact phone',\n format: 'us',\n required: false,\n});\n"]}
@@ -34,18 +34,6 @@ export declare const TEAM_NAME_INPUT: import("@ttt-productions/input-format-core
34
34
  readonly min: 3;
35
35
  readonly max: 50;
36
36
  }>;
37
- export declare const CONTACT_PHONE_INPUT: import("@ttt-productions/input-format-core").DeclaredInputFormat<{
38
- readonly label: "Contact phone";
39
- readonly format: "singleLine";
40
- readonly min: 1;
41
- readonly max: 30;
42
- }>;
43
- export declare const OPTIONAL_CONTACT_PHONE_INPUT: import("@ttt-productions/input-format-core").DeclaredInputFormat<{
44
- readonly label: "Default contact phone";
45
- readonly format: "singleLine";
46
- readonly min: 0;
47
- readonly max: 30;
48
- }>;
49
37
  export declare const AWARD_NAME_INPUT: import("@ttt-productions/input-format-core").DeclaredInputFormat<{
50
38
  readonly label: "Award name";
51
39
  readonly format: "singleLine";
@@ -1 +1 @@
1
- {"version":3,"file":"text-fields.d.ts","sourceRoot":"","sources":["../../src/constants/text-fields.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AACH,eAAO,MAAM,+BAA+B;;;;;EAK1C,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;EAKxC,CAAC;AACH,eAAO,MAAM,eAAe;;;;;EAK1B,CAAC;AACH,eAAO,MAAM,kBAAkB;;;;;EAK7B,CAAC;AACH,eAAO,MAAM,eAAe;;;;;EAK1B,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AACH,eAAO,MAAM,4BAA4B;;;;;EAKvC,CAAC;AACH,eAAO,MAAM,gBAAgB;;;;;EAK3B,CAAC;AACH,eAAO,MAAM,kBAAkB;;;;;EAK7B,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAC;AACH,eAAO,MAAM,kCAAkC;;;;;EAK7C,CAAC;AACH,eAAO,MAAM,gCAAgC;;;;;EAK3C,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAC;AACH,eAAO,MAAM,yBAAyB;;;;;EAKpC,CAAC;AACH,eAAO,MAAM,2BAA2B;;;;;;EAMtC,CAAC;AACH,eAAO,MAAM,0BAA0B;;;;;;EAMrC,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAC;AACH,eAAO,MAAM,yBAAyB;;;;;EAKpC,CAAC;AACH,eAAO,MAAM,0BAA0B;;;;;EAKrC,CAAC;AACH,eAAO,MAAM,iBAAiB;;;;;EAK5B,CAAC"}
1
+ {"version":3,"file":"text-fields.d.ts","sourceRoot":"","sources":["../../src/constants/text-fields.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AACH,eAAO,MAAM,+BAA+B;;;;;EAK1C,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;EAKxC,CAAC;AACH,eAAO,MAAM,eAAe;;;;;EAK1B,CAAC;AACH,eAAO,MAAM,kBAAkB;;;;;EAK7B,CAAC;AACH,eAAO,MAAM,eAAe;;;;;EAK1B,CAAC;AACH,eAAO,MAAM,gBAAgB;;;;;EAK3B,CAAC;AACH,eAAO,MAAM,kBAAkB;;;;;EAK7B,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAC;AACH,eAAO,MAAM,kCAAkC;;;;;EAK7C,CAAC;AACH,eAAO,MAAM,gCAAgC;;;;;EAK3C,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAC;AACH,eAAO,MAAM,yBAAyB;;;;;EAKpC,CAAC;AACH,eAAO,MAAM,2BAA2B;;;;;;EAMtC,CAAC;AACH,eAAO,MAAM,0BAA0B;;;;;;EAMrC,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAC;AACH,eAAO,MAAM,yBAAyB;;;;;EAKpC,CAAC;AACH,eAAO,MAAM,0BAA0B;;;;;EAKrC,CAAC;AACH,eAAO,MAAM,iBAAiB;;;;;EAK5B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { defineInputFormat } from '@ttt-productions/input-format-core';
2
- import { MAX_ANNOUNCEMENT_MESSAGE_LENGTH, MAX_APP_VERSION_LENGTH, MAX_AWARD_NAME_LENGTH, MAX_CONTACT_PHONE_LENGTH, MAX_DISPLAY_NAME_LENGTH, MAX_GAME_LOCATION_MEMO_LENGTH, MAX_GAME_LOCATION_NAME_LENGTH, MAX_GAME_LOCATION_STREET_ADDRESS_LENGTH, MAX_GAME_LOCATION_SUB_LOCATION_LENGTH, MAX_GAME_MEMO_LENGTH, MAX_LANDING_ABOUT_TEXT_LENGTH, MAX_LANDING_HERO_TITLE_LENGTH, MAX_LEAGUE_DESCRIPTION_LENGTH, MAX_LEAGUE_TITLE_LENGTH, MAX_MAINTENANCE_MESSAGE_LENGTH, MAX_REPAIR_REASON_LENGTH, MAX_SCHEDULE_WEEK_TITLE_LENGTH, MAX_TEAM_INVITATION_MESSAGE_LENGTH, MAX_TEAM_JOIN_REQUEST_MESSAGE_LENGTH, MAX_TEAM_NAME_LENGTH, MAX_WAIVER_TEMPLATE_TEXT_LENGTH, MAX_WAIVER_TEMPLATE_TITLE_LENGTH, MIN_AWARD_NAME_LENGTH, MIN_DISPLAY_NAME_LENGTH, MIN_LEAGUE_DESCRIPTION_LENGTH, MIN_LEAGUE_TITLE_LENGTH, MIN_REPAIR_REASON_LENGTH, MIN_TEAM_NAME_LENGTH, } from './business.js';
2
+ import { MAX_ANNOUNCEMENT_MESSAGE_LENGTH, MAX_APP_VERSION_LENGTH, MAX_AWARD_NAME_LENGTH, MAX_DISPLAY_NAME_LENGTH, MAX_GAME_LOCATION_MEMO_LENGTH, MAX_GAME_LOCATION_NAME_LENGTH, MAX_GAME_LOCATION_STREET_ADDRESS_LENGTH, MAX_GAME_LOCATION_SUB_LOCATION_LENGTH, MAX_GAME_MEMO_LENGTH, MAX_LANDING_ABOUT_TEXT_LENGTH, MAX_LANDING_HERO_TITLE_LENGTH, MAX_LEAGUE_DESCRIPTION_LENGTH, MAX_LEAGUE_TITLE_LENGTH, MAX_MAINTENANCE_MESSAGE_LENGTH, MAX_REPAIR_REASON_LENGTH, MAX_SCHEDULE_WEEK_TITLE_LENGTH, MAX_TEAM_INVITATION_MESSAGE_LENGTH, MAX_TEAM_JOIN_REQUEST_MESSAGE_LENGTH, MAX_TEAM_NAME_LENGTH, MAX_WAIVER_TEMPLATE_TEXT_LENGTH, MAX_WAIVER_TEMPLATE_TITLE_LENGTH, MIN_AWARD_NAME_LENGTH, MIN_DISPLAY_NAME_LENGTH, MIN_LEAGUE_DESCRIPTION_LENGTH, MIN_LEAGUE_TITLE_LENGTH, MIN_REPAIR_REASON_LENGTH, MIN_TEAM_NAME_LENGTH, } from './business.js';
3
3
  export const REPAIR_REASON_INPUT = defineInputFormat({
4
4
  label: 'Reason',
5
5
  format: 'none',
@@ -36,18 +36,6 @@ export const TEAM_NAME_INPUT = defineInputFormat({
36
36
  min: MIN_TEAM_NAME_LENGTH,
37
37
  max: MAX_TEAM_NAME_LENGTH,
38
38
  });
39
- export const CONTACT_PHONE_INPUT = defineInputFormat({
40
- label: 'Contact phone',
41
- format: 'singleLine',
42
- min: 1,
43
- max: MAX_CONTACT_PHONE_LENGTH,
44
- });
45
- export const OPTIONAL_CONTACT_PHONE_INPUT = defineInputFormat({
46
- label: 'Default contact phone',
47
- format: 'singleLine',
48
- min: 0,
49
- max: MAX_CONTACT_PHONE_LENGTH,
50
- });
51
39
  export const AWARD_NAME_INPUT = defineInputFormat({
52
40
  label: 'Award name',
53
41
  format: 'singleLine',
@@ -1 +1 @@
1
- {"version":3,"file":"text-fields.js","sourceRoot":"","sources":["../../src/constants/text-fields.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineInputFormat } from '@ttt-productions/input-format-core';\nimport {\n MAX_ANNOUNCEMENT_MESSAGE_LENGTH,\n MAX_APP_VERSION_LENGTH,\n MAX_AWARD_NAME_LENGTH,\n MAX_CONTACT_PHONE_LENGTH,\n MAX_DISPLAY_NAME_LENGTH,\n MAX_GAME_LOCATION_MEMO_LENGTH,\n MAX_GAME_LOCATION_NAME_LENGTH,\n MAX_GAME_LOCATION_STREET_ADDRESS_LENGTH,\n MAX_GAME_LOCATION_SUB_LOCATION_LENGTH,\n MAX_GAME_MEMO_LENGTH,\n MAX_LANDING_ABOUT_TEXT_LENGTH,\n MAX_LANDING_HERO_TITLE_LENGTH,\n MAX_LEAGUE_DESCRIPTION_LENGTH,\n MAX_LEAGUE_TITLE_LENGTH,\n MAX_MAINTENANCE_MESSAGE_LENGTH,\n MAX_REPAIR_REASON_LENGTH,\n MAX_SCHEDULE_WEEK_TITLE_LENGTH,\n MAX_TEAM_INVITATION_MESSAGE_LENGTH,\n MAX_TEAM_JOIN_REQUEST_MESSAGE_LENGTH,\n MAX_TEAM_NAME_LENGTH,\n MAX_WAIVER_TEMPLATE_TEXT_LENGTH,\n MAX_WAIVER_TEMPLATE_TITLE_LENGTH,\n MIN_AWARD_NAME_LENGTH,\n MIN_DISPLAY_NAME_LENGTH,\n MIN_LEAGUE_DESCRIPTION_LENGTH,\n MIN_LEAGUE_TITLE_LENGTH,\n MIN_REPAIR_REASON_LENGTH,\n MIN_TEAM_NAME_LENGTH,\n} from './business.js';\n\nexport const REPAIR_REASON_INPUT = defineInputFormat({\n label: 'Reason',\n format: 'none',\n min: MIN_REPAIR_REASON_LENGTH,\n max: MAX_REPAIR_REASON_LENGTH,\n});\nexport const TEAM_JOIN_REQUEST_MESSAGE_INPUT = defineInputFormat({\n label: 'Message to the captain',\n format: 'none',\n min: 0,\n max: MAX_TEAM_JOIN_REQUEST_MESSAGE_LENGTH,\n});\nexport const TEAM_INVITATION_MESSAGE_INPUT = defineInputFormat({\n label: 'Note',\n format: 'none',\n min: 0,\n max: MAX_TEAM_INVITATION_MESSAGE_LENGTH,\n});\nexport const GAME_MEMO_INPUT = defineInputFormat({\n label: 'Memo',\n format: 'singleLine',\n min: 0,\n max: MAX_GAME_MEMO_LENGTH,\n});\nexport const DISPLAY_NAME_INPUT = defineInputFormat({\n label: 'Name',\n format: 'singleLine',\n min: MIN_DISPLAY_NAME_LENGTH,\n max: MAX_DISPLAY_NAME_LENGTH,\n});\nexport const TEAM_NAME_INPUT = defineInputFormat({\n label: 'Team name',\n format: 'singleLine',\n min: MIN_TEAM_NAME_LENGTH,\n max: MAX_TEAM_NAME_LENGTH,\n});\nexport const CONTACT_PHONE_INPUT = defineInputFormat({\n label: 'Contact phone',\n format: 'singleLine',\n min: 1,\n max: MAX_CONTACT_PHONE_LENGTH,\n});\nexport const OPTIONAL_CONTACT_PHONE_INPUT = defineInputFormat({\n label: 'Default contact phone',\n format: 'singleLine',\n min: 0,\n max: MAX_CONTACT_PHONE_LENGTH,\n});\nexport const AWARD_NAME_INPUT = defineInputFormat({\n label: 'Award name',\n format: 'singleLine',\n min: MIN_AWARD_NAME_LENGTH,\n max: MAX_AWARD_NAME_LENGTH,\n});\nexport const LEAGUE_TITLE_INPUT = defineInputFormat({\n label: 'League name',\n format: 'singleLine',\n min: MIN_LEAGUE_TITLE_LENGTH,\n max: MAX_LEAGUE_TITLE_LENGTH,\n});\nexport const LEAGUE_DESCRIPTION_INPUT = defineInputFormat({\n label: 'Description',\n format: 'none',\n min: MIN_LEAGUE_DESCRIPTION_LENGTH,\n max: MAX_LEAGUE_DESCRIPTION_LENGTH,\n});\nexport const GAME_LOCATION_NAME_INPUT = defineInputFormat({\n label: 'Name',\n format: 'singleLine',\n min: 1,\n max: MAX_GAME_LOCATION_NAME_LENGTH,\n});\nexport const GAME_LOCATION_STREET_ADDRESS_INPUT = defineInputFormat({\n label: 'Street address',\n format: 'singleLine',\n min: 1,\n max: MAX_GAME_LOCATION_STREET_ADDRESS_LENGTH,\n});\nexport const GAME_LOCATION_SUB_LOCATION_INPUT = defineInputFormat({\n label: 'Sub-location',\n format: 'singleLine',\n min: 1,\n max: MAX_GAME_LOCATION_SUB_LOCATION_LENGTH,\n});\nexport const GAME_LOCATION_MEMO_INPUT = defineInputFormat({\n label: 'Memo',\n format: 'none',\n min: 0,\n max: MAX_GAME_LOCATION_MEMO_LENGTH,\n});\nexport const SCHEDULE_WEEK_TITLE_INPUT = defineInputFormat({\n label: 'Week name',\n format: 'singleLine',\n min: 1,\n max: MAX_SCHEDULE_WEEK_TITLE_LENGTH,\n});\nexport const WAIVER_TEMPLATE_TITLE_INPUT = defineInputFormat({\n label: 'Title',\n format: 'singleLine',\n min: 1,\n max: MAX_WAIVER_TEMPLATE_TITLE_LENGTH,\n keepAsTyped: true,\n});\nexport const WAIVER_TEMPLATE_TEXT_INPUT = defineInputFormat({\n label: 'Waiver text',\n format: 'none',\n min: 1,\n max: MAX_WAIVER_TEMPLATE_TEXT_LENGTH,\n keepAsTyped: true,\n});\nexport const LANDING_HERO_TITLE_INPUT = defineInputFormat({\n label: 'Hero title',\n format: 'singleLine',\n min: 0,\n max: MAX_LANDING_HERO_TITLE_LENGTH,\n});\nexport const LANDING_ABOUT_TEXT_INPUT = defineInputFormat({\n label: 'About text',\n format: 'none',\n min: 0,\n max: MAX_LANDING_ABOUT_TEXT_LENGTH,\n});\nexport const MAINTENANCE_MESSAGE_INPUT = defineInputFormat({\n label: 'Maintenance message',\n format: 'none',\n min: 0,\n max: MAX_MAINTENANCE_MESSAGE_LENGTH,\n});\nexport const ANNOUNCEMENT_MESSAGE_INPUT = defineInputFormat({\n label: 'Announcement',\n format: 'none',\n min: 0,\n max: MAX_ANNOUNCEMENT_MESSAGE_LENGTH,\n});\nexport const APP_VERSION_INPUT = defineInputFormat({\n label: 'App version',\n format: 'none',\n min: 1,\n max: MAX_APP_VERSION_LENGTH,\n});\n"]}
1
+ {"version":3,"file":"text-fields.js","sourceRoot":"","sources":["../../src/constants/text-fields.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineInputFormat } from '@ttt-productions/input-format-core';\nimport {\n MAX_ANNOUNCEMENT_MESSAGE_LENGTH,\n MAX_APP_VERSION_LENGTH,\n MAX_AWARD_NAME_LENGTH,\n MAX_DISPLAY_NAME_LENGTH,\n MAX_GAME_LOCATION_MEMO_LENGTH,\n MAX_GAME_LOCATION_NAME_LENGTH,\n MAX_GAME_LOCATION_STREET_ADDRESS_LENGTH,\n MAX_GAME_LOCATION_SUB_LOCATION_LENGTH,\n MAX_GAME_MEMO_LENGTH,\n MAX_LANDING_ABOUT_TEXT_LENGTH,\n MAX_LANDING_HERO_TITLE_LENGTH,\n MAX_LEAGUE_DESCRIPTION_LENGTH,\n MAX_LEAGUE_TITLE_LENGTH,\n MAX_MAINTENANCE_MESSAGE_LENGTH,\n MAX_REPAIR_REASON_LENGTH,\n MAX_SCHEDULE_WEEK_TITLE_LENGTH,\n MAX_TEAM_INVITATION_MESSAGE_LENGTH,\n MAX_TEAM_JOIN_REQUEST_MESSAGE_LENGTH,\n MAX_TEAM_NAME_LENGTH,\n MAX_WAIVER_TEMPLATE_TEXT_LENGTH,\n MAX_WAIVER_TEMPLATE_TITLE_LENGTH,\n MIN_AWARD_NAME_LENGTH,\n MIN_DISPLAY_NAME_LENGTH,\n MIN_LEAGUE_DESCRIPTION_LENGTH,\n MIN_LEAGUE_TITLE_LENGTH,\n MIN_REPAIR_REASON_LENGTH,\n MIN_TEAM_NAME_LENGTH,\n} from './business.js';\n\nexport const REPAIR_REASON_INPUT = defineInputFormat({\n label: 'Reason',\n format: 'none',\n min: MIN_REPAIR_REASON_LENGTH,\n max: MAX_REPAIR_REASON_LENGTH,\n});\nexport const TEAM_JOIN_REQUEST_MESSAGE_INPUT = defineInputFormat({\n label: 'Message to the captain',\n format: 'none',\n min: 0,\n max: MAX_TEAM_JOIN_REQUEST_MESSAGE_LENGTH,\n});\nexport const TEAM_INVITATION_MESSAGE_INPUT = defineInputFormat({\n label: 'Note',\n format: 'none',\n min: 0,\n max: MAX_TEAM_INVITATION_MESSAGE_LENGTH,\n});\nexport const GAME_MEMO_INPUT = defineInputFormat({\n label: 'Memo',\n format: 'singleLine',\n min: 0,\n max: MAX_GAME_MEMO_LENGTH,\n});\nexport const DISPLAY_NAME_INPUT = defineInputFormat({\n label: 'Name',\n format: 'singleLine',\n min: MIN_DISPLAY_NAME_LENGTH,\n max: MAX_DISPLAY_NAME_LENGTH,\n});\nexport const TEAM_NAME_INPUT = defineInputFormat({\n label: 'Team name',\n format: 'singleLine',\n min: MIN_TEAM_NAME_LENGTH,\n max: MAX_TEAM_NAME_LENGTH,\n});\nexport const AWARD_NAME_INPUT = defineInputFormat({\n label: 'Award name',\n format: 'singleLine',\n min: MIN_AWARD_NAME_LENGTH,\n max: MAX_AWARD_NAME_LENGTH,\n});\nexport const LEAGUE_TITLE_INPUT = defineInputFormat({\n label: 'League name',\n format: 'singleLine',\n min: MIN_LEAGUE_TITLE_LENGTH,\n max: MAX_LEAGUE_TITLE_LENGTH,\n});\nexport const LEAGUE_DESCRIPTION_INPUT = defineInputFormat({\n label: 'Description',\n format: 'none',\n min: MIN_LEAGUE_DESCRIPTION_LENGTH,\n max: MAX_LEAGUE_DESCRIPTION_LENGTH,\n});\nexport const GAME_LOCATION_NAME_INPUT = defineInputFormat({\n label: 'Name',\n format: 'singleLine',\n min: 1,\n max: MAX_GAME_LOCATION_NAME_LENGTH,\n});\nexport const GAME_LOCATION_STREET_ADDRESS_INPUT = defineInputFormat({\n label: 'Street address',\n format: 'singleLine',\n min: 1,\n max: MAX_GAME_LOCATION_STREET_ADDRESS_LENGTH,\n});\nexport const GAME_LOCATION_SUB_LOCATION_INPUT = defineInputFormat({\n label: 'Sub-location',\n format: 'singleLine',\n min: 1,\n max: MAX_GAME_LOCATION_SUB_LOCATION_LENGTH,\n});\nexport const GAME_LOCATION_MEMO_INPUT = defineInputFormat({\n label: 'Memo',\n format: 'none',\n min: 0,\n max: MAX_GAME_LOCATION_MEMO_LENGTH,\n});\nexport const SCHEDULE_WEEK_TITLE_INPUT = defineInputFormat({\n label: 'Week name',\n format: 'singleLine',\n min: 1,\n max: MAX_SCHEDULE_WEEK_TITLE_LENGTH,\n});\nexport const WAIVER_TEMPLATE_TITLE_INPUT = defineInputFormat({\n label: 'Title',\n format: 'singleLine',\n min: 1,\n max: MAX_WAIVER_TEMPLATE_TITLE_LENGTH,\n keepAsTyped: true,\n});\nexport const WAIVER_TEMPLATE_TEXT_INPUT = defineInputFormat({\n label: 'Waiver text',\n format: 'none',\n min: 1,\n max: MAX_WAIVER_TEMPLATE_TEXT_LENGTH,\n keepAsTyped: true,\n});\nexport const LANDING_HERO_TITLE_INPUT = defineInputFormat({\n label: 'Hero title',\n format: 'singleLine',\n min: 0,\n max: MAX_LANDING_HERO_TITLE_LENGTH,\n});\nexport const LANDING_ABOUT_TEXT_INPUT = defineInputFormat({\n label: 'About text',\n format: 'none',\n min: 0,\n max: MAX_LANDING_ABOUT_TEXT_LENGTH,\n});\nexport const MAINTENANCE_MESSAGE_INPUT = defineInputFormat({\n label: 'Maintenance message',\n format: 'none',\n min: 0,\n max: MAX_MAINTENANCE_MESSAGE_LENGTH,\n});\nexport const ANNOUNCEMENT_MESSAGE_INPUT = defineInputFormat({\n label: 'Announcement',\n format: 'none',\n min: 0,\n max: MAX_ANNOUNCEMENT_MESSAGE_LENGTH,\n});\nexport const APP_VERSION_INPUT = defineInputFormat({\n label: 'App version',\n format: 'none',\n min: 1,\n max: MAX_APP_VERSION_LENGTH,\n});\n"]}
@@ -891,7 +891,7 @@ export declare const LeagueTeamSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
891
891
  export type LeagueTeam = z.infer<typeof LeagueTeamSchema>;
892
892
  export declare const LeagueTeamContactSchema: z.ZodObject<{
893
893
  leagueId: z.ZodString;
894
- contactPhone: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
894
+ contactPhone: z.ZodString;
895
895
  updatedAt: z.ZodNumber;
896
896
  }, z.core.$strip>;
897
897
  export type LeagueTeamContact = z.infer<typeof LeagueTeamContactSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"league-team.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/league-team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiDxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA4D,CAAC;AACpG,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAsD,CAAC;AAC3F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAwD,CAAC;AAC9F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAI3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"league-team.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/league-team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmDxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA4D,CAAC;AACpG,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAsD,CAAC;AAC3F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAwD,CAAC;AAC9F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAI3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { z } from 'zod';
2
- import { CONTACT_PHONE_INPUT, TEAM_NAME_INPUT } from '../constants/text-fields.js';
2
+ import { TEAM_NAME_INPUT } from '../constants/text-fields.js';
3
+ import { CONTACT_PHONE_INPUT } from '../constants/phone-fields.js';
3
4
  import { countSchema, epochMsSchema, leagueIdSchema, teamIconSchema, teamTypeSchema, userIdSchema, } from './atoms.js';
4
5
  import { textFieldSchema } from '../schemas/text-field.js';
6
+ import { storedPhoneFieldSchema } from '../schemas/phone-field.js';
5
7
  import { SPORT_LINE_SCHEMAS } from './aggregate-stats.js';
6
8
  import { GallerySummarySchema } from './gallery.js';
7
9
  const leagueTeamBaseShape = {
@@ -43,7 +45,7 @@ export const LeagueTeamSchema = z.discriminatedUnion('leagueType', [
43
45
  ]);
44
46
  export const LeagueTeamContactSchema = z.object({
45
47
  leagueId: leagueIdSchema,
46
- contactPhone: textFieldSchema(CONTACT_PHONE_INPUT),
48
+ contactPhone: storedPhoneFieldSchema(CONTACT_PHONE_INPUT),
47
49
  updatedAt: epochMsSchema,
48
50
  });
49
51
  //# sourceMappingURL=league-team.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"league-team.js","sourceRoot":"","sources":["../../src/doc-schemas/league-team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC;IACtC,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACzC,2FAA2F;IAC3F,0BAA0B;IAC1B,kBAAkB,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC1C,+FAA+F;IAC/F,2CAA2C;IAC3C,YAAY,EAAE,WAAW,CAAC,QAAQ,EAAE;IACpC,2FAA2F;IAC3F,0BAA0B;IAC1B,gBAAgB,EAAE,WAAW,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;CAChB,CAAC;AAEX,oGAAoG;AACpG,uEAAuE;AACvE,SAAS,YAAY,CACnB,UAAa,EACb,KAA0C;IAE1C,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,mBAAmB;QACtB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;KAC3E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAGpG,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAG3F,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAG9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACjE,0BAA0B;IAC1B,uBAAuB;IACvB,wBAAwB;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,eAAe,CAAC,mBAAmB,CAAC;IAClD,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { CONTACT_PHONE_INPUT, TEAM_NAME_INPUT } from '../constants/text-fields.js';\nimport {\n countSchema,\n epochMsSchema,\n leagueIdSchema,\n teamIconSchema,\n teamTypeSchema,\n userIdSchema,\n} from './atoms.js';\nimport { textFieldSchema } from '../schemas/text-field.js';\nimport type { LeagueType } from '../types/sports.js';\nimport { SPORT_LINE_SCHEMAS } from './aggregate-stats.js';\nimport { GallerySummarySchema } from './gallery.js';\n\nconst leagueTeamBaseShape = {\n name: textFieldSchema(TEAM_NAME_INPUT),\n icon: teamIconSchema,\n leagueId: leagueIdSchema,\n teamType: teamTypeSchema.optional(),\n createdByUserId: userIdSchema,\n pictures: GallerySummarySchema.optional(),\n // Only its changing matters: the write fence between membership changes and roster seeding\n // (RULE-STD-BACKEND-116).\n membershipRevision: countSchema.optional(),\n // Only its changing matters: the write fence between competing invitations, join requests, and\n // membership doors (RULE-STD-BACKEND-116).\n joinRevision: countSchema.optional(),\n // Only its changing matters: the write fence between game creation and the team's deletion\n // (RULE-STD-BACKEND-116).\n scheduleRevision: countSchema.optional(),\n createdAt: epochMsSchema,\n updatedAt: epochMsSchema,\n} as const;\n\n// The sport's line schemas come in as their own type parameters: indexing the line map by a generic\n// sport would type every option's lines as the union of every sport's.\nfunction leagueTeamOf<L extends LeagueType, S extends z.ZodType, R extends z.ZodType>(\n leagueType: L,\n lines: { teamSeason: S; membershipRow: R },\n) {\n return z.object({\n ...leagueTeamBaseShape,\n leagueType: z.literal(leagueType),\n seasonStats: z.optional(lines.teamSeason),\n playerSeasonStats: z.optional(z.record(userIdSchema, lines.membershipRow)),\n });\n}\n\nexport const BasketballLeagueTeamSchema = leagueTeamOf('Basketball', SPORT_LINE_SCHEMAS.Basketball);\nexport type BasketballLeagueTeam = z.infer<typeof BasketballLeagueTeamSchema>;\n\nexport const CurlingLeagueTeamSchema = leagueTeamOf('Curling', SPORT_LINE_SCHEMAS.Curling);\nexport type CurlingLeagueTeam = z.infer<typeof CurlingLeagueTeamSchema>;\n\nexport const FootballLeagueTeamSchema = leagueTeamOf('Football', SPORT_LINE_SCHEMAS.Football);\nexport type FootballLeagueTeam = z.infer<typeof FootballLeagueTeamSchema>;\n\nexport const LeagueTeamSchema = z.discriminatedUnion('leagueType', [\n BasketballLeagueTeamSchema,\n CurlingLeagueTeamSchema,\n FootballLeagueTeamSchema,\n]);\nexport type LeagueTeam = z.infer<typeof LeagueTeamSchema>;\n\nexport const LeagueTeamContactSchema = z.object({\n leagueId: leagueIdSchema,\n contactPhone: textFieldSchema(CONTACT_PHONE_INPUT),\n updatedAt: epochMsSchema,\n});\nexport type LeagueTeamContact = z.infer<typeof LeagueTeamContactSchema>;\n"]}
1
+ {"version":3,"file":"league-team.js","sourceRoot":"","sources":["../../src/doc-schemas/league-team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC;IACtC,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACzC,2FAA2F;IAC3F,0BAA0B;IAC1B,kBAAkB,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC1C,+FAA+F;IAC/F,2CAA2C;IAC3C,YAAY,EAAE,WAAW,CAAC,QAAQ,EAAE;IACpC,2FAA2F;IAC3F,0BAA0B;IAC1B,gBAAgB,EAAE,WAAW,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;CAChB,CAAC;AAEX,oGAAoG;AACpG,uEAAuE;AACvE,SAAS,YAAY,CACnB,UAAa,EACb,KAA0C;IAE1C,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,mBAAmB;QACtB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;KAC3E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAGpG,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAG3F,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAG9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACjE,0BAA0B;IAC1B,uBAAuB;IACvB,wBAAwB;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,sBAAsB,CAAC,mBAAmB,CAAC;IACzD,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { TEAM_NAME_INPUT } from '../constants/text-fields.js';\nimport { CONTACT_PHONE_INPUT } from '../constants/phone-fields.js';\nimport {\n countSchema,\n epochMsSchema,\n leagueIdSchema,\n teamIconSchema,\n teamTypeSchema,\n userIdSchema,\n} from './atoms.js';\nimport { textFieldSchema } from '../schemas/text-field.js';\nimport { storedPhoneFieldSchema } from '../schemas/phone-field.js';\nimport type { LeagueType } from '../types/sports.js';\nimport { SPORT_LINE_SCHEMAS } from './aggregate-stats.js';\nimport { GallerySummarySchema } from './gallery.js';\n\nconst leagueTeamBaseShape = {\n name: textFieldSchema(TEAM_NAME_INPUT),\n icon: teamIconSchema,\n leagueId: leagueIdSchema,\n teamType: teamTypeSchema.optional(),\n createdByUserId: userIdSchema,\n pictures: GallerySummarySchema.optional(),\n // Only its changing matters: the write fence between membership changes and roster seeding\n // (RULE-STD-BACKEND-116).\n membershipRevision: countSchema.optional(),\n // Only its changing matters: the write fence between competing invitations, join requests, and\n // membership doors (RULE-STD-BACKEND-116).\n joinRevision: countSchema.optional(),\n // Only its changing matters: the write fence between game creation and the team's deletion\n // (RULE-STD-BACKEND-116).\n scheduleRevision: countSchema.optional(),\n createdAt: epochMsSchema,\n updatedAt: epochMsSchema,\n} as const;\n\n// The sport's line schemas come in as their own type parameters: indexing the line map by a generic\n// sport would type every option's lines as the union of every sport's.\nfunction leagueTeamOf<L extends LeagueType, S extends z.ZodType, R extends z.ZodType>(\n leagueType: L,\n lines: { teamSeason: S; membershipRow: R },\n) {\n return z.object({\n ...leagueTeamBaseShape,\n leagueType: z.literal(leagueType),\n seasonStats: z.optional(lines.teamSeason),\n playerSeasonStats: z.optional(z.record(userIdSchema, lines.membershipRow)),\n });\n}\n\nexport const BasketballLeagueTeamSchema = leagueTeamOf('Basketball', SPORT_LINE_SCHEMAS.Basketball);\nexport type BasketballLeagueTeam = z.infer<typeof BasketballLeagueTeamSchema>;\n\nexport const CurlingLeagueTeamSchema = leagueTeamOf('Curling', SPORT_LINE_SCHEMAS.Curling);\nexport type CurlingLeagueTeam = z.infer<typeof CurlingLeagueTeamSchema>;\n\nexport const FootballLeagueTeamSchema = leagueTeamOf('Football', SPORT_LINE_SCHEMAS.Football);\nexport type FootballLeagueTeam = z.infer<typeof FootballLeagueTeamSchema>;\n\nexport const LeagueTeamSchema = z.discriminatedUnion('leagueType', [\n BasketballLeagueTeamSchema,\n CurlingLeagueTeamSchema,\n FootballLeagueTeamSchema,\n]);\nexport type LeagueTeam = z.infer<typeof LeagueTeamSchema>;\n\nexport const LeagueTeamContactSchema = z.object({\n leagueId: leagueIdSchema,\n contactPhone: storedPhoneFieldSchema(CONTACT_PHONE_INPUT),\n updatedAt: epochMsSchema,\n});\nexport type LeagueTeamContact = z.infer<typeof LeagueTeamContactSchema>;\n"]}
@@ -35,7 +35,7 @@ export declare const COLLECTION_SCHEMAS: {
35
35
  email: z.ZodString;
36
36
  registrationStartedAt: z.ZodOptional<z.ZodNumber>;
37
37
  orphanDeletionClaimedAt: z.ZodOptional<z.ZodNumber>;
38
- defaultContactPhone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
38
+ defaultContactPhone: z.ZodOptional<z.ZodString>;
39
39
  theme: z.ZodOptional<z.ZodEnum<{
40
40
  light: "light";
41
41
  dark: "dark";
@@ -569,7 +569,7 @@ export declare const COLLECTION_SCHEMAS: {
569
569
  }, z.core.$strip>], "leagueType">;
570
570
  readonly 'leagueTeamContacts/{teamId}': z.ZodObject<{
571
571
  leagueId: z.ZodString;
572
- contactPhone: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
572
+ contactPhone: z.ZodString;
573
573
  updatedAt: z.ZodNumber;
574
574
  }, z.core.$strip>;
575
575
  readonly 'teamMemberships/{teamMembershipId}': z.ZodObject<{
@@ -45,7 +45,7 @@ export declare const UserPrivateDataSchema: z.ZodObject<{
45
45
  email: z.ZodString;
46
46
  registrationStartedAt: z.ZodOptional<z.ZodNumber>;
47
47
  orphanDeletionClaimedAt: z.ZodOptional<z.ZodNumber>;
48
- defaultContactPhone: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
48
+ defaultContactPhone: z.ZodOptional<z.ZodString>;
49
49
  theme: z.ZodOptional<z.ZodEnum<{
50
50
  light: "light";
51
51
  dark: "dark";
@@ -1 +1 @@
1
- {"version":3,"file":"user-profile.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/user-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,eAAe;;;;EAAsB,CAAC;AAEnD,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;iBAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,qBAAqB;;;;;iBAA6D,CAAC;AAChG,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AASpE,eAAO,MAAM,oBAAoB,EAE5B,SAAS,CAAC,MAAM,eAAe,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"user-profile.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/user-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,eAAe;;;;EAAsB,CAAC;AAEnD,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;iBAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,qBAAqB;;;;;iBAA6D,CAAC;AAChG,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AASpE,eAAO,MAAM,oBAAoB,EAE5B,SAAS,CAAC,MAAM,eAAe,CAAC,EAAE,CAAC"}
@@ -1,10 +1,12 @@
1
1
  import { z } from 'zod';
2
2
  import { THEME_NAMES } from '@ttt-productions/theme-core';
3
3
  import { EMAIL_MAX_LENGTH } from '../constants/business.js';
4
- import { CONTACT_PHONE_INPUT, DISPLAY_NAME_INPUT } from '../constants/text-fields.js';
4
+ import { DISPLAY_NAME_INPUT } from '../constants/text-fields.js';
5
+ import { CONTACT_PHONE_INPUT } from '../constants/phone-fields.js';
5
6
  import { BasketballPlayerTotalsSchema, UserLifetimeStatsSchema } from './aggregate-stats.js';
6
7
  import { epochMsSchema, userStatusSchema } from './atoms.js';
7
8
  import { textFieldSchema } from '../schemas/text-field.js';
9
+ import { storedPhoneFieldSchema } from '../schemas/phone-field.js';
8
10
  import { awardIdSchema } from './catalogs.js';
9
11
  export const themeNameSchema = z.enum(THEME_NAMES);
10
12
  export const GrantedAwardSchema = z.object({
@@ -26,7 +28,7 @@ export const UserPrivateDataSchema = z.object({
26
28
  email: z.string().max(EMAIL_MAX_LENGTH),
27
29
  registrationStartedAt: epochMsSchema.optional(),
28
30
  orphanDeletionClaimedAt: epochMsSchema.optional(),
29
- defaultContactPhone: textFieldSchema(CONTACT_PHONE_INPUT).optional(),
31
+ defaultContactPhone: storedPhoneFieldSchema(CONTACT_PHONE_INPUT).optional(),
30
32
  theme: themeNameSchema.optional(),
31
33
  reducedMotion: z.boolean().optional(),
32
34
  updatedAt: epochMsSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"user-profile.js","sourceRoot":"","sources":["../../src/doc-schemas/user-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,eAAe,CAAC,kBAAkB,CAAC;IAChD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE;IACjC,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IACjD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACrD,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE;IACxC,gBAAgB,EAAE,aAAa,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACvC,qBAAqB,EAAE,aAAa,CAAC,QAAQ,EAAE;IAC/C,uBAAuB,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjD,mBAAmB,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IACpE,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AAGhG,MAAM,qBAAqB,GAAwC;IACjE,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAC7C,qBAAqB,CACgB,CAAC","sourcesContent":["import { z } from 'zod';\nimport { THEME_NAMES } from '@ttt-productions/theme-core';\nimport { EMAIL_MAX_LENGTH } from '../constants/business.js';\nimport { CONTACT_PHONE_INPUT, DISPLAY_NAME_INPUT } from '../constants/text-fields.js';\nimport { BasketballPlayerTotalsSchema, UserLifetimeStatsSchema } from './aggregate-stats.js';\nimport { epochMsSchema, userStatusSchema } from './atoms.js';\nimport { textFieldSchema } from '../schemas/text-field.js';\nimport { awardIdSchema } from './catalogs.js';\n\nexport const themeNameSchema = z.enum(THEME_NAMES);\n\nexport const GrantedAwardSchema = z.object({\n awardId: awardIdSchema,\n grantedAt: epochMsSchema,\n});\nexport type GrantedAward = z.infer<typeof GrantedAwardSchema>;\n\nexport const UserProfileSchema = z.object({\n displayName: textFieldSchema(DISPLAY_NAME_INPUT),\n displayName_lowercase: z.string(),\n userStatus: userStatusSchema,\n lifetimeStats: UserLifetimeStatsSchema.optional(),\n grantedAwards: z.array(GrantedAwardSchema).optional(),\n primaryAwardId: awardIdSchema.optional(),\n secondaryAwardId: awardIdSchema.optional(),\n createdAt: epochMsSchema,\n updatedAt: epochMsSchema,\n});\nexport type UserProfile = z.infer<typeof UserProfileSchema>;\n\nexport const UserPrivateDataSchema = z.object({\n email: z.string().max(EMAIL_MAX_LENGTH),\n registrationStartedAt: epochMsSchema.optional(),\n orphanDeletionClaimedAt: epochMsSchema.optional(),\n defaultContactPhone: textFieldSchema(CONTACT_PHONE_INPUT).optional(),\n theme: themeNameSchema.optional(),\n reducedMotion: z.boolean().optional(),\n updatedAt: epochMsSchema,\n});\nexport type UserPrivateData = z.infer<typeof UserPrivateDataSchema>;\n\nexport const HistoricalStatsSchema = BasketballPlayerTotalsSchema.omit({ fantasyPoints: true });\nexport type HistoricalStats = z.infer<typeof HistoricalStatsSchema>;\n\nconst HISTORICAL_STAT_ENTRY: Record<keyof HistoricalStats, true> = {\n gamesPlayed: true,\n points: true,\n rebounds: true,\n assists: true,\n};\n\nexport const HISTORICAL_STAT_KEYS = Object.keys(\n HISTORICAL_STAT_ENTRY,\n) as readonly (keyof HistoricalStats)[];\n"]}
1
+ {"version":3,"file":"user-profile.js","sourceRoot":"","sources":["../../src/doc-schemas/user-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,eAAe,CAAC,kBAAkB,CAAC;IAChD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE;IACjC,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IACjD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACrD,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE;IACxC,gBAAgB,EAAE,aAAa,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACvC,qBAAqB,EAAE,aAAa,CAAC,QAAQ,EAAE;IAC/C,uBAAuB,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjD,mBAAmB,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAC3E,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AAGhG,MAAM,qBAAqB,GAAwC;IACjE,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAC7C,qBAAqB,CACgB,CAAC","sourcesContent":["import { z } from 'zod';\nimport { THEME_NAMES } from '@ttt-productions/theme-core';\nimport { EMAIL_MAX_LENGTH } from '../constants/business.js';\nimport { DISPLAY_NAME_INPUT } from '../constants/text-fields.js';\nimport { CONTACT_PHONE_INPUT } from '../constants/phone-fields.js';\nimport { BasketballPlayerTotalsSchema, UserLifetimeStatsSchema } from './aggregate-stats.js';\nimport { epochMsSchema, userStatusSchema } from './atoms.js';\nimport { textFieldSchema } from '../schemas/text-field.js';\nimport { storedPhoneFieldSchema } from '../schemas/phone-field.js';\nimport { awardIdSchema } from './catalogs.js';\n\nexport const themeNameSchema = z.enum(THEME_NAMES);\n\nexport const GrantedAwardSchema = z.object({\n awardId: awardIdSchema,\n grantedAt: epochMsSchema,\n});\nexport type GrantedAward = z.infer<typeof GrantedAwardSchema>;\n\nexport const UserProfileSchema = z.object({\n displayName: textFieldSchema(DISPLAY_NAME_INPUT),\n displayName_lowercase: z.string(),\n userStatus: userStatusSchema,\n lifetimeStats: UserLifetimeStatsSchema.optional(),\n grantedAwards: z.array(GrantedAwardSchema).optional(),\n primaryAwardId: awardIdSchema.optional(),\n secondaryAwardId: awardIdSchema.optional(),\n createdAt: epochMsSchema,\n updatedAt: epochMsSchema,\n});\nexport type UserProfile = z.infer<typeof UserProfileSchema>;\n\nexport const UserPrivateDataSchema = z.object({\n email: z.string().max(EMAIL_MAX_LENGTH),\n registrationStartedAt: epochMsSchema.optional(),\n orphanDeletionClaimedAt: epochMsSchema.optional(),\n defaultContactPhone: storedPhoneFieldSchema(CONTACT_PHONE_INPUT).optional(),\n theme: themeNameSchema.optional(),\n reducedMotion: z.boolean().optional(),\n updatedAt: epochMsSchema,\n});\nexport type UserPrivateData = z.infer<typeof UserPrivateDataSchema>;\n\nexport const HistoricalStatsSchema = BasketballPlayerTotalsSchema.omit({ fantasyPoints: true });\nexport type HistoricalStats = z.infer<typeof HistoricalStatsSchema>;\n\nconst HISTORICAL_STAT_ENTRY: Record<keyof HistoricalStats, true> = {\n gamesPlayed: true,\n points: true,\n rebounds: true,\n assists: true,\n};\n\nexport const HISTORICAL_STAT_KEYS = Object.keys(\n HISTORICAL_STAT_ENTRY,\n) as readonly (keyof HistoricalStats)[];\n"]}
@@ -1,5 +1,4 @@
1
1
  export * from './picture-aspects.js';
2
- export * from './picture-url.js';
3
2
  export * from './file-origins.js';
4
3
  export * from './upload-tray-display.js';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export * from './picture-aspects.js';
2
- export * from './picture-url.js';
3
2
  export * from './file-origins.js';
4
3
  export * from './upload-tray-display.js';
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC","sourcesContent":["export * from './picture-aspects.js';\nexport * from './picture-url.js';\nexport * from './file-origins.js';\nexport * from './upload-tray-display.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC","sourcesContent":["export * from './picture-aspects.js';\nexport * from './file-origins.js';\nexport * from './upload-tray-display.js';\n"]}
@@ -70,6 +70,7 @@ export declare const DECLARED_NOUNS: {
70
70
  readonly statsBeacon: readonly ["_appConfig"];
71
71
  readonly adminList: readonly ["_systemData"];
72
72
  readonly migrationConsole: readonly ["_serverData"];
73
+ readonly picture: readonly ["galleryPictures", "sportLeagues", "leagueTeams", "gameLocations", "awardDefinitions", "_appConfig"];
73
74
  };
74
75
  export type DeclaredNoun = keyof typeof DECLARED_NOUNS;
75
76
  //# sourceMappingURL=collections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Cd,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;CAG9B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,8BAA8B;;CAEjC,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;CAYf,CAAC;AAIX,eAAO,MAAM,cAAc;;;;;;;;;;;;CAyB2B,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC"}
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Cd,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;CAG9B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,8BAA8B;;CAEjC,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;CAYf,CAAC;AAIX,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAiC2B,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC"}
@@ -84,5 +84,13 @@ export const DECLARED_NOUNS = {
84
84
  statsBeacon: [COLLECTIONS.APP_CONFIG],
85
85
  adminList: [COLLECTIONS.SYSTEM_DATA],
86
86
  migrationConsole: [COLLECTIONS.SERVER_DATA],
87
+ picture: [
88
+ COLLECTIONS.GALLERY_PICTURES,
89
+ COLLECTIONS.SPORT_LEAGUES,
90
+ COLLECTIONS.LEAGUE_TEAMS,
91
+ COLLECTIONS.GAME_LOCATIONS,
92
+ COLLECTIONS.AWARD_DEFINITIONS,
93
+ COLLECTIONS.APP_CONFIG,
94
+ ],
87
95
  };
88
96
  //# sourceMappingURL=collections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"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","sourcesContent":["export const COLLECTIONS = {\n USER_PROFILES: 'userProfiles',\n PUBLIC_USERS: 'publicUsers',\n RESERVED_DISPLAY_NAMES: 'reservedDisplayNames',\n STATUS_RECONCILE_QUEUE: 'statusReconcileQueue',\n REGISTRATION_STARTS: 'registrationStarts',\n SWEEP_STATE: 'sweepState',\n\n SPORT_LEAGUES: 'sportLeagues',\n LEAGUE_TEAMS: 'leagueTeams',\n LEAGUE_TEAM_CONTACTS: 'leagueTeamContacts',\n TEAM_MEMBERSHIPS: 'teamMemberships',\n TEAM_INVITATIONS: 'teamInvitations',\n TEAM_JOIN_REQUESTS: 'teamJoinRequests',\n LEAGUE_FREE_AGENTS: 'leagueFreeAgents',\n\n SPORT_GAMES: 'sportGames',\n GAME_LOCATIONS: 'gameLocations',\n\n WAIVER_TEMPLATES: 'waiverTemplates',\n SIGNED_WAIVERS: 'signedWaivers',\n HARDWARE_LOAN_CONTRACTS: 'hardwareLoanContracts',\n\n SHORT_LINKS: 'shortLinks',\n\n AWARD_DEFINITIONS: 'awardDefinitions',\n SPORT_HALL_OF_FAME: 'sportHallOfFame',\n STATS_VALIDATION_REPORTS: 'statsValidationReports',\n STATS_JOBS: 'statsJobs',\n\n MIGRATION_ACTION_RUNS: 'migrationActionRuns',\n\n GALLERY_PICTURES: 'galleryPictures',\n PENDING_MEDIA: 'pendingMedia',\n PICTURE_RETIREMENTS: 'pictureRetirements',\n\n AUDIT_EVENTS: 'auditEvents',\n\n ACTIVE_ADMIN_NOTIFICATIONS: 'activeAdminNotifications',\n ADMIN_NOTIFICATION_HISTORY: 'adminNotificationHistory',\n NOTIFICATION_DELIVERIES: 'notificationDeliveries',\n NOTIFICATION_ARCHIVE_ALL_JOBS: 'notificationArchiveAllJobs',\n\n APP_CONFIG: '_appConfig',\n SYSTEM_DATA: '_systemData',\n SERVER_DATA: '_serverData',\n} as const;\n\nexport type CollectionName = (typeof COLLECTIONS)[keyof typeof COLLECTIONS];\n\nexport const USER_PROFILE_SUBCOLLECTIONS = {\n HISTORICAL_STATS: 'historicalStats',\n PRIVATE_DATA: 'privateData',\n} as const;\n\nexport const SPORT_GAME_SUBCOLLECTIONS = {\n GAME_ROSTER_PLAYERS: 'gameRosterPlayers',\n GAME_STAT_EVENTS: 'gameStatEvents',\n GAME_STAT_HISTORY: 'gameStatHistory',\n} as const;\n\nexport const WAIVER_TEMPLATE_SUBCOLLECTIONS = {\n WAIVER_TEMPLATE_VERSIONS: 'waiverTemplateVersions',\n} as const;\n\nexport const SPECIAL_DOCS = {\n APP_CONFIG: 'app',\n LANDING_PAGE: 'landingPage',\n STATS_BEACON: 'statsBeacon',\n\n ADMIN_LIST: 'adminList',\n\n MIGRATION_CONSOLE: 'migrationConsole',\n GAME_LOCATION_REGISTRY: 'gameLocationRegistry',\n WAIVER_TEMPLATE_REGISTRY: 'waiverTemplateRegistry',\n\n GAME_STAT_HISTORY_RECORD: 'record',\n} as const;\n\n// The nouns a name may use for a thing with no collection of its own (RULE-STD-ARCH-104), each\n// with the collections it lives in or reads. Every other name's thing is a collection, singular.\nexport const DECLARED_NOUNS = {\n ghostPlayer: [\n COLLECTIONS.PUBLIC_USERS,\n COLLECTIONS.TEAM_MEMBERSHIPS,\n SPORT_GAME_SUBCOLLECTIONS.GAME_ROSTER_PLAYERS,\n ],\n scheduleWeek: [COLLECTIONS.SPORT_LEAGUES],\n displayName: [COLLECTIONS.RESERVED_DISPLAY_NAMES, COLLECTIONS.USER_PROFILES],\n deadLetter: [COLLECTIONS.NOTIFICATION_DELIVERIES],\n adminNotification: [\n COLLECTIONS.ACTIVE_ADMIN_NOTIFICATIONS,\n COLLECTIONS.ADMIN_NOTIFICATION_HISTORY,\n ],\n siteCounts: [\n COLLECTIONS.USER_PROFILES,\n COLLECTIONS.LEAGUE_TEAMS,\n COLLECTIONS.SPORT_LEAGUES,\n COLLECTIONS.SPORT_GAMES,\n COLLECTIONS.LEAGUE_FREE_AGENTS,\n ],\n appConfig: [COLLECTIONS.APP_CONFIG],\n landingPage: [COLLECTIONS.APP_CONFIG],\n statsBeacon: [COLLECTIONS.APP_CONFIG],\n adminList: [COLLECTIONS.SYSTEM_DATA],\n migrationConsole: [COLLECTIONS.SERVER_DATA],\n} as const satisfies Record<string, readonly string[]>;\n\nexport type DeclaredNoun = keyof typeof DECLARED_NOUNS;\n"]}
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"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","sourcesContent":["export const COLLECTIONS = {\n USER_PROFILES: 'userProfiles',\n PUBLIC_USERS: 'publicUsers',\n RESERVED_DISPLAY_NAMES: 'reservedDisplayNames',\n STATUS_RECONCILE_QUEUE: 'statusReconcileQueue',\n REGISTRATION_STARTS: 'registrationStarts',\n SWEEP_STATE: 'sweepState',\n\n SPORT_LEAGUES: 'sportLeagues',\n LEAGUE_TEAMS: 'leagueTeams',\n LEAGUE_TEAM_CONTACTS: 'leagueTeamContacts',\n TEAM_MEMBERSHIPS: 'teamMemberships',\n TEAM_INVITATIONS: 'teamInvitations',\n TEAM_JOIN_REQUESTS: 'teamJoinRequests',\n LEAGUE_FREE_AGENTS: 'leagueFreeAgents',\n\n SPORT_GAMES: 'sportGames',\n GAME_LOCATIONS: 'gameLocations',\n\n WAIVER_TEMPLATES: 'waiverTemplates',\n SIGNED_WAIVERS: 'signedWaivers',\n HARDWARE_LOAN_CONTRACTS: 'hardwareLoanContracts',\n\n SHORT_LINKS: 'shortLinks',\n\n AWARD_DEFINITIONS: 'awardDefinitions',\n SPORT_HALL_OF_FAME: 'sportHallOfFame',\n STATS_VALIDATION_REPORTS: 'statsValidationReports',\n STATS_JOBS: 'statsJobs',\n\n MIGRATION_ACTION_RUNS: 'migrationActionRuns',\n\n GALLERY_PICTURES: 'galleryPictures',\n PENDING_MEDIA: 'pendingMedia',\n PICTURE_RETIREMENTS: 'pictureRetirements',\n\n AUDIT_EVENTS: 'auditEvents',\n\n ACTIVE_ADMIN_NOTIFICATIONS: 'activeAdminNotifications',\n ADMIN_NOTIFICATION_HISTORY: 'adminNotificationHistory',\n NOTIFICATION_DELIVERIES: 'notificationDeliveries',\n NOTIFICATION_ARCHIVE_ALL_JOBS: 'notificationArchiveAllJobs',\n\n APP_CONFIG: '_appConfig',\n SYSTEM_DATA: '_systemData',\n SERVER_DATA: '_serverData',\n} as const;\n\nexport type CollectionName = (typeof COLLECTIONS)[keyof typeof COLLECTIONS];\n\nexport const USER_PROFILE_SUBCOLLECTIONS = {\n HISTORICAL_STATS: 'historicalStats',\n PRIVATE_DATA: 'privateData',\n} as const;\n\nexport const SPORT_GAME_SUBCOLLECTIONS = {\n GAME_ROSTER_PLAYERS: 'gameRosterPlayers',\n GAME_STAT_EVENTS: 'gameStatEvents',\n GAME_STAT_HISTORY: 'gameStatHistory',\n} as const;\n\nexport const WAIVER_TEMPLATE_SUBCOLLECTIONS = {\n WAIVER_TEMPLATE_VERSIONS: 'waiverTemplateVersions',\n} as const;\n\nexport const SPECIAL_DOCS = {\n APP_CONFIG: 'app',\n LANDING_PAGE: 'landingPage',\n STATS_BEACON: 'statsBeacon',\n\n ADMIN_LIST: 'adminList',\n\n MIGRATION_CONSOLE: 'migrationConsole',\n GAME_LOCATION_REGISTRY: 'gameLocationRegistry',\n WAIVER_TEMPLATE_REGISTRY: 'waiverTemplateRegistry',\n\n GAME_STAT_HISTORY_RECORD: 'record',\n} as const;\n\n// The nouns a name may use for a thing with no collection of its own (RULE-STD-ARCH-104), each\n// with the collections it lives in or reads. Every other name's thing is a collection, singular.\nexport const DECLARED_NOUNS = {\n ghostPlayer: [\n COLLECTIONS.PUBLIC_USERS,\n COLLECTIONS.TEAM_MEMBERSHIPS,\n SPORT_GAME_SUBCOLLECTIONS.GAME_ROSTER_PLAYERS,\n ],\n scheduleWeek: [COLLECTIONS.SPORT_LEAGUES],\n displayName: [COLLECTIONS.RESERVED_DISPLAY_NAMES, COLLECTIONS.USER_PROFILES],\n deadLetter: [COLLECTIONS.NOTIFICATION_DELIVERIES],\n adminNotification: [\n COLLECTIONS.ACTIVE_ADMIN_NOTIFICATIONS,\n COLLECTIONS.ADMIN_NOTIFICATION_HISTORY,\n ],\n siteCounts: [\n COLLECTIONS.USER_PROFILES,\n COLLECTIONS.LEAGUE_TEAMS,\n COLLECTIONS.SPORT_LEAGUES,\n COLLECTIONS.SPORT_GAMES,\n COLLECTIONS.LEAGUE_FREE_AGENTS,\n ],\n appConfig: [COLLECTIONS.APP_CONFIG],\n landingPage: [COLLECTIONS.APP_CONFIG],\n statsBeacon: [COLLECTIONS.APP_CONFIG],\n adminList: [COLLECTIONS.SYSTEM_DATA],\n migrationConsole: [COLLECTIONS.SERVER_DATA],\n picture: [\n COLLECTIONS.GALLERY_PICTURES,\n COLLECTIONS.SPORT_LEAGUES,\n COLLECTIONS.LEAGUE_TEAMS,\n COLLECTIONS.GAME_LOCATIONS,\n COLLECTIONS.AWARD_DEFINITIONS,\n COLLECTIONS.APP_CONFIG,\n ],\n} as const satisfies Record<string, readonly string[]>;\n\nexport type DeclaredNoun = keyof typeof DECLARED_NOUNS;\n"]}
@@ -16,7 +16,7 @@ export declare const UpdateUserProfileSettingsResultSchema: z.ZodObject<{
16
16
  "high-contrast": "high-contrast";
17
17
  }>>;
18
18
  reducedMotion: z.ZodNullable<z.ZodBoolean>;
19
- defaultContactPhone: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
19
+ defaultContactPhone: z.ZodNullable<z.ZodString>;
20
20
  updatedAt: z.ZodNumber;
21
21
  }, z.core.$strict>;
22
22
  export type UpdateUserProfileSettingsResult = z.infer<typeof UpdateUserProfileSettingsResultSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"account-settings.d.ts","sourceRoot":"","sources":["../../src/schemas/account-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,oCAAoC;;;;;;;;kBAS7C,CAAC;AACL,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAElG,eAAO,MAAM,qCAAqC;;;;;;;;;kBAOvC,CAAC;AACZ,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC"}
1
+ {"version":3,"file":"account-settings.d.ts","sourceRoot":"","sources":["../../src/schemas/account-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,oCAAoC;;;;;;;;kBAS7C,CAAC;AACL,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAElG,eAAO,MAAM,qCAAqC;;;;;;;;;kBAOvC,CAAC;AACZ,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { epochMsSchema } from '../doc-schemas/atoms.js';
3
3
  import { themeNameSchema } from '../doc-schemas/user-profile.js';
4
+ import { CONTACT_PHONE_INPUT } from '../constants/phone-fields.js';
4
5
  import { contactPhoneSchema } from './atoms.js';
6
+ import { storedPhoneFieldSchema } from './phone-field.js';
5
7
  export const UpdateUserProfileSettingsInputSchema = z
6
8
  .object({
7
9
  theme: themeNameSchema.optional(),
@@ -16,7 +18,7 @@ export const UpdateUserProfileSettingsResultSchema = z
16
18
  .object({
17
19
  theme: themeNameSchema.nullable(),
18
20
  reducedMotion: z.boolean().nullable(),
19
- defaultContactPhone: contactPhoneSchema.nullable(),
21
+ defaultContactPhone: storedPhoneFieldSchema(CONTACT_PHONE_INPUT).nullable(),
20
22
  updatedAt: epochMsSchema,
21
23
  })
22
24
  .strict();
@@ -1 +1 @@
1
- {"version":3,"file":"account-settings.js","sourceRoot":"","sources":["../../src/schemas/account-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC;KAClD,MAAM,CAAC;IACN,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,mBAAmB,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC9D,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE;IAC5E,OAAO,EAAE,8BAA8B;CACxC,CAAC,CAAC;AAGL,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC;KACnD,MAAM,CAAC;IACN,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,mBAAmB,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAClD,SAAS,EAAE,aAAa;CACzB,CAAC;KACD,MAAM,EAAE,CAAC","sourcesContent":["import { z } from 'zod';\nimport { epochMsSchema } from '../doc-schemas/atoms.js';\nimport { themeNameSchema } from '../doc-schemas/user-profile.js';\nimport { contactPhoneSchema } from './atoms.js';\n\nexport const UpdateUserProfileSettingsInputSchema = z\n .object({\n theme: themeNameSchema.optional(),\n reducedMotion: z.boolean().optional(),\n defaultContactPhone: contactPhoneSchema.nullable().optional(),\n })\n .strict()\n .refine((input) => Object.values(input).some((value) => value !== undefined), {\n message: 'Change at least one setting.',\n });\nexport type UpdateUserProfileSettingsInput = z.infer<typeof UpdateUserProfileSettingsInputSchema>;\n\nexport const UpdateUserProfileSettingsResultSchema = z\n .object({\n theme: themeNameSchema.nullable(),\n reducedMotion: z.boolean().nullable(),\n defaultContactPhone: contactPhoneSchema.nullable(),\n updatedAt: epochMsSchema,\n })\n .strict();\nexport type UpdateUserProfileSettingsResult = z.infer<typeof UpdateUserProfileSettingsResultSchema>;\n"]}
1
+ {"version":3,"file":"account-settings.js","sourceRoot":"","sources":["../../src/schemas/account-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC;KAClD,MAAM,CAAC;IACN,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,mBAAmB,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC9D,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE;IAC5E,OAAO,EAAE,8BAA8B;CACxC,CAAC,CAAC;AAGL,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC;KACnD,MAAM,CAAC;IACN,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,mBAAmB,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAC3E,SAAS,EAAE,aAAa;CACzB,CAAC;KACD,MAAM,EAAE,CAAC","sourcesContent":["import { z } from 'zod';\nimport { epochMsSchema } from '../doc-schemas/atoms.js';\nimport { themeNameSchema } from '../doc-schemas/user-profile.js';\nimport { CONTACT_PHONE_INPUT } from '../constants/phone-fields.js';\nimport { contactPhoneSchema } from './atoms.js';\nimport { storedPhoneFieldSchema } from './phone-field.js';\n\nexport const UpdateUserProfileSettingsInputSchema = z\n .object({\n theme: themeNameSchema.optional(),\n reducedMotion: z.boolean().optional(),\n defaultContactPhone: contactPhoneSchema.nullable().optional(),\n })\n .strict()\n .refine((input) => Object.values(input).some((value) => value !== undefined), {\n message: 'Change at least one setting.',\n });\nexport type UpdateUserProfileSettingsInput = z.infer<typeof UpdateUserProfileSettingsInputSchema>;\n\nexport const UpdateUserProfileSettingsResultSchema = z\n .object({\n theme: themeNameSchema.nullable(),\n reducedMotion: z.boolean().nullable(),\n defaultContactPhone: storedPhoneFieldSchema(CONTACT_PHONE_INPUT).nullable(),\n updatedAt: epochMsSchema,\n })\n .strict();\nexport type UpdateUserProfileSettingsResult = z.infer<typeof UpdateUserProfileSettingsResultSchema>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"atoms.d.ts","sourceRoot":"","sources":["../../src/schemas/atoms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,iBAAiB;;;EAA8B,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB,aAA0B,CAAC;AAC9D,eAAO,MAAM,uBAAuB,aAA0B,CAAC;AAE/D,eAAO,MAAM,iBAAiB,wDAAsC,CAAC;AACrE,eAAO,MAAM,cAAc,wDAAmC,CAAC;AAC/D,eAAO,MAAM,4BAA4B,wDAAmD,CAAC;AAC7F,eAAO,MAAM,2BAA2B,wDAAiD,CAAC;AAC1F,eAAO,MAAM,kBAAkB,wDAAuC,CAAC"}
1
+ {"version":3,"file":"atoms.d.ts","sourceRoot":"","sources":["../../src/schemas/atoms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,iBAAiB;;;EAA8B,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB,aAA0B,CAAC;AAC9D,eAAO,MAAM,uBAAuB,aAA0B,CAAC;AAE/D,eAAO,MAAM,iBAAiB,wDAAsC,CAAC;AACrE,eAAO,MAAM,cAAc,wDAAmC,CAAC;AAC/D,eAAO,MAAM,4BAA4B,wDAAmD,CAAC;AAC7F,eAAO,MAAM,2BAA2B,wDAAiD,CAAC;AAC1F,eAAO,MAAM,kBAAkB,wDAAwC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { z } from 'zod';
2
- import { CONTACT_PHONE_INPUT, DISPLAY_NAME_INPUT, TEAM_INVITATION_MESSAGE_INPUT, TEAM_JOIN_REQUEST_MESSAGE_INPUT, TEAM_NAME_INPUT, } from '../constants/text-fields.js';
2
+ import { CONTACT_PHONE_INPUT } from '../constants/phone-fields.js';
3
+ import { DISPLAY_NAME_INPUT, TEAM_INVITATION_MESSAGE_INPUT, TEAM_JOIN_REQUEST_MESSAGE_INPUT, TEAM_NAME_INPUT, } from '../constants/text-fields.js';
3
4
  import { documentIdSegmentSchema } from '../doc-schemas/atoms.js';
4
5
  import { textFieldSchema } from './text-field.js';
6
+ import { phoneFieldSchema } from './phone-field.js';
5
7
  export const actingEntrySchema = z.enum(['member', 'admin']);
6
8
  export const teamInvitationIdSchema = documentIdSegmentSchema;
7
9
  export const teamJoinRequestIdSchema = documentIdSegmentSchema;
@@ -9,5 +11,5 @@ export const displayNameSchema = textFieldSchema(DISPLAY_NAME_INPUT);
9
11
  export const teamNameSchema = textFieldSchema(TEAM_NAME_INPUT);
10
12
  export const teamJoinRequestMessageSchema = textFieldSchema(TEAM_JOIN_REQUEST_MESSAGE_INPUT);
11
13
  export const teamInvitationMessageSchema = textFieldSchema(TEAM_INVITATION_MESSAGE_INPUT);
12
- export const contactPhoneSchema = textFieldSchema(CONTACT_PHONE_INPUT);
14
+ export const contactPhoneSchema = phoneFieldSchema(CONTACT_PHONE_INPUT);
13
15
  //# sourceMappingURL=atoms.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atoms.js","sourceRoot":"","sources":["../../src/schemas/atoms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,6BAA6B,EAC7B,+BAA+B,EAC/B,eAAe,GAChB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAG7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAE/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,4BAA4B,GAAG,eAAe,CAAC,+BAA+B,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC,6BAA6B,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n CONTACT_PHONE_INPUT,\n DISPLAY_NAME_INPUT,\n TEAM_INVITATION_MESSAGE_INPUT,\n TEAM_JOIN_REQUEST_MESSAGE_INPUT,\n TEAM_NAME_INPUT,\n} from '../constants/text-fields.js';\n\nimport { documentIdSegmentSchema } from '../doc-schemas/atoms.js';\nimport { textFieldSchema } from './text-field.js';\n\nexport const actingEntrySchema = z.enum(['member', 'admin']);\nexport type ActingEntry = z.infer<typeof actingEntrySchema>;\n\nexport const teamInvitationIdSchema = documentIdSegmentSchema;\nexport const teamJoinRequestIdSchema = documentIdSegmentSchema;\n\nexport const displayNameSchema = textFieldSchema(DISPLAY_NAME_INPUT);\nexport const teamNameSchema = textFieldSchema(TEAM_NAME_INPUT);\nexport const teamJoinRequestMessageSchema = textFieldSchema(TEAM_JOIN_REQUEST_MESSAGE_INPUT);\nexport const teamInvitationMessageSchema = textFieldSchema(TEAM_INVITATION_MESSAGE_INPUT);\nexport const contactPhoneSchema = textFieldSchema(CONTACT_PHONE_INPUT);\n"]}
1
+ {"version":3,"file":"atoms.js","sourceRoot":"","sources":["../../src/schemas/atoms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,+BAA+B,EAC/B,eAAe,GAChB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAG7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAE/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,4BAA4B,GAAG,eAAe,CAAC,+BAA+B,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC,6BAA6B,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { CONTACT_PHONE_INPUT } from '../constants/phone-fields.js';\nimport {\n DISPLAY_NAME_INPUT,\n TEAM_INVITATION_MESSAGE_INPUT,\n TEAM_JOIN_REQUEST_MESSAGE_INPUT,\n TEAM_NAME_INPUT,\n} from '../constants/text-fields.js';\n\nimport { documentIdSegmentSchema } from '../doc-schemas/atoms.js';\nimport { textFieldSchema } from './text-field.js';\nimport { phoneFieldSchema } from './phone-field.js';\n\nexport const actingEntrySchema = z.enum(['member', 'admin']);\nexport type ActingEntry = z.infer<typeof actingEntrySchema>;\n\nexport const teamInvitationIdSchema = documentIdSegmentSchema;\nexport const teamJoinRequestIdSchema = documentIdSegmentSchema;\n\nexport const displayNameSchema = textFieldSchema(DISPLAY_NAME_INPUT);\nexport const teamNameSchema = textFieldSchema(TEAM_NAME_INPUT);\nexport const teamJoinRequestMessageSchema = textFieldSchema(TEAM_JOIN_REQUEST_MESSAGE_INPUT);\nexport const teamInvitationMessageSchema = textFieldSchema(TEAM_INVITATION_MESSAGE_INPUT);\nexport const contactPhoneSchema = phoneFieldSchema(CONTACT_PHONE_INPUT);\n"]}
@@ -22,4 +22,5 @@ export * from './users.js';
22
22
  export * from './waiver-templates.js';
23
23
  export * from './migration-console.js';
24
24
  export * from './text-field.js';
25
+ export * from './phone-field.js';
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
@@ -22,4 +22,5 @@ export * from './users.js';
22
22
  export * from './waiver-templates.js';
23
23
  export * from './migration-console.js';
24
24
  export * from './text-field.js';
25
+ export * from './phone-field.js';
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './atoms.js';\nexport * from './awards.js';\nexport * from './hardware-loan-contracts.js';\nexport * from './account-settings.js';\nexport * from './admin-notifications.js';\nexport * from './admin-stats.js';\nexport * from './dead-letters.js';\nexport * from './app-config.js';\nexport * from './game-locations.js';\nexport * from './ghost-player-invite.js';\nexport * from './leagues.js';\nexport * from './pictures.js';\nexport * from './schedules.js';\nexport * from './scoring.js';\nexport * from './short-links.js';\nexport * from './signed-waivers.js';\nexport * from './stats.js';\nexport * from './team-joining.js';\nexport * from './teams.js';\nexport * from './uploads.js';\nexport * from './users.js';\nexport * from './waiver-templates.js';\nexport * from './migration-console.js';\nexport * from './text-field.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './atoms.js';\nexport * from './awards.js';\nexport * from './hardware-loan-contracts.js';\nexport * from './account-settings.js';\nexport * from './admin-notifications.js';\nexport * from './admin-stats.js';\nexport * from './dead-letters.js';\nexport * from './app-config.js';\nexport * from './game-locations.js';\nexport * from './ghost-player-invite.js';\nexport * from './leagues.js';\nexport * from './pictures.js';\nexport * from './schedules.js';\nexport * from './scoring.js';\nexport * from './short-links.js';\nexport * from './signed-waivers.js';\nexport * from './stats.js';\nexport * from './team-joining.js';\nexport * from './teams.js';\nexport * from './uploads.js';\nexport * from './users.js';\nexport * from './waiver-templates.js';\nexport * from './migration-console.js';\nexport * from './text-field.js';\nexport * from './phone-field.js';\n"]}
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ import { type PhoneFieldDeclaration } from '../utils/phone-field.js';
3
+ export declare function phoneFieldSchema(declaration: PhoneFieldDeclaration & {
4
+ readonly required: true;
5
+ }): z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
6
+ export declare function storedPhoneFieldSchema(declaration: PhoneFieldDeclaration): z.ZodString;
7
+ //# sourceMappingURL=phone-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-field.d.ts","sourceRoot":"","sources":["../../src/schemas/phone-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,qBAAqB,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,0DAWhG;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,qBAAqB,eAWxE"}
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+ import { checkPhoneDigits } from '@ttt-productions/input-format-core';
3
+ import { checkPhoneField, phoneFieldRefusal, } from '../utils/phone-field.js';
4
+ export function phoneFieldSchema(declaration) {
5
+ return z.string().transform((text, ctx) => {
6
+ const result = checkPhoneField(declaration, text);
7
+ if (result.ok && result.digits !== null)
8
+ return result.digits;
9
+ ctx.addIssue({
10
+ code: 'custom',
11
+ message: result.ok ? phoneFieldRefusal(declaration, 'missing') : result.reason,
12
+ input: text,
13
+ });
14
+ return z.NEVER;
15
+ });
16
+ }
17
+ export function storedPhoneFieldSchema(declaration) {
18
+ return z.string().superRefine((digits, ctx) => {
19
+ const result = checkPhoneDigits(digits, declaration);
20
+ if (!result.ok) {
21
+ ctx.addIssue({
22
+ code: 'custom',
23
+ message: phoneFieldRefusal(declaration, result.issue),
24
+ input: digits,
25
+ });
26
+ }
27
+ });
28
+ }
29
+ //# sourceMappingURL=phone-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-field.js","sourceRoot":"","sources":["../../src/schemas/phone-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EACL,eAAe,EACf,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,gBAAgB,CAAC,WAAgE;IAC/F,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QAC9D,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;YAC9E,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAkC;IACvE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;gBACrD,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { z } from 'zod';\nimport { checkPhoneDigits } from '@ttt-productions/input-format-core';\nimport {\n checkPhoneField,\n phoneFieldRefusal,\n type PhoneFieldDeclaration,\n} from '../utils/phone-field.js';\n\nexport function phoneFieldSchema(declaration: PhoneFieldDeclaration & { readonly required: true }) {\n return z.string().transform((text, ctx) => {\n const result = checkPhoneField(declaration, text);\n if (result.ok && result.digits !== null) return result.digits;\n ctx.addIssue({\n code: 'custom',\n message: result.ok ? phoneFieldRefusal(declaration, 'missing') : result.reason,\n input: text,\n });\n return z.NEVER;\n });\n}\n\nexport function storedPhoneFieldSchema(declaration: PhoneFieldDeclaration) {\n return z.string().superRefine((digits, ctx) => {\n const result = checkPhoneDigits(digits, declaration);\n if (!result.ok) {\n ctx.addIssue({\n code: 'custom',\n message: phoneFieldRefusal(declaration, result.issue),\n input: digits,\n });\n }\n });\n}\n"]}
@@ -9,4 +9,5 @@ export * from './team-member-actions.js';
9
9
  export * from './league-mode.js';
10
10
  export * from './league-joining.js';
11
11
  export * from './text-field.js';
12
+ export * from './phone-field.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
@@ -9,4 +9,5 @@ export * from './team-member-actions.js';
9
9
  export * from './league-mode.js';
10
10
  export * from './league-joining.js';
11
11
  export * from './text-field.js';
12
+ export * from './phone-field.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './display-name.js';\nexport * from './app-config.js';\nexport * from './league-calendar.js';\nexport * from './team-creation.js';\nexport * from './account-status.js';\nexport * from './league-join-warning.js';\nexport * from './schedules.js';\nexport * from './team-member-actions.js';\nexport * from './league-mode.js';\nexport * from './league-joining.js';\nexport * from './text-field.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './display-name.js';\nexport * from './app-config.js';\nexport * from './league-calendar.js';\nexport * from './team-creation.js';\nexport * from './account-status.js';\nexport * from './league-join-warning.js';\nexport * from './schedules.js';\nexport * from './team-member-actions.js';\nexport * from './league-mode.js';\nexport * from './league-joining.js';\nexport * from './text-field.js';\nexport * from './phone-field.js';\n"]}
@@ -0,0 +1,14 @@
1
+ import { type DeclaredPhoneFormat, type PhoneTextIssue } from '@ttt-productions/input-format-core';
2
+ export type PhoneFieldDeclaration = DeclaredPhoneFormat & {
3
+ readonly label: string;
4
+ };
5
+ export declare function phoneFieldRefusal(declaration: PhoneFieldDeclaration, issue: PhoneTextIssue): string;
6
+ export type PhoneFieldResult = {
7
+ readonly ok: true;
8
+ readonly digits: string | null;
9
+ } | {
10
+ readonly ok: false;
11
+ readonly reason: string;
12
+ };
13
+ export declare function checkPhoneField(declaration: PhoneFieldDeclaration, text: string): PhoneFieldResult;
14
+ //# sourceMappingURL=phone-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-field.d.ts","sourceRoot":"","sources":["../../src/utils/phone-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAIrF,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,qBAAqB,EAClC,KAAK,EAAE,cAAc,GACpB,MAAM,CAIR;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,wBAAgB,eAAe,CAC7B,WAAW,EAAE,qBAAqB,EAClC,IAAI,EAAE,MAAM,GACX,gBAAgB,CAIlB"}
@@ -0,0 +1,15 @@
1
+ import { formatPhone, readPhoneText, } from '@ttt-productions/input-format-core';
2
+ const PHONE_EXAMPLE_DIGITS = '8145550123';
3
+ export function phoneFieldRefusal(declaration, issue) {
4
+ const { label } = declaration;
5
+ if (issue === 'missing')
6
+ return `${label} cannot be empty.`;
7
+ return `${label} must be a 10-digit US number with its area code, like ${formatPhone(PHONE_EXAMPLE_DIGITS, declaration)}.`;
8
+ }
9
+ export function checkPhoneField(declaration, text) {
10
+ const result = readPhoneText(text, declaration);
11
+ if (result.ok)
12
+ return { ok: true, digits: result.digits };
13
+ return { ok: false, reason: phoneFieldRefusal(declaration, result.issue) };
14
+ }
15
+ //# sourceMappingURL=phone-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-field.js","sourceRoot":"","sources":["../../src/utils/phone-field.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,aAAa,GAGd,MAAM,oCAAoC,CAAC;AAI5C,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAE1C,MAAM,UAAU,iBAAiB,CAC/B,WAAkC,EAClC,KAAqB;IAErB,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,GAAG,KAAK,mBAAmB,CAAC;IAC5D,OAAO,GAAG,KAAK,0DAA0D,WAAW,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAAG,CAAC;AAC7H,CAAC;AAMD,MAAM,UAAU,eAAe,CAC7B,WAAkC,EAClC,IAAY;IAEZ,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC1D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7E,CAAC","sourcesContent":["import {\n formatPhone,\n readPhoneText,\n type DeclaredPhoneFormat,\n type PhoneTextIssue,\n} from '@ttt-productions/input-format-core';\n\nexport type PhoneFieldDeclaration = DeclaredPhoneFormat & { readonly label: string };\n\nconst PHONE_EXAMPLE_DIGITS = '8145550123';\n\nexport function phoneFieldRefusal(\n declaration: PhoneFieldDeclaration,\n issue: PhoneTextIssue,\n): string {\n const { label } = declaration;\n if (issue === 'missing') return `${label} cannot be empty.`;\n return `${label} must be a 10-digit US number with its area code, like ${formatPhone(PHONE_EXAMPLE_DIGITS, declaration)}.`;\n}\n\nexport type PhoneFieldResult =\n | { readonly ok: true; readonly digits: string | null }\n | { readonly ok: false; readonly reason: string };\n\nexport function checkPhoneField(\n declaration: PhoneFieldDeclaration,\n text: string,\n): PhoneFieldResult {\n const result = readPhoneText(text, declaration);\n if (result.ok) return { ok: true, digits: result.digits };\n return { ok: false, reason: phoneFieldRefusal(declaration, result.issue) };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttt-productions/q-core",
3
- "version": "0.1.63",
3
+ "version": "0.1.65",
4
4
  "description": "Core types, Firestore path constants, zod schemas, and shared constants for Q-Sports",
5
5
  "repository": {
6
6
  "type": "git",
@@ -78,7 +78,7 @@
78
78
  },
79
79
  "dependencies": {
80
80
  "@ttt-productions/edge-protocol-core": "^0.1.15",
81
- "@ttt-productions/input-format-core": "^0.1.4",
81
+ "@ttt-productions/input-format-core": "^0.1.5",
82
82
  "@ttt-productions/media-schemas": "^0.14.17",
83
83
  "@ttt-productions/notification-core": "^0.15.24",
84
84
  "@ttt-productions/short-link-core": "^0.0.2",
@@ -1,8 +0,0 @@
1
- import type { PictureVariantKey } from '../types/unions.js';
2
- export interface PictureUrlBuilderConfig {
3
- storageOrigin: string;
4
- bucket: string;
5
- }
6
- export type PictureUrlBuilder = (pictureId: string, variantKey: PictureVariantKey) => string;
7
- export declare function createPictureUrlBuilder(config: PictureUrlBuilderConfig): PictureUrlBuilder;
8
- //# sourceMappingURL=picture-url.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"picture-url.d.ts","sourceRoot":"","sources":["../../src/media/picture-url.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,KAAK,MAAM,CAAC;AAE7F,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,iBAAiB,CAU1F"}
@@ -1,13 +0,0 @@
1
- import { buildPictureObjectPath } from '../paths/storage-paths.js';
2
- export function createPictureUrlBuilder(config) {
3
- const origin = config.storageOrigin.replace(/\/+$/, '');
4
- const { bucket } = config;
5
- if (!origin || !bucket) {
6
- throw new Error('createPictureUrlBuilder: storageOrigin and bucket are required');
7
- }
8
- return (pictureId, variantKey) => {
9
- const objectPath = encodeURIComponent(buildPictureObjectPath(pictureId, variantKey));
10
- return `${origin}/v0/b/${bucket}/o/${objectPath}?alt=media`;
11
- };
12
- }
13
- //# sourceMappingURL=picture-url.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"picture-url.js","sourceRoot":"","sources":["../../src/media/picture-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAUnE,MAAM,UAAU,uBAAuB,CAAC,MAA+B;IACrE,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,MAAM,SAAS,MAAM,MAAM,UAAU,YAAY,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { buildPictureObjectPath } from '../paths/storage-paths.js';\nimport type { PictureVariantKey } from '../types/unions.js';\n\nexport interface PictureUrlBuilderConfig {\n storageOrigin: string;\n bucket: string;\n}\n\nexport type PictureUrlBuilder = (pictureId: string, variantKey: PictureVariantKey) => string;\n\nexport function createPictureUrlBuilder(config: PictureUrlBuilderConfig): PictureUrlBuilder {\n const origin = config.storageOrigin.replace(/\\/+$/, '');\n const { bucket } = config;\n if (!origin || !bucket) {\n throw new Error('createPictureUrlBuilder: storageOrigin and bucket are required');\n }\n return (pictureId, variantKey) => {\n const objectPath = encodeURIComponent(buildPictureObjectPath(pictureId, variantKey));\n return `${origin}/v0/b/${bucket}/o/${objectPath}?alt=media`;\n };\n}\n"]}