@screenly/edge-apps 0.0.1

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 (46) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +191 -0
  3. package/bin/edge-apps-scripts.ts +9 -0
  4. package/configs/playwright.ts +44 -0
  5. package/eslint.config.ts +43 -0
  6. package/package.json +111 -0
  7. package/scripts/cli.ts +293 -0
  8. package/scripts/copy-assets.ts +26 -0
  9. package/scripts/cors-proxy-server.ts +154 -0
  10. package/scripts/create.ts +118 -0
  11. package/src/assets/fonts/Inter-Medium.woff2 +0 -0
  12. package/src/assets/fonts/Inter-Regular.woff2 +0 -0
  13. package/src/assets/fonts/Inter-SemiBold.woff2 +0 -0
  14. package/src/assets/images/icons/chancesleet.svg +4 -0
  15. package/src/assets/images/icons/clear-night.svg +5 -0
  16. package/src/assets/images/icons/clear.svg +11 -0
  17. package/src/assets/images/icons/cloudy.svg +4 -0
  18. package/src/assets/images/icons/drizzle.svg +5 -0
  19. package/src/assets/images/icons/fewdrops.svg +4 -0
  20. package/src/assets/images/icons/fog.svg +6 -0
  21. package/src/assets/images/icons/haze.svg +6 -0
  22. package/src/assets/images/icons/mostly-cloudy-night.svg +7 -0
  23. package/src/assets/images/icons/mostly-cloudy.svg +13 -0
  24. package/src/assets/images/icons/partially-cloudy-night.svg +6 -0
  25. package/src/assets/images/icons/partially-cloudy.svg +12 -0
  26. package/src/assets/images/icons/partlysunny.svg +6 -0
  27. package/src/assets/images/icons/rain-night.svg +8 -0
  28. package/src/assets/images/icons/rainy.svg +6 -0
  29. package/src/assets/images/icons/sleet-night.svg +14 -0
  30. package/src/assets/images/icons/sleet.svg +4 -0
  31. package/src/assets/images/icons/snow.svg +19 -0
  32. package/src/assets/images/icons/thunderstorm-night.svg +9 -0
  33. package/src/assets/images/icons/thunderstorm.svg +7 -0
  34. package/src/assets/images/icons/windy.svg +6 -0
  35. package/src/assets/images/screenly.svg +10 -0
  36. package/src/styles/base/fonts.css +30 -0
  37. package/src/styles/base/index.css +7 -0
  38. package/src/styles/base/reset.css +37 -0
  39. package/src/styles/calendar-app.css +52 -0
  40. package/src/styles/index.css +10 -0
  41. package/src/styles/tokens/colors.css +4 -0
  42. package/src/styles/tokens/index.css +10 -0
  43. package/src/styles/tokens/shadows.css +8 -0
  44. package/src/styles/tokens/spacing.css +6 -0
  45. package/src/styles/tokens/typography.css +9 -0
  46. package/src/styles/tokens/z-index.css +12 -0
@@ -0,0 +1,13 @@
1
+ <svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M48 74V80" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
3
+ <path d="M35.2725 68.7285L31.0298 72.9712" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
4
+ <path d="M30 56H24" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
5
+ <path d="M35.2725 43.2715L31.0298 39.0288" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
6
+ <path d="M48 38V32" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
7
+ <path d="M60.7275 43.2715L64.9702 39.0288" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
8
+ <path d="M66 56H72" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
9
+ <path d="M60.7275 68.7285L64.9702 72.9712" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
10
+ <path d="M48 66C53.5228 66 58 61.5228 58 56C58 50.4772 53.5228 46 48 46C42.4772 46 38 50.4772 38 56C38 61.5228 42.4772 66 48 66Z" fill="#FFA500" stroke="#FFA500" stroke-width="4"/>
11
+ <path d="M85.0401 58.68C85.0401 53.16 80.6001 48.84 75.2001 48.84C74.0001 48.84 72.9201 49.08 71.8401 49.44C71.4801 45.36 68.1201 42 63.9201 42C59.4801 42 55.8801 45.6 55.8801 50.04C55.8801 51 56.1201 51.96 56.3601 52.8C56.0001 52.68 55.5201 52.68 55.1601 52.68C50.7201 52.68 47.1201 56.28 47.1201 60.72C47.1201 65.04 50.6001 68.64 54.9201 68.76H75.5601C80.8401 68.16 85.0401 63.96 85.0401 58.68Z" fill="white" stroke="white" stroke-width="1.44" stroke-linejoin="round"/>
12
+ <path d="M103.2 81.0002C103.2 71.8002 95.8 64.6002 86.8 64.6002C84.8 64.6002 83 65.0002 81.2 65.6002C80.6 58.8002 75 53.2002 68 53.2002C60.6 53.2002 54.6 59.2002 54.6 66.6002C54.6 68.2002 55 69.8002 55.4 71.2002C54.8 71.0002 54 71.0002 53.4 71.0002C46 71.0002 40 77.0002 40 84.4002C40 91.6002 45.8 97.6002 53 97.8002H87.4C96.2 96.8002 103.2 89.8002 103.2 81.0002Z" fill="white" stroke="white" stroke-width="2.4" stroke-linejoin="round"/>
13
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M77.2804 30.4004L78.4004 32.3204L80.3204 33.2804L78.4004 34.4004L77.2804 36.3204L76.3204 34.4004L74.4004 33.2804L76.3204 32.3204L77.2804 30.4004Z" fill="#FFA500"/>
3
+ <path d="M109.28 46.4004L110.4 48.3204L112.32 49.2804L110.4 50.4004L109.28 52.3204L108.32 50.4004L106.4 49.2804L108.32 48.3204L109.28 46.4004Z" fill="#FFA500"/>
4
+ <path d="M95.2002 49.1211C95.2002 43.2011 98.4002 38.0811 103.2 35.2011C100.8 33.7611 98.0802 33.1211 95.2002 33.1211C86.4002 33.1211 79.2002 40.3211 79.2002 49.1211C79.2002 57.9211 86.4002 65.1211 95.2002 65.1211C98.0802 65.1211 100.8 64.3211 103.2 63.0411C98.4002 60.3211 95.2002 55.0411 95.2002 49.1211Z" fill="#FFA500" stroke="#FFA500" stroke-width="3.2" stroke-linejoin="round"/>
5
+ <path d="M95.4002 68.8C95.4002 59.6 88.0002 52.4 79.0002 52.4C77.0002 52.4 75.2002 52.8 73.4002 53.4C72.8002 46.6 67.2002 41 60.2002 41C52.8002 41 46.8002 47 46.8002 54.4C46.8002 56 47.2002 57.6 47.6002 59C47.0002 58.8 46.2002 58.8 45.6002 58.8C38.2002 58.8 32.2002 64.8 32.2002 72.2C32.2002 79.4 38.0002 85.4 45.2002 85.6H79.6002C88.4002 84.6 95.4002 77.6 95.4002 68.8Z" fill="white" stroke="white" stroke-width="2.4" stroke-linejoin="round"/>
6
+ </svg>
@@ -0,0 +1,12 @@
1
+ <svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M40 70V76" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
3
+ <path d="M27.2725 64.7285L23.0298 68.9712" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
4
+ <path d="M22 52H16" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
5
+ <path d="M27.2725 39.2715L23.0298 35.0288" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
6
+ <path d="M40 34V28" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
7
+ <path d="M52.7275 39.2715L56.9702 35.0288" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
8
+ <path d="M58 52H64" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
9
+ <path d="M52.7275 64.7285L56.9702 68.9712" stroke="#FFA500" stroke-width="4" stroke-linecap="round"/>
10
+ <path d="M40 62C45.5228 62 50 57.5228 50 52C50 46.4772 45.5228 42 40 42C34.4772 42 30 46.4772 30 52C30 57.5228 34.4772 62 40 62Z" fill="#FFA500" stroke="#FFA500" stroke-width="4"/>
11
+ <path d="M95.4002 68.8C95.4002 59.6 88.0002 52.4 79.0002 52.4C77.0002 52.4 75.2002 52.8 73.4002 53.4C72.8002 46.6 67.2002 41 60.2002 41C52.8002 41 46.8002 47 46.8002 54.4C46.8002 56 47.2002 57.6 47.6002 59C47.0002 58.8 46.2002 58.8 45.6002 58.8C38.2002 58.8 32.2002 64.8 32.2002 72.2C32.2002 79.4 38.0002 85.4 45.2002 85.6H79.6002C88.4002 84.6 95.4002 77.6 95.4002 68.8Z" fill="white" stroke="white" stroke-width="2.4" stroke-linejoin="round"/>
12
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M77.2804 30.4004L78.4004 32.3204L80.3204 33.2804L78.4004 34.4004L77.2804 36.3204L76.3204 34.4004L74.4004 33.2804L76.3204 32.3204L77.2804 30.4004Z" fill="#FFA500"/>
3
+ <path d="M109.28 46.4004L110.4 48.3204L112.32 49.2804L110.4 50.4004L109.28 52.3204L108.32 50.4004L106.4 49.2804L108.32 48.3204L109.28 46.4004Z" fill="#FFA500"/>
4
+ <path d="M95.2002 49.1211C95.2002 43.2011 98.4002 38.0811 103.2 35.2011C100.8 33.7611 98.0802 33.1211 95.2002 33.1211C86.4002 33.1211 79.2002 40.3211 79.2002 49.1211C79.2002 57.9211 86.4002 65.1211 95.2002 65.1211C98.0802 65.1211 100.8 64.3211 103.2 63.0411C98.4002 60.3211 95.2002 55.0411 95.2002 49.1211Z" fill="#FFA500" stroke="#FFA500" stroke-width="3.2" stroke-linejoin="round"/>
5
+ <path d="M95.4002 68.8C95.4002 59.6 88.0002 52.4 79.0002 52.4C77.0002 52.4 75.2002 52.8 73.4002 53.4C72.8002 46.6 67.2002 41 60.2002 41C52.8002 41 46.8002 47 46.8002 54.4C46.8002 56 47.2002 57.6 47.6002 59C47.0002 58.8 46.2002 58.8 45.6002 58.8C38.2002 58.8 32.2002 64.8 32.2002 72.2C32.2002 79.4 38.0002 85.4 45.2002 85.6H79.6002C88.4002 84.6 95.4002 77.6 95.4002 68.8Z" fill="white" stroke="white" stroke-width="2.4" stroke-linejoin="round"/>
6
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M77.2804 30.3999L78.4004 32.3199L80.3204 33.2799L78.4004 34.3999L77.2804 36.3199L76.3204 34.3999L74.4004 33.2799L76.3204 32.3199L77.2804 30.3999Z" fill="#FFA500"/>
3
+ <path d="M109.28 46.3999L110.4 48.3199L112.32 49.2799L110.4 50.3999L109.28 52.3199L108.32 50.3999L106.4 49.2799L108.32 48.3199L109.28 46.3999Z" fill="#FFA500"/>
4
+ <path d="M95.2002 49.1201C95.2002 43.2001 98.4002 38.0801 103.2 35.2001C100.8 33.7601 98.0802 33.1201 95.2002 33.1201C86.4002 33.1201 79.2002 40.3201 79.2002 49.1201C79.2002 57.9201 86.4002 65.1201 95.2002 65.1201C98.0802 65.1201 100.8 64.3201 103.2 63.0401C98.4002 60.3201 95.2002 55.0401 95.2002 49.1201Z" fill="#FFA500" stroke="#FFA500" stroke-width="3.2" stroke-linejoin="round"/>
5
+ <path d="M95.4002 68.8C95.4002 59.6 88.0002 52.4 79.0002 52.4C77.0002 52.4 75.2002 52.8 73.4002 53.4C72.8002 46.6 67.2002 41 60.2002 41C52.8002 41 46.8002 47 46.8002 54.4C46.8002 56 47.2002 57.6 47.6002 59C47.0002 58.8 46.2002 58.8 45.6002 58.8C38.2002 58.8 32.2002 64.8 32.2002 72.2C32.2002 79.4 38.0002 85.4 45.2002 85.6H79.6002C88.4002 84.6 95.4002 77.6 95.4002 68.8Z" fill="white" stroke="white" stroke-width="2.4" stroke-linejoin="round"/>
6
+ <path d="M56.7783 91.9395L53.9999 107.696" stroke="white" stroke-width="4" stroke-linecap="round" stroke-dasharray="8 14"/>
7
+ <path d="M69.29 90.084L66.5117 105.841" stroke="white" stroke-width="4" stroke-linecap="round" stroke-dasharray="8 14"/>
8
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg width="112" height="112" viewBox="0 0 112 112" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M87.4002 49.0002C87.4002 39.8002 80.0002 32.6002 71.0002 32.6002C69.0002 32.6002 67.2002 33.0002 65.4002 33.6002C64.8002 26.8002 59.2002 21.2002 52.2002 21.2002C44.8002 21.2002 38.8002 27.2002 38.8002 34.6002C38.8002 36.2002 39.2002 37.8002 39.6002 39.2002C39.0002 39.0002 38.2002 39.0002 37.6002 39.0002C30.2002 39.0002 24.2002 45.0002 24.2002 52.4002C24.2002 59.6002 30.0002 65.6002 37.2002 65.8002H71.6002C80.4002 64.8002 87.4002 57.8002 87.4002 49.0002Z" fill="white" stroke="white" stroke-width="2.4" stroke-linejoin="round"/>
3
+ <path d="M45.7744 72.7803L42.996 88.5372" stroke="white" stroke-width="4" stroke-linecap="round" stroke-dasharray="8 8"/>
4
+ <path d="M54.3477 70.2305L51.5693 85.9874" stroke="white" stroke-width="4" stroke-linecap="round" stroke-dasharray="8 8"/>
5
+ <path d="M61.8779 73.5889L59.0996 89.3458" stroke="white" stroke-width="4" stroke-linecap="round" stroke-dasharray="8 8"/>
6
+ </svg>
@@ -0,0 +1,14 @@
1
+ <svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M34.54 15L35.1 15.96L36.06 16.44L35.1 17L34.54 17.96L34.06 17L33.1 16.44L34.06 15.96L34.54 15Z" fill="#FFA500"/>
3
+ <path d="M50.54 23L51.1 23.96L52.06 24.44L51.1 25L50.54 25.96L50.06 25L49.1 24.44L50.06 23.96L50.54 23Z" fill="#FFA500"/>
4
+ <path d="M43.5 24.36C43.5 21.4 45.1 18.84 47.5 17.4C46.3 16.68 44.94 16.36 43.5 16.36C39.1 16.36 35.5 19.96 35.5 24.36C35.5 28.76 39.1 32.36 43.5 32.36C44.94 32.36 46.3 31.96 47.5 31.32C45.1 29.96 43.5 27.32 43.5 24.36Z" fill="#FFA500" stroke="#FFA500" stroke-width="1.6" stroke-linejoin="round"/>
5
+ <path d="M42.6 33.9C42.6 29.3 38.9 25.7 34.4 25.7C33.4 25.7 32.5 25.9 31.6 26.2C31.3 22.8 28.5 20 25 20C21.3 20 18.3 23 18.3 26.7C18.3 27.5 18.5 28.3 18.7 29C18.4 28.9 18 28.9 17.7 28.9C14 28.9 11 31.9 11 35.6C11 39.2 13.9 42.2 17.5 42.3H34.7C39.1 41.8 42.6 38.3 42.6 33.9Z" fill="white" stroke="white" stroke-width="1.2" stroke-linejoin="round"/>
6
+ <path d="M21.9 44V49" stroke="white" stroke-width="1.2" stroke-linecap="round"/>
7
+ <path d="M23.6678 44.7322L20.1323 48.2678" stroke="white" stroke-linecap="round"/>
8
+ <path d="M24.4 46.5H19.4" stroke="white" stroke-linecap="round"/>
9
+ <path d="M23.6678 48.2678L20.1323 44.7322" stroke="white" stroke-linecap="round"/>
10
+ <path d="M30.9 44V49" stroke="white" stroke-width="1.2" stroke-linecap="round"/>
11
+ <path d="M32.6678 44.7322L29.1323 48.2678" stroke="white" stroke-linecap="round"/>
12
+ <path d="M33.4 46.5H28.4" stroke="white" stroke-linecap="round"/>
13
+ <path d="M32.6678 48.2678L29.1323 44.7322" stroke="white" stroke-linecap="round"/>
14
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M95.4002 68.8C95.4002 59.6 88.0002 52.4 79.0002 52.4C77.0002 52.4 75.2002 52.8 73.4002 53.4C72.8002 46.6 67.2002 41 60.2002 41C52.8002 41 46.8002 47 46.8002 54.4C46.8002 56 47.2002 57.6 47.6002 59C47.0002 58.8 46.2002 58.8 45.6002 58.8C38.2002 58.8 32.2002 64.8 32.2002 72.2C32.2002 79.4 38.0002 85.4 45.2002 85.6H79.6002C88.4002 84.6 95.4002 77.6 95.4002 68.8Z" fill="white" stroke="white" stroke-width="2.4" stroke-linejoin="round"/>
3
+ <path d="M61.835 89.8857L59.0566 105.643" stroke="white" stroke-width="4" stroke-linecap="round" stroke-dasharray="8 14"/>
4
+ </svg>
@@ -0,0 +1,19 @@
1
+ <svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M95.2 53.8C95.2 44.6 87.8 37.4 78.8 37.4C76.8 37.4 75 37.8 73.2 38.4C72.6 31.6 67 26 60 26C52.6 26 46.6 32 46.6 39.4C46.6 41 47 42.6 47.4 44C46.8 43.8 46 43.8 45.4 43.8C38 43.8 32 49.8 32 57.2C32 64.4 37.8 70.4 45 70.6H79.4C88.2 69.6 95.2 62.6 95.2 53.8Z" fill="white" stroke="white" stroke-width="2.4" stroke-linejoin="round"/>
3
+ <path d="M61.7998 74V84" stroke="white" stroke-width="2.4" stroke-linecap="round"/>
4
+ <path d="M65.335 75.4644L58.2639 82.5354" stroke="white" stroke-width="2" stroke-linecap="round"/>
5
+ <path d="M66.7998 79H56.7998" stroke="white" stroke-width="2" stroke-linecap="round"/>
6
+ <path d="M65.335 82.5356L58.2639 75.4646" stroke="white" stroke-width="2" stroke-linecap="round"/>
7
+ <path d="M80.7998 83V93" stroke="white" stroke-width="2.4" stroke-linecap="round"/>
8
+ <path d="M84.335 84.4644L77.2639 91.5354" stroke="white" stroke-width="2" stroke-linecap="round"/>
9
+ <path d="M85.7998 88H75.7998" stroke="white" stroke-width="2" stroke-linecap="round"/>
10
+ <path d="M84.335 91.5356L77.2639 84.4646" stroke="white" stroke-width="2" stroke-linecap="round"/>
11
+ <path d="M56.7998 93V103" stroke="white" stroke-width="2.4" stroke-linecap="round"/>
12
+ <path d="M60.335 94.4644L53.2639 101.535" stroke="white" stroke-width="2" stroke-linecap="round"/>
13
+ <path d="M61.7998 98H51.7998" stroke="white" stroke-width="2" stroke-linecap="round"/>
14
+ <path d="M60.335 101.536L53.2639 94.4646" stroke="white" stroke-width="2" stroke-linecap="round"/>
15
+ <path d="M40.7998 77V87" stroke="white" stroke-width="2.4" stroke-linecap="round"/>
16
+ <path d="M44.335 78.4644L37.2639 85.5354" stroke="white" stroke-width="2" stroke-linecap="round"/>
17
+ <path d="M45.7998 82H35.7998" stroke="white" stroke-width="2" stroke-linecap="round"/>
18
+ <path d="M44.335 85.5356L37.2639 78.4646" stroke="white" stroke-width="2" stroke-linecap="round"/>
19
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg width="64" height="82" viewBox="0 0 64 82" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M22.3545 10.4052L24.2845 11.508L26.4272 11.3794L25.3245 13.3093L25.3145 15.5321L23.5231 14.3493L21.3004 14.3394L22.4831 12.548L22.3545 10.4052Z" fill="#FFA500"/>
3
+ <path d="M58.0674 8.26166L59.9973 9.36443L62.1401 9.23581L61.0373 11.1658L61.0274 13.3885L59.236 12.2058L57.0132 12.1958L58.196 10.4044L58.0674 8.26166Z" fill="#FFA500"/>
4
+ <path d="M47.2334 17.6572C44.2734 12.5303 44.4846 6.49627 47.2016 1.60211C44.4031 1.55504 41.7275 2.36078 39.2334 3.80078C31.6123 8.20078 28.977 18.0362 33.377 25.6572C37.777 33.2782 47.6123 35.9136 55.2334 31.5136C57.7275 30.0736 59.6831 28.0208 61.1216 25.7123C55.6046 25.7567 50.1934 22.7841 47.2334 17.6572Z" fill="#FFA500" stroke="#FFA500" stroke-width="3.2" stroke-linejoin="round"/>
5
+ <path d="M57.0135 38.479C57.0135 31.053 51.0404 25.2413 43.7758 25.2413C42.1614 25.2413 40.7085 25.5642 39.2556 26.0485C38.7713 20.5597 34.2511 16.0396 28.6009 16.0396C22.6278 16.0396 17.7848 20.8826 17.7848 26.8557C17.7848 28.1472 18.1076 29.4387 18.4305 30.5687C17.9462 30.4073 17.3004 30.4073 16.8161 30.4073C10.843 30.4073 6 35.2503 6 41.2234C6 47.0351 10.6816 51.8781 16.4933 52.0396H44.2601C51.3632 51.2324 57.0135 45.5822 57.0135 38.479Z" fill="white" stroke="white" stroke-width="2.4" stroke-linejoin="round"/>
6
+ <path d="M24.1277 46.0396H36L28.1489 60.0281H35.617L18.766 80.0396L25.2766 65.0796H18L24.1277 46.0396Z" fill="#FFA500" stroke="white" stroke-width="2.4"/>
7
+ <path d="M10.7783 60.0396L7.99995 75.7965" stroke="white" stroke-width="4" stroke-linecap="round" stroke-dasharray="8 14"/>
8
+ <path d="M44.7783 62.0396L41.9999 77.7965" stroke="white" stroke-width="4" stroke-linecap="round" stroke-dasharray="8 14"/>
9
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg width="66" height="79" viewBox="0 0 66 79" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M46.2403 17.4002C46.2403 11.8802 41.8003 7.56022 36.4003 7.56022C35.2003 7.56022 34.1203 7.80022 33.0403 8.16022C32.6803 4.08022 29.3203 0.720215 25.1203 0.720215C20.6803 0.720215 17.0803 4.32022 17.0803 8.76021C17.0803 9.72021 17.3203 10.6802 17.5603 11.5202C17.2003 11.4002 16.7203 11.4002 16.3603 11.4002C11.9203 11.4002 8.32031 15.0002 8.32031 19.4402C8.32031 23.7602 11.8003 27.3602 16.1203 27.4802H36.7603C42.0403 26.8802 46.2403 22.6802 46.2403 17.4002Z" fill="white" stroke="white" stroke-width="1.44" stroke-linejoin="round"/>
3
+ <path d="M64.4002 35.7204C64.4002 26.5204 57.0002 19.3204 48.0002 19.3204C46.0002 19.3204 44.2002 19.7204 42.4002 20.3204C41.8002 13.5204 36.2002 7.92041 29.2002 7.92041C21.8002 7.92041 15.8002 13.9204 15.8002 21.3204C15.8002 22.9204 16.2002 24.5204 16.6002 25.9204C16.0002 25.7204 15.2002 25.7204 14.6002 25.7204C7.20019 25.7204 1.2002 31.7204 1.2002 39.1204C1.2002 46.3204 7.0002 52.3204 14.2002 52.5204H48.6002C57.4002 51.5204 64.4002 44.5204 64.4002 35.7204Z" fill="white" stroke="white" stroke-width="2.4" stroke-linejoin="round"/>
4
+ <path d="M25.3206 35.9604H40.2006L30.3606 53.2404H39.7206L18.6006 77.9604L26.7606 59.4804H17.6406L25.3206 35.9604Z" fill="#FFA500" stroke="white" stroke-width="2.4"/>
5
+ <path d="M11.9785 56.7202L9.20014 72.4771" stroke="white" stroke-width="4" stroke-linecap="round" stroke-dasharray="8 14"/>
6
+ <path d="M45.9785 58.7202L43.2001 74.4771" stroke="white" stroke-width="4" stroke-linecap="round" stroke-dasharray="8 14"/>
7
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M47.6 29.9C47.6 25.3 43.9 21.7 39.4 21.7C38.4 21.7 37.5 21.9 36.6 22.2C36.3 18.8 33.5 16 30 16C26.3 16 23.3 19 23.3 22.7C23.3 23.5 23.5 24.3 23.7 25C23.4 24.9 23 24.9 22.7 24.9C19 24.9 16 27.9 16 31.6C16 35.2 18.9 38.2 22.5 38.3H39.7C44.1 37.8 47.6 34.3 47.6 29.9Z" fill="white" stroke="white" stroke-width="1.2" stroke-linejoin="round"/>
3
+ <path d="M17 42C26.5 42.0016 40.5 41.9994 45.5 42.0006" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
4
+ <path d="M17 46C22.3333 46.0016 30.193 45.9994 33 46.0006" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
5
+ <path d="M17 50C22.3333 50.0016 30.193 49.9994 33 50.0006" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
6
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg width="218" height="300" viewBox="0 0 218 300" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M48.2146 202.146L8.53003 179.242L8.50701 179.219C3.44286 176.456 -0.125059 170.264 0.0130545 164.487V117.045C-0.447323 98.077 11.3153 77.7052 27.958 68.6127C29.9237 68.1678 45.2193 59.0352 64.4221 47.5699C99.8619 26.4099 148.609 -2.69586 151.431 0.200466C155.717 -1.23375 183.89 15.6449 202.182 26.604C208.09 30.1436 212.968 33.0657 215.676 34.5538C210.233 32.1068 203.935 32.4708 198.781 35.4425L84.6534 101.369C55.1042 118.07 55.8577 147.905 56.5916 176.961C56.765 183.826 56.9373 190.648 56.7085 197.243C56.7085 199.199 55.6957 201.11 53.8772 202.146C52.0587 203.204 49.9179 203.112 48.2146 202.146ZM217.403 35.4425C217.01 35.2676 216.426 34.9656 215.676 34.5538C216.263 34.8173 216.839 35.1135 217.403 35.4425ZM214.204 96.697C216.022 95.6382 217.035 93.7506 217.035 91.794V51.6029C217.242 44.9505 209.301 40.3467 203.661 43.8686L160.363 68.8902C161.435 69.0871 167 72.4851 174.177 76.8674C189.651 86.3149 212.616 100.337 214.204 96.72V96.697ZM163.128 243.483C126.984 265.244 71.8906 298.413 70.888 291.598L70.865 291.621C65.2732 289.39 65.8139 275.005 66.335 261.14C66.7599 249.835 67.1718 238.876 64.2355 235.133C68.6164 231.965 78.0259 226.841 89.1904 220.762L89.1908 220.762L89.191 220.762C114.691 206.878 149.344 188.009 154.147 176.066C161.353 165.753 160.813 144.582 160.379 127.567C160.218 121.263 160.072 115.529 160.339 111.13C161.999 101.727 169.438 106.309 174.832 109.631L174.832 109.631C175.724 110.181 176.56 110.695 177.304 111.107L208.932 129.361C213.766 131.985 217.173 137.878 217.035 143.379V185.665C217.035 193.768 214.894 201.755 210.843 208.776C206.814 215.797 200.968 221.644 193.947 225.695C192.881 225.57 180.091 233.27 163.128 243.483L163.128 243.483ZM66.0311 300.001L9.35868 267.269V267.246C3.37378 263.793 0.0360436 257.555 0.0360436 251.109V216.535C-0.194145 212.368 5.03114 209.376 8.53 211.632C10.0029 212.754 14.8471 215.425 20.8738 218.747L20.874 218.747C34.2497 226.121 53.4498 236.706 54.5447 240.705C57.3777 244.223 56.9897 259.761 56.6978 271.455C56.558 277.054 56.4402 281.771 56.7085 283.865C56.7085 290.31 60.0692 296.549 66.0311 300.001Z" fill="url(#paint0_linear_1531_294)"/>
3
+ <defs>
4
+ <linearGradient id="paint0_linear_1531_294" x1="93.5733" y1="1.4598" x2="150.197" y2="293.428" gradientUnits="userSpaceOnUse">
5
+ <stop stop-color="#7D2BD1"/>
6
+ <stop offset="0.1875" stop-color="#752FD1"/>
7
+ <stop offset="1" stop-color="#454AD1"/>
8
+ </linearGradient>
9
+ </defs>
10
+ </svg>
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Font Loading
3
+ * Import fonts needed for the design system
4
+ * Inter fonts are bundled with the edge-apps-library
5
+ */
6
+
7
+ /* Inter font family - default UI font for Edge Apps */
8
+ @font-face {
9
+ font-family: Inter;
10
+ src: url('../../assets/fonts/Inter-Regular.woff2') format('woff2');
11
+ font-weight: 400;
12
+ font-style: normal;
13
+ font-display: swap;
14
+ }
15
+
16
+ @font-face {
17
+ font-family: Inter;
18
+ src: url('../../assets/fonts/Inter-Medium.woff2') format('woff2');
19
+ font-weight: 500;
20
+ font-style: normal;
21
+ font-display: swap;
22
+ }
23
+
24
+ @font-face {
25
+ font-family: Inter;
26
+ src: url('../../assets/fonts/Inter-SemiBold.woff2') format('woff2');
27
+ font-weight: 600;
28
+ font-style: normal;
29
+ font-display: swap;
30
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Base Styles
3
+ * Minimal reset and font loading
4
+ */
5
+
6
+ @import './reset.css';
7
+ @import './fonts.css';
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Minimal Reset
3
+ * Only what's needed for digital signage
4
+ */
5
+
6
+ * {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ html,
11
+ body {
12
+ width: 100%;
13
+ height: 100%;
14
+ margin: 0;
15
+ padding: 0;
16
+ overflow: hidden; /* Prevent scrollbars on digital signage */
17
+ }
18
+
19
+ body {
20
+ font-family: var(--font-body);
21
+ -webkit-font-smoothing: antialiased;
22
+ -moz-osx-font-smoothing: grayscale;
23
+ }
24
+
25
+ /* Prevent text selection on digital signage */
26
+ body * {
27
+ user-select: none;
28
+ -webkit-user-select: none;
29
+ -moz-user-select: none;
30
+ }
31
+
32
+ /* Allow selection for specific elements if needed */
33
+ .selectable {
34
+ user-select: text;
35
+ -webkit-user-select: text;
36
+ -moz-user-select: text;
37
+ }
@@ -0,0 +1,52 @@
1
+ @import '@screenly/edge-apps/styles';
2
+
3
+ *,
4
+ *::before,
5
+ *::after {
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ body {
10
+ margin: 0;
11
+ padding: 0;
12
+ width: 100%;
13
+ height: 100%;
14
+ overflow: hidden;
15
+ font-family: 'Inter', system-ui, sans-serif;
16
+ background: #000;
17
+ }
18
+
19
+ #app {
20
+ display: flex;
21
+ flex-direction: column;
22
+ width: 100%;
23
+ height: 100%;
24
+ background: #f3f5f7;
25
+ }
26
+
27
+ .header {
28
+ flex-shrink: 0;
29
+ margin: 0.75rem 1.3125rem 0;
30
+ width: calc(100% - 2.625rem);
31
+ background: var(--theme-color-primary, #0f3a97);
32
+ color: white;
33
+ }
34
+
35
+ .content {
36
+ display: flex;
37
+ flex: 1;
38
+ min-height: 0;
39
+ padding: 0.5rem 0.5rem 0.75rem;
40
+ overflow: hidden;
41
+ }
42
+
43
+ .calendar-view {
44
+ flex: 1;
45
+ min-height: 0;
46
+ min-width: 0;
47
+ display: none;
48
+ }
49
+
50
+ .calendar-view.active {
51
+ display: flex;
52
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Screenly Edge Apps Design System
3
+ * Global styles for digital signage applications
4
+ */
5
+
6
+ /* Design Tokens */
7
+ @import './tokens/index.css';
8
+
9
+ /* Base Styles */
10
+ @import './base/index.css';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Color Tokens
3
+ * Based on Screenly brand and digital signage best practices
4
+ */
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Design Tokens
3
+ * CSS custom properties for consistent theming
4
+ */
5
+
6
+ @import './colors.css';
7
+ @import './typography.css';
8
+ @import './spacing.css';
9
+ @import './shadows.css';
10
+ @import './z-index.css';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shadow Tokens
3
+ * Box shadows and text shadows for depth and readability
4
+ */
5
+
6
+ .text-shadow {
7
+ text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
8
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Spacing Tokens
3
+ * Consistent spacing scale for components
4
+ * Note: Tailwind provides .p-*, .m-* utilities
5
+ * These tokens are for component-specific spacing
6
+ */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Typography Tokens
3
+ * Font families, sizes, weights for 1920×1080 reference resolution
4
+ * Apps will scale via AutoScaler
5
+ */
6
+
7
+ :root {
8
+ --font-body: 'Inter', system-ui, sans-serif;
9
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Z-Index Tokens
3
+ * Layering system for consistent stacking context
4
+ */
5
+
6
+ :root {
7
+ --z-index-backdrop: 1;
8
+ --z-index-content: 2;
9
+ --z-index-header: 10;
10
+ --z-index-modal: 100;
11
+ --z-index-tooltip: 200;
12
+ }