@aglyn/plugins-ai 1.0.0-beta.264 → 1.0.0-beta.268

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 (124) hide show
  1. package/package.json +18 -18
  2. package/src/lib/assets/site-styles/beauty.webp +0 -0
  3. package/src/lib/assets/site-styles/blog.webp +0 -0
  4. package/src/lib/assets/site-styles/business.webp +0 -0
  5. package/src/lib/assets/site-styles/coming-soon.webp +0 -0
  6. package/src/lib/assets/site-styles/education.webp +0 -0
  7. package/src/lib/assets/site-styles/events.webp +0 -0
  8. package/src/lib/assets/site-styles/fitness.webp +0 -0
  9. package/src/lib/assets/site-styles/landing.webp +0 -0
  10. package/src/lib/assets/site-styles/music.webp +0 -0
  11. package/src/lib/assets/site-styles/nonprofit.webp +0 -0
  12. package/src/lib/assets/site-styles/personal.webp +0 -0
  13. package/src/lib/assets/site-styles/photography.webp +0 -0
  14. package/src/lib/assets/site-styles/portfolio.webp +0 -0
  15. package/src/lib/assets/site-styles/professional.webp +0 -0
  16. package/src/lib/assets/site-styles/realestate.webp +0 -0
  17. package/src/lib/assets/site-styles/restaurant.webp +0 -0
  18. package/src/lib/assets/site-styles/store.webp +0 -0
  19. package/src/lib/assets/site-styles/studio.webp +0 -0
  20. package/src/lib/assets/site-styles/trades.webp +0 -0
  21. package/src/lib/assets/site-styles/wellness.webp +0 -0
  22. package/src/lib/assets/site-styles/yoga.webp +0 -0
  23. package/src/lib/components/ai-job-site.d.ts +8 -1
  24. package/src/lib/components/ai-job-site.js +7 -0
  25. package/src/lib/components/ai-job-site.js.map +1 -1
  26. package/src/lib/components/ai-site-build-page.component.js +37 -0
  27. package/src/lib/components/ai-site-build-page.component.js.map +1 -1
  28. package/src/lib/components/ai-site-start-card.component.d.ts +12 -0
  29. package/src/lib/components/ai-site-start-card.component.js +279 -240
  30. package/src/lib/components/ai-site-start-card.component.js.map +1 -1
  31. package/src/lib/components/ai-site-start-steps.component.d.ts +114 -0
  32. package/src/lib/components/ai-site-start-steps.component.js +480 -0
  33. package/src/lib/components/ai-site-start-steps.component.js.map +1 -0
  34. package/src/lib/components/ai-site-start-tracking.d.ts +122 -0
  35. package/src/lib/components/ai-site-start-tracking.js +296 -0
  36. package/src/lib/components/ai-site-start-tracking.js.map +1 -0
  37. package/src/lib/components/ai-site-style-previews.d.ts +26 -0
  38. package/src/lib/components/ai-site-style-previews.js +115 -0
  39. package/src/lib/components/ai-site-style-previews.js.map +1 -0
  40. package/src/lib/components/assist-jobs-drawer.component.js +24 -2
  41. package/src/lib/components/assist-jobs-drawer.component.js.map +1 -1
  42. package/src/lib/insights/ai-insight-digest.d.ts +9 -0
  43. package/src/lib/insights/ai-insight-digest.js +35 -11
  44. package/src/lib/insights/ai-insight-digest.js.map +1 -1
  45. package/src/lib/jobs/ai-empty-site-sweep.d.ts +154 -0
  46. package/src/lib/jobs/ai-empty-site-sweep.js +346 -0
  47. package/src/lib/jobs/ai-empty-site-sweep.js.map +1 -0
  48. package/src/lib/jobs/ai-job-page-language.d.ts +9 -0
  49. package/src/lib/jobs/ai-job-page-language.js +20 -2
  50. package/src/lib/jobs/ai-job-page-language.js.map +1 -1
  51. package/src/lib/jobs/ai-job-plan-step.d.ts +43 -8
  52. package/src/lib/jobs/ai-job-plan-step.js +99 -18
  53. package/src/lib/jobs/ai-job-plan-step.js.map +1 -1
  54. package/src/lib/jobs/ai-job-site-datasets.d.ts +82 -1
  55. package/src/lib/jobs/ai-job-site-datasets.js +276 -14
  56. package/src/lib/jobs/ai-job-site-datasets.js.map +1 -1
  57. package/src/lib/jobs/ai-jobs-beat.d.ts +11 -3
  58. package/src/lib/jobs/ai-jobs-beat.js +23 -6
  59. package/src/lib/jobs/ai-jobs-beat.js.map +1 -1
  60. package/src/lib/jobs/ai-jobs.js +46 -7
  61. package/src/lib/jobs/ai-jobs.js.map +1 -1
  62. package/src/lib/jobs/ai-layout-stock-photos.d.ts +143 -10
  63. package/src/lib/jobs/ai-layout-stock-photos.js +1046 -102
  64. package/src/lib/jobs/ai-layout-stock-photos.js.map +1 -1
  65. package/src/lib/jobs/fixtures/ai-site-foreign-datasets-recording.d.ts +58 -0
  66. package/src/lib/jobs/fixtures/ai-site-foreign-datasets-recording.js +678 -0
  67. package/src/lib/jobs/fixtures/ai-site-foreign-datasets-recording.js.map +1 -0
  68. package/src/lib/jobs/fixtures/ai-stock-photo-agl3856-beta265-recordings.d.ts +33 -0
  69. package/src/lib/jobs/fixtures/ai-stock-photo-agl3856-beta265-recordings.js +270 -0
  70. package/src/lib/jobs/fixtures/ai-stock-photo-agl3856-beta265-recordings.js.map +1 -0
  71. package/src/lib/jobs/fixtures/ai-stock-photo-agl3856-people-recordings.d.ts +33 -0
  72. package/src/lib/jobs/fixtures/ai-stock-photo-agl3856-people-recordings.js +277 -0
  73. package/src/lib/jobs/fixtures/ai-stock-photo-agl3856-people-recordings.js.map +1 -0
  74. package/src/lib/jobs/fixtures/ai-stock-photo-agl3923-recordings.d.ts +35 -0
  75. package/src/lib/jobs/fixtures/ai-stock-photo-agl3923-recordings.js +379 -0
  76. package/src/lib/jobs/fixtures/ai-stock-photo-agl3923-recordings.js.map +1 -0
  77. package/src/lib/jobs/fixtures/ai-stock-photo-brightvale-recordings.d.ts +31 -0
  78. package/src/lib/jobs/fixtures/ai-stock-photo-brightvale-recordings.js +208 -0
  79. package/src/lib/jobs/fixtures/ai-stock-photo-brightvale-recordings.js.map +1 -0
  80. package/src/lib/layout-language/ai-layout-compiler.js +49 -12
  81. package/src/lib/layout-language/ai-layout-compiler.js.map +1 -1
  82. package/src/lib/layout-language/ai-layout-design.d.ts +6 -3
  83. package/src/lib/layout-language/ai-layout-design.js +19 -13
  84. package/src/lib/layout-language/ai-layout-design.js.map +1 -1
  85. package/src/lib/layout-language/ai-layout-listings.d.ts +48 -0
  86. package/src/lib/layout-language/ai-layout-listings.js +91 -5
  87. package/src/lib/layout-language/ai-layout-listings.js.map +1 -1
  88. package/src/lib/layout-language/ai-layout-pictures.d.ts +15 -0
  89. package/src/lib/layout-language/ai-layout-pictures.js +6 -2
  90. package/src/lib/layout-language/ai-layout-pictures.js.map +1 -1
  91. package/src/lib/model/ai-jobs.types.d.ts +20 -0
  92. package/src/lib/model/ai-jobs.types.js.map +1 -1
  93. package/src/lib/model/ai-site-home-arcs.d.ts +75 -0
  94. package/src/lib/model/ai-site-home-arcs.js +741 -0
  95. package/src/lib/model/ai-site-home-arcs.js.map +1 -0
  96. package/src/lib/model/ai-site-inventory.d.ts +18 -0
  97. package/src/lib/model/ai-site-inventory.js.map +1 -1
  98. package/src/lib/model/ai-site-job.d.ts +9 -6
  99. package/src/lib/model/ai-site-job.js +8 -5
  100. package/src/lib/model/ai-site-job.js.map +1 -1
  101. package/src/lib/model/ai-site-kinds.js +24 -24
  102. package/src/lib/model/ai-site-kinds.js.map +1 -1
  103. package/src/lib/model/ai-site-start-handoff.d.ts +49 -0
  104. package/src/lib/model/ai-site-start-handoff.js +88 -0
  105. package/src/lib/model/ai-site-start-handoff.js.map +1 -0
  106. package/src/lib/model/ai-site-start-steps.d.ts +67 -0
  107. package/src/lib/model/ai-site-start-steps.js +127 -0
  108. package/src/lib/model/ai-site-start-steps.js.map +1 -0
  109. package/src/lib/model/ai-site-start.js +4 -1
  110. package/src/lib/model/ai-site-start.js.map +1 -1
  111. package/src/lib/runtime/ai-doctrine-validators.d.ts +32 -0
  112. package/src/lib/runtime/ai-doctrine-validators.js +119 -2
  113. package/src/lib/runtime/ai-doctrine-validators.js.map +1 -1
  114. package/src/lib/runtime/ai-doctrine.d.ts +6 -1
  115. package/src/lib/runtime/ai-doctrine.js +9 -5
  116. package/src/lib/runtime/ai-doctrine.js.map +1 -1
  117. package/src/lib/runtime/ai-palette.generated.js +5 -2
  118. package/src/lib/runtime/ai-palette.generated.js.map +1 -1
  119. package/src/lib/runtime/site-inventory.js +6 -0
  120. package/src/lib/runtime/site-inventory.js.map +1 -1
  121. package/src/lib/server/ai-insight-digest-route.js +2 -2
  122. package/src/lib/server/ai-insight-digest-route.js.map +1 -1
  123. package/src/lib/usage/assist-free-taste.js +3 -0
  124. package/src/lib/usage/assist-free-taste.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../libs/plugins/ai/src/lib/jobs/fixtures/ai-stock-photo-brightvale-recordings.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { StockPhoto } from '@aglyn/aglyn/plugin-manager/stock-photo-provider'\n\n/**\n * PIXABAY'S RECORDED ANSWERS FOR THE BETA.267 BRIGHTVALE FREELANCE MARKETING\n * START (AGL-3923, job dUxJutW8Dp, host QyM-_Ii5Kh, 2026-10-18 19:41Z): the\n * searches its cover heroes and its About page's \"Our story\" picture sent,\n * read back from production's `stockPhotoSearches` by each search's key (a\n * SHA-256 of the provider and the request's canonical parameters), never\n * searched again. Ids, sizes, page slugs and tags are Pixabay's own, in its\n * order; the contributor is left out. A hit whose download address is not a\n * .jpg keeps its extension, as Pixabay's own address names it: 10157445's is a\n * .png, labeled image/png, and its bytes were not PNG.\n */\n\nconst hit = (id: number, width: number, height: number, slug: string, tags: string, extension = 'jpg'): StockPhoto =>\n ({\n provider: 'pixabay',\n id: String(id),\n width,\n height,\n pageUrl: `https://pixabay.com/photos/${slug}/`,\n photographer: 'A Pixabay contributor',\n tags: tags ? tags.split(', ') : [],\n downloadUrl: `https://pixabay.com/get/g${id}_1280.${extension}`,\n }) as StockPhoto\n\n/** `freelencing` (horizontal, min_width 1600), every page's cover hero first; key `34565a1176c6bdc7e5797e3cc714ad5b97b0d75b63fe7572d022ac6d64d2c0b9`, answered 2026-10-18T11:36:29.367Z. */\nexport const FREELENCING_HERO: StockPhoto[] = []\n\n/** `small business owner` (horizontal, min_width 1600), the business kind's hero search (#1758); key `e76f3be5ca9474724764f9587fec08e3ff5a8313f37438790f8db25917a3edf0`, answered 2026-10-18T19:44:21.162Z. */\nexport const SMALL_BUSINESS_OWNER_HERO: StockPhoto[] = [\n hit(10207329, 1280, 853, 'small-business-e-commerce-10207329', 'small business, e commerce, order packing, business owner, online store, packaging, shipping orders, home business, startup, entrepreneur, workspace, wooden desk, natural light, productivity, order fulfillment, retail, small business owner, logistics, packaging process, handmade business'),\n hit(5475187, 1280, 853, 'man-entrepreneur-business-manager-5475187', 'man, entrepreneur, business, manager, owner, restaurant, young, start, local, small business, bar, small business, small business, small business, small business, small business'),\n hit(10436141, 1280, 714, 'baker-bakery-woman-smiling-happy-10436141', 'baker, bakery, woman, smiling, happy, bread, craft, freshly baked, small business, owner, entrepreneur, authentic, commercial, food, product, organic, delicious, successful, natural ingredients, artisan product'),\n hit(8379770, 1280, 827, 'jack-russell-puppy-mammal-dog-8379770', 'jack russell, puppy, mammal, dog, nature, playing, cute, pet, playful, animal'),\n hit(5124948, 1280, 853, 'puppy-dog-mammal-cute-small-5124948', 'puppy, pet, animal, dog, mammal, cute, small, adorable, purebred, canine, sweet'),\n hit(7213011, 1280, 853, 'dog-walk-sea-beach-sand-leash-7213011', 'dog, animal, walk, sea, nature, beach, sand, pet, leash, outdoors, friend'),\n hit(3047316, 1280, 853, 'business-businessman-closing-couch-3047316', 'business, businessman, closing, couch, display, indian, male, man, market, metal, metallic, motor, motorcycle, rider, owner, person, seller, shop, shop owner, sitting'),\n hit(1838969, 1280, 660, 'standup-paddleboarding-man-dog-1838969', 'standup paddleboarding, animal, man, dog, friendship, companion, pet, owner, paddleboard, paddle, together, stand, standing, ocean, person, nature, sea, surfboard, water, leisure'),\n hit(5623231, 1280, 853, 'girl-dog-pet-friendship-companion-5623231', 'girl, dog, pet, friendship, companion, owner, caucasian, blonde, caucasian female, blonde female, canine, domestic dog, doggy, happy, animal, nature, love, woman, cute, puppy'),\n hit(1861839, 1280, 850, 'dog-labrador-pet-canine-companion-1861839', 'dog, labrador, pet, canine, companion, friendship, nature, trust, animal, snout'),\n hit(3344414, 1280, 854, 'dog-adorable-animal-cute-happiness-3344414', 'dog, nature, adorable, animal, cute, happiness, happy, man, pet, portrait, puppy, purebred, retriever'),\n hit(1850276, 1280, 853, 'puppy-sleeping-pet-owner-adorable-1850276', 'puppy, sleeping, pet, nature, owner, adorable, animal, canine, cute, dog, sleep, sleeping puppy, asleep, portrait'),\n hit(2264812, 1280, 790, 'arrangement-attractive-beautiful-2264812', 'arrangement, attractive, beautiful, bloom, blossom, bouquet, business, colorful, decoration, detail, floral, florist, flowers, natural, plants, present, shop, nature, small business, flower background'),\n hit(4778387, 1280, 854, 'cat-pet-care-pet-care-kitten-4778387', 'cat, pet, care, pet care, kitten, nature, animal, domestic cat, feline, mammal, cute, furry, playful, fur, kitty, adorable, rescue cat, animal care, closeup'),\n hit(5751151, 1280, 853, 'dog-woman-owner-pet-companion-5751151', 'dog, woman, owner, pet, animal, companion, friends, friendship, canine, fur, furry, furry dog, mammal, adorable, cuddle, cute'),\n hit(1868563, 1280, 853, 'man-kitten-pet-owner-kitty-tabby-1868563', 'man, kitten, pet, owner, kitty, tabby, cat, gray tabby, tabby cat, adorable, animal, cute, feline, nature, caring, hands, holding, portrait'),\n hit(8199216, 1280, 853, 'dog-puppy-grass-canine-mammal-8199216', 'dog, beautiful nature, cool backgrounds, puppy, wallpaper hd, grass, canine, 4k wallpaper, wallpaper 4k, 4k wallpaper 1920x1080, mammal, nature wallpaper, mac wallpaper, happy, free wallpaper, walking, windows wallpaper, free background, playing, laptop wallpaper'),\n hit(5331883, 1280, 853, 'cat-work-technology-pet-cute-pc-5331883', 'cat, work, technology, pet, cute, animal, pc, keyboard, remote work'),\n hit(237193, 1280, 853, 'dog-puppy-bath-water-person-girl-237193', 'dog, puppy, nature, bath, animal, water, person, girl, friendship, kiss, pet'),\n hit(5249583, 1280, 887, 'arabian-horse-horse-man-golden-hour-5249583', 'arabian horse, horse, man, golden hour, mane, equestrian, animal, nature, portrait, horse, horse, horse, horse, horse'),\n hit(2607704, 1280, 854, 'animals-dogs-friendship-pets-eyes-2607704', 'animals, dogs, friendship, pets, eyes, muzzle, adorable, nature, miniature, man, male, people, owner, love, love wallpaper'),\n hit(841174, 1280, 858, 'company-model-woman-message-girl-841174', 'company, model, woman, message, girl, open, model, woman, message, message, message, open, open, open, open, open'),\n hit(4411622, 1280, 720, 'chihuahua-scared-astonished-fun-4411622', 'chihuahua, scared, astonished, fun, small, cute, dog, animal, on the lap, man, hands, poor, animal portrait, love, lifestyle, loyal friend, maul, pet, nose, snout'),\n hit(4930050, 1280, 853, 'mask-walk-dog-pet-new-normal-4930050', 'mask, walk, dog, pet, new normal, animal, virus, pandemic, covid, safey'),\n hit(5467838, 1280, 854, 'woman-entrepreneur-owner-business-5467838', 'woman, entrepreneur, owner, business, shop, store, clothing, manager, saleswoman, retail, sales, small business, retail, small business, small business, small business, small business, small business'),\n hit(5753302, 1280, 853, 'dog-pet-pet-owner-animal-owner-5753302', 'dog, pet, pet owner, animal, owner, domestic dog, canine, harness, dog harness, mammal, cute, adorable, woman, female, nature, outdoors, saxony, germany, leipzig'),\n hit(841164, 1280, 853, 'woman-girl-dog-portrait-smile-841164', 'woman, girl, dog, portrait, pet, smile, animal, look, face'),\n hit(1868578, 1280, 853, 'animal-canine-chihuahua-cute-dog-1868578', 'animal, nature, canine, chihuahua, cute, dog, hand, pet, puppy'),\n hit(5020587, 1280, 853, 'dog-dog-training-training-5020587', 'dog, dog training, training, human and animal, pet, animal, nature, domestic animal, yorkie, yorkshire terrier, garden, meadow'),\n hit(698630, 1280, 853, 'yorkshire-terrier-dog-puppy-animal-698630', 'yorkshire terrier, nature, dog, puppy, animal, pet, tongue, cute, girl, legs, sandals'),\n hit(2562376, 1280, 851, 'people-girl-pet-animal-dog-2562376', 'people, girl, pet, nature, animal, dog'),\n hit(100544, 1280, 857, 'dog-small-cute-ice-cream-sun-100544', 'dog, nature, small, cute, ice cream, pet, sun, summer, sand, animal, human, person, receive'),\n hit(2808859, 1280, 853, 'dog-pet-dog-pets-puppy-walk-cute-2808859', 'dog, pet dog, pets, puppy, pet, walk, cute, nature, gladness, consensus, stare, animal'),\n hit(2592333, 1280, 853, 'dog-puppy-animal-hands-owner-2592333', 'dog, puppy, pet, animal, hands, owner, nature, people, ears'),\n hit(10157445, 1280, 1280, 'small-business-entrepreneur-10157445', 'small business, entrepreneur, ecommerce, packing orders, shipping orders, home business, workspace, wooden desk, startup, small business workflow, independent seller, office equipment, work from home, wrapping paper, labels, home office, agenda, office desk', 'png'),\n hit(1093675, 1280, 854, 'woman-dog-pet-people-female-1093675', 'woman, dog, pet, people, female, animal, lifestyle, together, friendship, togetherness, close, nature, friends'),\n hit(654511, 1280, 853, 'poodle-dog-pets-animal-654511', 'poodle, dog, pets, pet, nature, animal'),\n hit(672786, 1280, 870, 'hybrids-small-cute-small-dog-672786', 'hybrids, small, cute, small dog, domestic animal, fluffy, little hybrid, knuffig'),\n hit(5031737, 1280, 854, 'cat-playful-yellow-eyes-pedigree-5031737', 'cat, playful, yellow eyes, pedigree, striped, persian, exotic, iron, affectionate, care, love, pet, one owner, not let, fluffy, important cat, business, animal, pedigreed, evil'),\n hit(3951245, 1280, 853, 'superman-statue-success-trophy-3951245', 'superman, statue, success, trophy, small, business, design, superman, superman, superman, superman, superman'),\n]\n\n/** `freelencing story` (vertical, min_height 900, category people), the About page's \"Our story\" picture; key `ac3bd740cb1dafac2a9a53c4692c47d3dd2dd9c1f860c9d7592014ebd49816a9`, answered 2026-10-18T19:46:32.905Z. */\nexport const FREELENCING_STORY_PEOPLE: StockPhoto[] = [\n hit(6840320, 894, 1280, 'girl-magic-space-architecture-6840320', 'girl, magic, space, architecture, digital art, art, story'),\n hit(3715695, 1081, 1280, 'daughter-red-rain-girl-fashion-3715695', 'daughter, red, rain, girl, fashion, nature, story'),\n hit(4367341, 853, 1280, 'princess-historical-fairy-tale-4367341', 'princess, historical, fairy tale, fantasy, fairy, crown, magic, conjure up, female, woman, portrait, mystical, story, princess, princess, princess, princess, princess, crown, crown'),\n hit(2974363, 857, 1280, 'prince-boy-kids-magic-crown-2974363', 'prince, boy, kids, magic, crown, a cute baby, story, elf, portrait, sight, prince, prince, prince, prince, prince'),\n hit(5283552, 850, 1280, 'angel-wings-fantasy-horns-sukub-5283552', 'angel, wings, fantasy, horns, sukub, fallen angel, story, wing, young woman, mystical, mystic, magic, daemon, good'),\n hit(7755278, 837, 1280, 'madder-kokoshnik-woman-story-7755278', 'madder, kokoshnik, woman, story, mystic, fantasy, mythology, goddess, slavic, character, nature, costume, image, rite, crown, cosplay, goddess of death'),\n hit(7362364, 837, 1280, 'woman-cosplay-crown-kokoshnik-7362364', 'woman, cosplay, crown, kokoshnik, witch, svarog, magician, scull, horns, damage, shrew, sorceress, enchantress, story, magic, fantasy, cosplay, crown, crown, crown'),\n hit(4747076, 1024, 1280, 'young-woman-forest-deer-fantasy-4747076', 'young woman, forest, deer, fantasy, story, photoshop, nature, photo montage, surreal, fantastic, smoke, mystic, magic, sveta, dream'),\n hit(5344381, 855, 1280, 'young-woman-forest-story-beauty-5344381', 'young woman, forest, story, beauty, nature, mood'),\n hit(7362362, 853, 1280, 'woman-cosplay-crown-kokoshnik-7362362', 'woman, cosplay, crown, kokoshnik, witch, svarog, magician, scull, horns, damage, shrew, sorceress, enchantress, story, magic, fantasy, cosplay, crown, witch, witch'),\n hit(3172580, 1096, 1280, 'stone-door-old-wall-arch-3172580', 'stone, door, old, wall, arch, young woman, magic, story, fantasy, art, illustration, middle ages, magic, illustration, illustration, illustration, illustration, illustration'),\n hit(7359398, 876, 1280, 'woman-book-read-reading-study-7359398', 'woman, book, read, reading, study, girl, hobby, novel, bench, story, literature, reader, leisure, rocker'),\n hit(5344383, 855, 1280, 'young-woman-forest-light-story-5344383', 'young woman, forest, nature, light, story, trees, mood'),\n hit(5344382, 855, 1280, 'young-woman-forest-story-trees-5344382', 'young woman, forest, story, nature, trees, beauty, mood, landscape'),\n hit(3172588, 1141, 1280, 'people-art-adult-young-woman-magic-3172588', 'people, art, adult, young woman, magic, story, fantasy, illustration, middle ages, woman'),\n hit(6857724, 851, 1280, 'elf-cosplay-fantasy-the-enchantress-6857724', 'elf, cosplay, fantasy, the enchantress, woman, portrait, elves, image, magic, enchantress, ears, gems, sparkle, story, fairytale character, young woman, nimbus, holy, cosplay, cosplay'),\n hit(8533942, 834, 1280, 'woman-fashion-beauty-eastern-8533942', 'woman, fashion, beauty, eastern, gorgeous, arabic, scheherazade, story, cosplay, decorations, dancer, hands, gracefully, portrait, model, pose, dagger, weapon, blade'),\n hit(7362361, 1024, 1280, 'woman-cosplay-crown-kokoshnik-7362361', 'woman, cosplay, crown, kokoshnik, witch, svarog, magician, scull, horns, damage, shrew, sorceress, enchantress, story, magic, fantasy, woman, cosplay, cosplay, cosplay'),\n hit(4351441, 853, 1280, 'human-trees-foliage-house-4351441', 'human, trees, foliage, house, pterodactyl, light, man, tree, hike, nature, journey, story, fantasy, photoshop, amazing'),\n hit(5381815, 851, 1280, 'elf-ears-story-magic-fairy-5381815', 'elf, ears, story, magic, fairy, fantasy, elves, pipe, music, tolkien, cosplay, young woman, woman, figure, the flute, elf, fairy, elves, elves, elves'),\n hit(4439625, 855, 1280, 'lighthouse-crystal-girl-ball-moon-4439625', 'lighthouse, crystal, girl, ball, moon, light, sparks, bokeh sky, clouds, fantasy, nature, photoshop, steam, lighting, story'),\n hit(7613624, 853, 1280, 'elf-elvish-fantasy-young-woman-7613624', 'elf, elvish, fantasy, young woman, ears, story, magic, folklore, spirit of the forest, character, cosplay, image, mythology, outfit, tolkien, lord of the rings, elves, elf, magic, folklore'),\n hit(7040028, 921, 1280, 'woman-fantasy-story-fiction-girl-7040028', 'woman, fantasy, story, fiction, girl, young, beauty, white dress, lamp, nature, light, forest, stairs, mushroom, magic, fairytale, book cover'),\n hit(4440401, 853, 1280, 'young-couple-love-story-courtship-4440401', 'young couple, love story, courtship, young, hug, young woman, beauty, portrait, model, person, hair, femininity, fashion, embrace'),\n hit(5283548, 881, 1280, 'angel-wings-fantasy-horns-sukub-5283548', 'angel, wings, fantasy, horns, sukub, fallen angel, story, wing, young woman, mystical, mystic, magic, dream, mysterious, mood, fairy tales'),\n hit(7613621, 853, 1280, 'elf-elvish-fantasy-young-woman-7613621', 'elf, elvish, fantasy, young woman, ears, story, magic, folklore, spirit of the forest, character, cosplay, image, mythology, outfit, tolkien, lord of the rings, elves'),\n hit(8533939, 832, 1280, 'woman-fashion-beauty-eastern-8533939', 'woman, fashion, beauty, eastern, gorgeous, arabic, scheherazade, story, cosplay, exotic, decorations, long hair, dancer, hands, gracefully, portrait, model, pose'),\n hit(5532334, 853, 1280, 'mysterious-mystery-thriller-face-5532334', 'mysterious, mystery, thriller, face, dark, shadows, serious, male, dirt, brave, hero, warrior, soldier, headshot, man, black, white, eyes, story, telling'),\n hit(3877719, 850, 1280, 'autumn-girl-the-apprentice-backpack-3877719', 'autumn, girl, the apprentice, backpack, young woman, model, leaves, nature, story, the park, baby, childhood, backpack, backpack, backpack, backpack, backpack'),\n hit(5381802, 851, 1280, 'elf-ears-story-magic-fairy-5381802', 'elf, ears, story, magic, fairy, fantasy, elves, pipe, music, tolkien, cosplay, young woman, woman, figure'),\n hit(4304019, 854, 1280, 'fantasy-gothic-dark-dream-portrait-4304019', 'fantasy, gothic, dark, dream, portrait, fantasy portrait, female, girl, model, night, lamp, candle, wood, mystery, mysterious, ghost story, atmosphere, composing, book cover, photoshop'),\n hit(4273436, 848, 1280, 'horse-horses-forest-red-hood-4273436', 'horse, horses, forest, red hood, little red riding hood, fairy tale, story teller, fantasy, nature, girl, adventure, woods, enchanted, green forest, green fantasy'),\n hit(8533943, 848, 1280, 'woman-fashion-beauty-eastern-8533943', 'woman, fashion, beauty, eastern, gorgeous, arabic, scheherazade, story, cosplay, decorations, dancer, hands, gracefully, portrait, model, pose'),\n hit(5016422, 853, 1280, 'winter-young-woman-model-portrait-5016422', 'winter, young woman, model, nature, portrait, snow, story, smile, holiday, january, cold, woman, forest, christmas tree, cosiness'),\n hit(8533944, 796, 1280, 'woman-fashion-beauty-eastern-8533944', 'woman, fashion, beauty, eastern, gorgeous, arabic, scheherazade, story, cosplay, decorations, dancer, hands, gracefully, portrait, model, pose, dagger, weapon, blade'),\n hit(8533947, 834, 1280, 'woman-fashion-beauty-eastern-8533947', 'woman, fashion, beauty, eastern, gorgeous, arabic, scheherazade, story, cosplay, decorations, dancer, hands, gracefully, portrait, model, pose, dagger, weapons, blade'),\n hit(6858089, 851, 1280, 'queen-crown-monarch-cosplay-6858089', 'queen, crown, monarch, cosplay, fantasy, throne, power, woman, image, jewelry, decorations, story, fairytale character, young woman, portrait, drapery, kingdom'),\n hit(8533938, 802, 1280, 'woman-beauty-fashion-eastern-8533938', 'woman, beauty, fashion, eastern, gorgeous, arabic, scheherazade, story, cosplay, thousand and one nights, exotic, decorations, long hair, dancer, graceful'),\n hit(4440380, 853, 1280, 'young-couple-love-story-courtship-4440380', 'young couple, love story, courtship, young, hug, young woman, beauty, portrait, model, person, hair, femininity, fashion, dress, birch'),\n hit(5283555, 853, 1280, 'portrait-angel-wings-fantasy-horns-5283555', 'portrait, angel, wings, fantasy, horns, sukub, fallen angel, story, wing, young woman, mystical, mystic, magic'),\n]\n\n/** `freelencing` (vertical, min_height 900, category people), the same picture; key `047c7c65b06bb5d1d8172b67951b37937adc34e7f86ae2cf133f2039107067ef`, answered 2026-10-18T19:46:33.166Z. */\nexport const FREELENCING_TALL_PEOPLE: StockPhoto[] = []\n\n/** `freelencing` (vertical, min_height 900), the same picture; key `aeb056269f4c83fff44bc71068a085a67f501a4639625370b0045f8675fc5a16`, answered 2026-10-18T19:46:33.335Z. */\nexport const FREELENCING_TALL: StockPhoto[] = []\n\n/** `story` (vertical, min_height 900, category people), the same picture; key `b260f8d7f9c430236d7443b0cecdbc0a613f5b8ae7c7cfd0c6c54ab0900e5075`, answered 2026-10-18T19:46:33.653Z. */\nexport const STORY_PEOPLE: StockPhoto[] = [\n hit(6840320, 894, 1280, 'girl-magic-space-architecture-6840320', 'girl, magic, space, architecture, digital art, art, story'),\n hit(3715695, 1081, 1280, 'daughter-red-rain-girl-fashion-3715695', 'daughter, red, rain, girl, fashion, nature, story'),\n hit(2974363, 857, 1280, 'prince-boy-kids-magic-crown-2974363', 'prince, boy, kids, magic, crown, a cute baby, story, elf, portrait, sight, prince, prince, prince, prince, prince'),\n hit(4367341, 853, 1280, 'princess-historical-fairy-tale-4367341', 'princess, historical, fairy tale, fantasy, fairy, crown, magic, conjure up, female, woman, portrait, mystical, story, princess, princess, princess, princess, princess, crown, crown'),\n hit(5283552, 850, 1280, 'angel-wings-fantasy-horns-sukub-5283552', 'angel, wings, fantasy, horns, sukub, fallen angel, story, wing, young woman, mystical, mystic, magic, daemon, good'),\n hit(7362364, 837, 1280, 'woman-cosplay-crown-kokoshnik-7362364', 'woman, cosplay, crown, kokoshnik, witch, svarog, magician, scull, horns, damage, shrew, sorceress, enchantress, story, magic, fantasy, cosplay, crown, crown, crown'),\n hit(7755278, 837, 1280, 'madder-kokoshnik-woman-story-7755278', 'madder, kokoshnik, woman, story, mystic, fantasy, mythology, goddess, slavic, character, nature, costume, image, rite, crown, cosplay, goddess of death'),\n hit(5344381, 855, 1280, 'young-woman-forest-story-beauty-5344381', 'young woman, forest, story, beauty, nature, mood'),\n hit(4747076, 1024, 1280, 'young-woman-forest-deer-fantasy-4747076', 'young woman, forest, deer, fantasy, story, photoshop, nature, photo montage, surreal, fantastic, smoke, mystic, magic, sveta, dream'),\n hit(7362362, 853, 1280, 'woman-cosplay-crown-kokoshnik-7362362', 'woman, cosplay, crown, kokoshnik, witch, svarog, magician, scull, horns, damage, shrew, sorceress, enchantress, story, magic, fantasy, cosplay, crown, witch, witch'),\n hit(3172580, 1096, 1280, 'stone-door-old-wall-arch-3172580', 'stone, door, old, wall, arch, young woman, magic, story, fantasy, art, illustration, middle ages, magic, illustration, illustration, illustration, illustration, illustration'),\n hit(7359398, 876, 1280, 'woman-book-read-reading-study-7359398', 'woman, book, read, reading, study, girl, hobby, novel, bench, story, literature, reader, leisure, rocker'),\n hit(5344382, 855, 1280, 'young-woman-forest-story-trees-5344382', 'young woman, forest, story, nature, trees, beauty, mood, landscape'),\n hit(5344383, 855, 1280, 'young-woman-forest-light-story-5344383', 'young woman, forest, nature, light, story, trees, mood'),\n hit(6857724, 851, 1280, 'elf-cosplay-fantasy-the-enchantress-6857724', 'elf, cosplay, fantasy, the enchantress, woman, portrait, elves, image, magic, enchantress, ears, gems, sparkle, story, fairytale character, young woman, nimbus, holy, cosplay, cosplay'),\n hit(8533942, 834, 1280, 'woman-fashion-beauty-eastern-8533942', 'woman, fashion, beauty, eastern, gorgeous, arabic, scheherazade, story, cosplay, decorations, dancer, hands, gracefully, portrait, model, pose, dagger, weapon, blade'),\n hit(3172588, 1141, 1280, 'people-art-adult-young-woman-magic-3172588', 'people, art, adult, young woman, magic, story, fantasy, illustration, middle ages, woman'),\n hit(7362361, 1024, 1280, 'woman-cosplay-crown-kokoshnik-7362361', 'woman, cosplay, crown, kokoshnik, witch, svarog, magician, scull, horns, damage, shrew, sorceress, enchantress, story, magic, fantasy, woman, cosplay, cosplay, cosplay'),\n hit(4351441, 853, 1280, 'human-trees-foliage-house-4351441', 'human, trees, foliage, house, pterodactyl, light, man, tree, hike, nature, journey, story, fantasy, photoshop, amazing'),\n hit(7040028, 921, 1280, 'woman-fantasy-story-fiction-girl-7040028', 'woman, fantasy, story, fiction, girl, young, beauty, white dress, lamp, nature, light, forest, stairs, mushroom, magic, fairytale, book cover'),\n hit(7613624, 853, 1280, 'elf-elvish-fantasy-young-woman-7613624', 'elf, elvish, fantasy, young woman, ears, story, magic, folklore, spirit of the forest, character, cosplay, image, mythology, outfit, tolkien, lord of the rings, elves, elf, magic, folklore'),\n hit(5381815, 851, 1280, 'elf-ears-story-magic-fairy-5381815', 'elf, ears, story, magic, fairy, fantasy, elves, pipe, music, tolkien, cosplay, young woman, woman, figure, the flute, elf, fairy, elves, elves, elves'),\n hit(4439625, 855, 1280, 'lighthouse-crystal-girl-ball-moon-4439625', 'lighthouse, crystal, girl, ball, moon, light, sparks, bokeh sky, clouds, fantasy, nature, photoshop, steam, lighting, story'),\n hit(4440401, 853, 1280, 'young-couple-love-story-courtship-4440401', 'young couple, love story, courtship, young, hug, young woman, beauty, portrait, model, person, hair, femininity, fashion, embrace'),\n hit(7613621, 853, 1280, 'elf-elvish-fantasy-young-woman-7613621', 'elf, elvish, fantasy, young woman, ears, story, magic, folklore, spirit of the forest, character, cosplay, image, mythology, outfit, tolkien, lord of the rings, elves'),\n hit(5283548, 881, 1280, 'angel-wings-fantasy-horns-sukub-5283548', 'angel, wings, fantasy, horns, sukub, fallen angel, story, wing, young woman, mystical, mystic, magic, dream, mysterious, mood, fairy tales'),\n hit(8533939, 832, 1280, 'woman-fashion-beauty-eastern-8533939', 'woman, fashion, beauty, eastern, gorgeous, arabic, scheherazade, story, cosplay, exotic, decorations, long hair, dancer, hands, gracefully, portrait, model, pose'),\n hit(5532334, 853, 1280, 'mysterious-mystery-thriller-face-5532334', 'mysterious, mystery, thriller, face, dark, shadows, serious, male, dirt, brave, hero, warrior, soldier, headshot, man, black, white, eyes, story, telling'),\n hit(3877719, 850, 1280, 'autumn-girl-the-apprentice-backpack-3877719', 'autumn, girl, the apprentice, backpack, young woman, model, leaves, nature, story, the park, baby, childhood, backpack, backpack, backpack, backpack, backpack'),\n hit(5381802, 851, 1280, 'elf-ears-story-magic-fairy-5381802', 'elf, ears, story, magic, fairy, fantasy, elves, pipe, music, tolkien, cosplay, young woman, woman, figure'),\n hit(4304019, 854, 1280, 'fantasy-gothic-dark-dream-portrait-4304019', 'fantasy, gothic, dark, dream, portrait, fantasy portrait, female, girl, model, night, lamp, candle, wood, mystery, mysterious, ghost story, atmosphere, composing, book cover, photoshop'),\n hit(4273436, 848, 1280, 'horse-horses-forest-red-hood-4273436', 'horse, horses, forest, red hood, little red riding hood, fairy tale, story teller, fantasy, nature, girl, adventure, woods, enchanted, green forest, green fantasy'),\n hit(5016422, 853, 1280, 'winter-young-woman-model-portrait-5016422', 'winter, young woman, model, nature, portrait, snow, story, smile, holiday, january, cold, woman, forest, christmas tree, cosiness'),\n hit(8533943, 848, 1280, 'woman-fashion-beauty-eastern-8533943', 'woman, fashion, beauty, eastern, gorgeous, arabic, scheherazade, story, cosplay, decorations, dancer, hands, gracefully, portrait, model, pose'),\n hit(8533944, 796, 1280, 'woman-fashion-beauty-eastern-8533944', 'woman, fashion, beauty, eastern, gorgeous, arabic, scheherazade, story, cosplay, decorations, dancer, hands, gracefully, portrait, model, pose, dagger, weapon, blade'),\n hit(8533947, 834, 1280, 'woman-fashion-beauty-eastern-8533947', 'woman, fashion, beauty, eastern, gorgeous, arabic, scheherazade, story, cosplay, decorations, dancer, hands, gracefully, portrait, model, pose, dagger, weapons, blade'),\n hit(8533938, 802, 1280, 'woman-beauty-fashion-eastern-8533938', 'woman, beauty, fashion, eastern, gorgeous, arabic, scheherazade, story, cosplay, thousand and one nights, exotic, decorations, long hair, dancer, graceful'),\n hit(6858089, 851, 1280, 'queen-crown-monarch-cosplay-6858089', 'queen, crown, monarch, cosplay, fantasy, throne, power, woman, image, jewelry, decorations, story, fairytale character, young woman, portrait, drapery, kingdom'),\n hit(5283555, 853, 1280, 'portrait-angel-wings-fantasy-horns-5283555', 'portrait, angel, wings, fantasy, horns, sukub, fallen angel, story, wing, young woman, mystical, mystic, magic'),\n hit(4440380, 853, 1280, 'young-couple-love-story-courtship-4440380', 'young couple, love story, courtship, young, hug, young woman, beauty, portrait, model, person, hair, femininity, fashion, dress, birch'),\n]\n\n/** `small business owner` (vertical, min_height 900), the same picture, widened to the business kind; key `9ee171cee5bff5e5b565e69074a57764babd6283a1da648807f5085444ba8ab2`, answered 2026-10-18T19:46:34.056Z. */\nexport const SMALL_BUSINESS_OWNER_TALL: StockPhoto[] = [\n hit(992643, 850, 1280, 'working-girl-working-woman-young-992643', 'working, girl, working woman, young, people, female, woman, work, happy, person, business, adult, lifestyle, home, woman on computer, woman computer, lady, working, working, working'),\n hit(5964181, 853, 1280, 'dog-girl-love-pet-owner-companion-5964181', 'dog, girl, love, pet, owner, companion, nature, friends, friendship, happy, animal, akita, portrait, pet owner'),\n hit(7308033, 854, 1280, 'woman-dog-walk-pooch-dog-leash-7308033', 'woman, animal, dog, pet, walk, pooch, dog leash, domestic animal'),\n hit(6401957, 854, 1280, 'woman-model-portrait-pose-dog-pet-6401957', 'woman, model, portrait, pose, nature, dog, pet, animal, style, fashion, posing, young woman, girl, modeling, female, woman portrait'),\n hit(7862413, 853, 1280, 'woman-shopping-market-lifestyle-7862413', 'woman, shopping market, lifestyle, marketplace, people, people, people, people, people, people'),\n hit(7172131, 853, 1280, 'ferret-pet-animal-mustelidae-owner-7172131', 'ferret, pet, nature, animal, mustelidae, owner, hug, domestic, closeup'),\n hit(2586356, 851, 1280, 'people-girl-woman-dog-puppy-pet-2586356', 'people, girl, woman, nature, dog, puppy, pet, animal'),\n hit(6032824, 853, 1280, 'woman-dog-playing-playful-bonding-6032824', 'woman, dog, nature, playing, playful, bonding, happiness, pet, animal, girl, pet owner, leisure, fun, happy'),\n hit(2517682, 853, 1280, 'pet-dog-puppy-animal-dog-stare-2517682', 'pet dog, puppy, nature, animal, dog, pet, stare, park, walk, consensus, emotion, snow, gladness, pets, cute'),\n hit(9248858, 851, 1280, 'teen-boy-portrait-cavy-pet-9248858', 'teen, boy, portrait, cavy, pet, darling, master, owner'),\n hit(9248855, 851, 1280, 'teen-boy-portrait-cavy-pet-9248855', 'teen, boy, portrait, cavy, pet, darling, master, owner'),\n hit(8032746, 854, 1280, 'open-sign-signage-window-store-8032746', 'open, sign, signage, window, store, business, small business, green, business, small business, small business, small business, small business, small business'),\n hit(9971558, 853, 1280, 'nature-wildlife-mammal-fauna-fur-9971558', 'nature, wildlife, mammal, fauna, fur, animals, mouse, rodent, cute, mice, harvest mice, seedhead, plant, wheat'),\n hit(8702640, 853, 1280, 'man-dog-pet-animal-canine-fur-8702640', 'man, nature, dog, pet, animal, canine, fur, sitting, owner, boy, tattoo, outdoor, terrace, restaurant, lifestyle, relaxation'),\n hit(8013214, 854, 1280, 'hummingbird-bird-nature-wallpaper-8013214', 'hummingbird, samsung wallpaper, bird, iphone wallpaper, nature, lock screen wallpaper, wallpaper, wildlife, phone wallpaper, mobile wallpaper 4k, ipad wallpaper, beautiful wallpaper, mobile wallpaper, animal'),\n hit(9846388, 853, 1280, 'fennec-fox-fennec-fox-africa-9846388', 'fennec fox, fennec, fox, africa, animal, wildlife, nature, mammal'),\n hit(8781844, 853, 1280, 'dog-puppy-pooch-domestic-animal-8781844', 'dog, puppy, pooch, domestic animal, animal, pet, cute, nature'),\n hit(4051412, 853, 1280, 'bird-perched-animal-feathers-4051412', 'bird, perched, animal, feathers, plumage, beak, bill, bird watching, ornithology, animal world, nature, bird, bird, bird, bird, bird'),\n hit(8496039, 853, 1280, 'wren-bird-animal-nature-wildlife-8496039', 'wren, bird, animal, nature, wildlife, songbird, ornithology, bird watching, bird, bird, bird, bird, bird, animal, nature'),\n hit(6027672, 853, 1280, 'man-dog-drink-drinking-6027672', 'man, dog, drink, drinking, drinking water, pet, owner, canine, landscape, desert, nature, travel, traveling, sand, animal, refreshment'),\n hit(1281284, 1052, 1280, 'elder-man-dogs-puppy-man-senior-1281284', 'elder man, dogs, puppy, man, senior, nature, old, elderly, retired, people, pet, person, animal, love, aged, older, care, happy, calm, human'),\n hit(9830647, 958, 1280, 'small-copper-butterfly-insect-9830647', 'small copper, butterfly, insect, nature, pollinator, entomology, pollinate, lepidoptera'),\n hit(10021805, 939, 1280, 'brown-breasted-nun-gorgeous-finch-10021805', 'brown-breasted nun, gorgeous finch, songbird, sperling, bronze men, bird, sparrow bird, bird watching, plumage, nature, animal'),\n hit(8024809, 853, 1280, 'blue-tit-nuthatch-bird-animal-8024809', 'blue tit, nuthatch, bird, animal, wildlife, plumage, branch, perched, nature, birdwatching, wildlife photography, nature photography, bird photography, nature, nature, nature, nature, nature'),\n hit(10260310, 853, 1280, 'kitten-feline-pet-portrait-fur-10260310', 'kitten, feline, pet, portrait, fur, mackerel, tabby, charming, woman, glasses, closeness, cozy, coat, young, domestic animal, cat, cuddly, contact, animal, home'),\n hit(9617024, 854, 1280, 'sparrow-branch-springtime-nature-9617024', 'sparrow, mobile wallpaper 4k, branch, springtime, iphone wallpaper, lock screen wallpaper, nature, birdwatching, soft colors, cherry blossom, ipad wallpaper, wildlife photography, mobile wallpaper, tranquility, beautiful wallpaper, phone wallpaper, small birds, urban nature, avian, wallpaper'),\n hit(4997202, 960, 1280, 'if-you-ski-super-ski-pet-dog-puppy-4997202', 'if you, ski super ski, pet dog, puppy, pet, dog, consensus, walk, cute, animal, emotion, park, jindo dog, new man, laugh, preciousness, dang stuck, nature, happiness, pets'),\n hit(3824672, 877, 1280, 'animal-baby-bird-born-child-cute-3824672', 'animal, baby, bird, born, child, cute, duck, duckling, ducklings, ducky, farm, feathers, fluff, fluffy, fun, funny, grass, green, little, nature'),\n hit(10022157, 853, 1280, 'eurasian-wren-bird-bird-photography-10022157', 'eurasian wren, bird, bird photography, ornithology, spring, songbird, hd background, garden, bird watching, animal, wildlife, feathered animal, forest, nature, chirp, tweet, chirrup, forest-aged tree'),\n hit(9286306, 853, 1280, 'animal-shih-tzu-dog-puppy-cute-9286306', 'animal, shih tzu, dog, puppy, cute, mammal, fur, grass, snout, small, pet, home, race, portrait, nature, fluffy, companion'),\n hit(9643209, 853, 1280, 'cat-kitten-animal-feline-kitty-9643209', 'cat, kitten, animal, feline, kitty, pet, cute, small, nature, whiskers'),\n hit(1551708, 848, 1280, 'leisure-time-leisure-activities-1551708', 'leisure time, leisure activities, dog photography, dog, dog runs, animal, nature, fun, dog human, dog with human, comrade, plays, action, dog plays, dogs portrait, portrait, man dog, dog with man, forest, walk'),\n hit(8666099, 853, 1280, 'bird-winged-pen-animal-fauna-wild-8666099', 'bird, winged, pen, animal, fauna, wild, nature, little bird, small bird, sparrow-like, sparrow bird, gray, bird, bird, bird, bird, bird'),\n hit(817371, 888, 1280, 'child-running-children-girl-happy-817371', 'child, running, children, girl, happy, people, nature, female, kids, person, happiness, summer, outdoors, pet'),\n hit(10180402, 853, 1280, 'frog-tree-frog-small-frog-amphibian-10180402', 'frog, tree frog, small frog, amphibian, tropical frog, terrarium, frog on branch, wildlife, animal close-up, amphibian skin, exotic animal, zoo animal, nature detail, macro wildlife, frog portrait, rainforest animal, small animal, indoor habitat, green leaves, camouflage'),\n hit(4912213, 853, 1280, 'cat-kitten-british-pet-kitty-4912213', 'cat, kitten, british, pet, kitty, animal, feline, sweet, fur, domestic, nature, young, adorable, playful, small, funny, furry, pets, portrait, curious'),\n hit(4906211, 857, 1280, 'shaoxing-watertown-small-river-4906211', 'shaoxing, watertown, small river, scenery, small town, shaoxing, shaoxing, shaoxing, shaoxing, shaoxing'),\n hit(1851108, 904, 1280, 'terrier-dog-puppy-animal-breed-1851108', 'terrier, dog, puppy, animal, nature, breed, canine, adorable, cute, domestic, fur, grass, little, mammal, pedigree, pet, portrait, purebred, furry'),\n hit(9432600, 1097, 1280, 'bird-animal-wildlife-avian-9432600', 'bird, animal, wildlife, avian, nature, hyderabad, india, zoo'),\n hit(4906607, 853, 1280, 'veterinarian-examination-dog-4906607', 'veterinarian, examination dog, ambulance, clinic, pets, dog, health, nature, prevention, animal, diagnosis, dog diseases, vaccination, care, pet, treatment, petcare'),\n]\n"],"names":["hit","id","width","height","slug","tags","extension","provider","String","pageUrl","photographer","split","downloadUrl","FREELENCING_HERO","SMALL_BUSINESS_OWNER_HERO","FREELENCING_STORY_PEOPLE","FREELENCING_TALL_PEOPLE","FREELENCING_TALL","STORY_PEOPLE","SMALL_BUSINESS_OWNER_TALL"],"mappings":"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"}
@@ -23,7 +23,7 @@ import { aiPageScrollInteraction } from "../runtime/ai-page-links.js";
23
23
  import { aiLayoutFitText, aiLayoutQuoteGap, aiLayoutWords } from "./ai-layout-copy.js";
24
24
  import { AI_LAYOUT_GROUP_KINDS, AI_LAYOUT_MAX_ITEMS } from "./ai-layout-language.js";
25
25
  import { aiLayoutDesignChoices, aiLayoutFamily, aiLayoutGroupVariant } from "./ai-layout-design.js";
26
- import { AI_LAYOUT_FEATURED_RECORDS, AI_LAYOUT_LISTING_ELEMENTS, aiLayoutIsRecordImageAlt, aiLayoutListingAt, aiLayoutRecordHref, aiLayoutRecordImageAltField } from "./ai-layout-listings.js";
26
+ import { AI_LAYOUT_FEATURED_RECORDS, AI_LAYOUT_LISTING_ELEMENTS, aiLayoutIsRecordImageAlt, aiLayoutListingAt, aiLayoutRecordHref, aiLayoutRecordImageAltField, aiLayoutRepeatFilterOf } from "./ai-layout-listings.js";
27
27
  import { aiStorefrontItemIcons } from "./ai-layout-storefront.js";
28
28
  import { AI_LAYOUT_LABELS_EN, aiLayoutLabel } from "./ai-layout-labels.js";
29
29
  import { aiLayoutRenamedLabel, aiLayoutResolveLink } from "./ai-layout-links.js";
@@ -57,10 +57,15 @@ const componentOf = (targets, id)=>{
57
57
  /**
58
58
  * The section of this page that places a form: one whose plan places one, or
59
59
  * whose design places one by its id.
60
- */ function formSectionOf(sections, plan, targets) {
60
+ */ /** Whether the site's form lives on another page of the site than this one. */ function formLivesElsewhere(targets) {
61
+ return !!targets.formPageId && targets.formPageId !== targets.pageId;
62
+ }
63
+ function formSectionOf(sections, plan, targets) {
61
64
  const forms = formIdsOf(targets);
62
65
  const planned = plan.sections.findIndex((section)=>section.uses.some((ref)=>forms.has(ref)));
63
66
  if (planned !== -1) return planned;
67
+ // A form drawn on a page it does not live on becomes a button to its page (AGL-3899).
68
+ if (formLivesElsewhere(targets)) return null;
64
69
  const designed = sections.findIndex((section)=>section.blocks.some((block)=>block.kind === 'form' && (!block.to || forms.has(block.to))));
65
70
  return designed === -1 ? null : designed;
66
71
  }
@@ -456,6 +461,31 @@ function compileSection(page, raw, index) {
456
461
  ]
457
462
  } : {}));
458
463
  const lastCol = raw.cols && raw.cols.length >= 2 ? raw.cols.length - 1 : undefined;
464
+ // A form the design drew where the plan places none, on a page the form
465
+ // does not live on, is that page's way to it (AGL-3899): a button to the
466
+ // page that holds the form, never a second copy of the form.
467
+ if (!plannedForms.length && formLivesElsewhere(page.targets)) {
468
+ const at0 = blocks.findIndex((block)=>block.kind === 'form');
469
+ if (at0 !== -1) {
470
+ const asks = blocks.some((block)=>block.kind === 'button' && (block.to === 'form' || block.to === `page:${page.targets.formPageId}`));
471
+ const col = blocks[at0].col;
472
+ const kept = blocks.filter((block)=>block.kind !== 'form');
473
+ if (!asks) {
474
+ kept.splice(at0, 0, _extends({
475
+ kind: 'button',
476
+ text: aiLayoutLabel('getInTouch', page.options.language),
477
+ to: 'form'
478
+ }, col !== undefined ? {
479
+ col
480
+ } : {}));
481
+ }
482
+ blocks.splice(0, blocks.length, ...kept);
483
+ page.settled.push({
484
+ at,
485
+ what: 'a form on a page it does not live on; a button to its page instead'
486
+ });
487
+ }
488
+ }
459
489
  for (const block of blocks){
460
490
  var _block_items;
461
491
  if (block.kind === 'form' && !(block.to && forms.has(block.to))) {
@@ -1071,7 +1101,10 @@ function group(scope, block, room) {
1071
1101
  // columns (AGL-3676): the beta.237 Willow Wick home, on a paid plan, drew
1072
1102
  // every other group compact — four bands of a title and a sentence.
1073
1103
  const variant = design && block.kind === 'cards' && block.style !== 'quiet' ? aiLayoutGroupVariant(design.input, design.choices, (_scope_words = scope.words) != null ? _scope_words : '') : null;
1074
- if (variant === 'icons') return iconColumns(scope, items, room);
1104
+ // Icon columns side by side, where rule 1 knows them by their cells; any
1105
+ // site's groups may take them (AGL-3899), and one to a row outside a
1106
+ // store they are drawn compact.
1107
+ if (variant === 'icons' && (retail || perRow > 1)) return iconColumns(scope, items, room);
1075
1108
  const pictured = (variant === 'pictures' || variant === 'articles') && room === 'full' && picturesLeft(scope.page) >= items.length;
1076
1109
  return pictured && designedGroup(scope, variant, items, room) || compactGroup(scope, block, items, perRow);
1077
1110
  }
@@ -2050,7 +2083,7 @@ function listingSection(scope, blocks, placed) {
2050
2083
  var _ref;
2051
2084
  var _page_plan_sections_index_name, _page_plan_sections_index, _page_options_sectionIds;
2052
2085
  const { page, index, at } = scope;
2053
- const { listing, role } = placed;
2086
+ const { listing, role, filter } = placed;
2054
2087
  if (listing.kind === 'reviews') return reviewsSection(scope, blocks);
2055
2088
  if (listing.kind === 'signup') return signupSection(scope, blocks);
2056
2089
  // The grid straight under a Shop page's title bar opens on the products:
@@ -2111,7 +2144,7 @@ function listingSection(scope, blocks, placed) {
2111
2144
  }
2112
2145
  }
2113
2146
  ], '3', 'flex-end') : head;
2114
- const records = listingElement(scope, listing, role);
2147
+ const records = listingElement(scope, listing, role, filter);
2115
2148
  const parts = [
2116
2149
  top ? centered ? tree.add('muiContainer', {
2117
2150
  maxWidth: 'md',
@@ -2414,7 +2447,7 @@ function listingSection(scope, blocks, placed) {
2414
2447
  * The element that lists the records, bound to them: the Product grid over
2415
2448
  * the site's catalog, or Collection Entries over its blog with one post's
2416
2449
  * card as the template it repeats. Its records count as the section's items.
2417
- */ function listingElement(scope, listing, role) {
2450
+ */ function listingElement(scope, listing, role, filter) {
2418
2451
  const { page } = scope;
2419
2452
  const tree = page.tree;
2420
2453
  const featured = role === 'featured';
@@ -2478,14 +2511,16 @@ function listingSection(scope, blocks, placed) {
2478
2511
  emptyActionHref: listing.emptyAction.href
2479
2512
  } : {}), null, null, 'products');
2480
2513
  } else if (listing.kind === 'records') {
2481
- id = recordsElement(scope, listing, featured ? shown : null);
2514
+ id = recordsElement(scope, listing, featured ? shown : null, filter);
2482
2515
  } else {
2483
2516
  id = postsElement(scope, listing, featured ? shown : COLLECTION_INDEX_POSTS);
2484
2517
  }
2485
- // What a visitor sees here is the site's records, however many it keeps:
2486
- // the section shows its planned items when it has any to show.
2518
+ // What a visitor sees here is the site's records, however many it keeps —
2519
+ // a section named for one group, that group's (AGL-3921): the section shows
2520
+ // its planned items when it has any to show.
2521
+ const listed = (filter == null ? void 0 : filter.records.length) ? filter.records.length : listing.records.length;
2487
2522
  noted(scope, Array.from({
2488
- length: Math.max(2, Math.min(shown, listing.records.length))
2523
+ length: Math.max(2, Math.min(shown, listed))
2489
2524
  }, ()=>id));
2490
2525
  return id;
2491
2526
  }
@@ -2629,7 +2664,7 @@ function listingSection(scope, blocks, placed) {
2629
2664
  * record's name, as the design's own picture cards do (AGL-3717) — so a list
2630
2665
  * of pieces stays the image-led gallery it was before it was a dataset.
2631
2666
  * A featured band shows the first few; a page of its own, every record.
2632
- */ function recordsElement(scope, listing, limit) {
2667
+ */ function recordsElement(scope, listing, limit, filter) {
2633
2668
  var _listing_fields, _listing_fields1;
2634
2669
  var _page_design;
2635
2670
  const { page } = scope;
@@ -2685,7 +2720,7 @@ function listingSection(scope, blocks, placed) {
2685
2720
  }, null, 'recordLink') : null;
2686
2721
  page.settled.push({
2687
2722
  at: scope.at,
2688
- what: `${listing.name} listed from its dataset${questions ? ' as a ruled list' : picture ? ' as picture cards' : ' as cards'}${recordHref ? `, each linking its page under /${listing.recordBase}` : ''}`
2723
+ what: `${listing.name} listed from its dataset${questions ? ' as a ruled list' : picture ? ' as picture cards' : ' as cards'}${recordHref ? `, each linking its page under /${listing.recordBase}` : ''}${filter ? `, only those filed “${filter.value}”` : ''}`
2689
2724
  });
2690
2725
  const card = questions ? tree.add('muiStack', {
2691
2726
  spacing: '1'
@@ -2711,6 +2746,8 @@ function listingSection(scope, blocks, placed) {
2711
2746
  repeatDataset: listing.datasetId
2712
2747
  }, limit ? {
2713
2748
  repeatLimit: String(limit)
2749
+ } : {}, filter ? {
2750
+ repeatFilter: aiLayoutRepeatFilterOf(filter)
2714
2751
  } : {}), questions ? {
2715
2752
  display: 'grid',
2716
2753
  gap: 3