@almadar/std 2.1.0 → 2.4.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 (86) hide show
  1. package/dist/behaviors/async.d.ts +12 -7
  2. package/dist/behaviors/async.js +1085 -312
  3. package/dist/behaviors/async.js.map +1 -1
  4. package/dist/behaviors/data-management.d.ts +27 -13
  5. package/dist/behaviors/data-management.js +600 -244
  6. package/dist/behaviors/data-management.js.map +1 -1
  7. package/dist/behaviors/domain/commerce.d.ts +51 -0
  8. package/dist/behaviors/domain/commerce.js +1093 -0
  9. package/dist/behaviors/domain/commerce.js.map +1 -0
  10. package/dist/behaviors/domain/content.d.ts +51 -0
  11. package/dist/behaviors/domain/content.js +1294 -0
  12. package/dist/behaviors/domain/content.js.map +1 -0
  13. package/dist/behaviors/domain/dashboard.d.ts +45 -0
  14. package/dist/behaviors/domain/dashboard.js +783 -0
  15. package/dist/behaviors/domain/dashboard.js.map +1 -0
  16. package/dist/behaviors/domain/education.d.ts +41 -0
  17. package/dist/behaviors/domain/education.js +738 -0
  18. package/dist/behaviors/domain/education.js.map +1 -0
  19. package/dist/behaviors/domain/finance.d.ts +49 -0
  20. package/dist/behaviors/domain/finance.js +660 -0
  21. package/dist/behaviors/domain/finance.js.map +1 -0
  22. package/dist/behaviors/domain/game-2d-platformer.d.ts +50 -0
  23. package/dist/behaviors/domain/game-2d-platformer.js +810 -0
  24. package/dist/behaviors/domain/game-2d-platformer.js.map +1 -0
  25. package/dist/behaviors/domain/game-2d-puzzle.d.ts +42 -0
  26. package/dist/behaviors/domain/game-2d-puzzle.js +622 -0
  27. package/dist/behaviors/domain/game-2d-puzzle.js.map +1 -0
  28. package/dist/behaviors/domain/game-2d-rpg.d.ts +48 -0
  29. package/dist/behaviors/domain/game-2d-rpg.js +860 -0
  30. package/dist/behaviors/domain/game-2d-rpg.js.map +1 -0
  31. package/dist/behaviors/domain/game-2d-strategy.d.ts +48 -0
  32. package/dist/behaviors/domain/game-2d-strategy.js +692 -0
  33. package/dist/behaviors/domain/game-2d-strategy.js.map +1 -0
  34. package/dist/behaviors/domain/geospatial.d.ts +35 -0
  35. package/dist/behaviors/domain/geospatial.js +634 -0
  36. package/dist/behaviors/domain/geospatial.js.map +1 -0
  37. package/dist/behaviors/domain/healthcare.d.ts +36 -0
  38. package/dist/behaviors/domain/healthcare.js +1068 -0
  39. package/dist/behaviors/domain/healthcare.js.map +1 -0
  40. package/dist/behaviors/domain/iot.d.ts +45 -0
  41. package/dist/behaviors/domain/iot.js +589 -0
  42. package/dist/behaviors/domain/iot.js.map +1 -0
  43. package/dist/behaviors/domain/media.d.ts +41 -0
  44. package/dist/behaviors/domain/media.js +771 -0
  45. package/dist/behaviors/domain/media.js.map +1 -0
  46. package/dist/behaviors/domain/scheduling.d.ts +41 -0
  47. package/dist/behaviors/domain/scheduling.js +930 -0
  48. package/dist/behaviors/domain/scheduling.js.map +1 -0
  49. package/dist/behaviors/domain/simulation.d.ts +36 -0
  50. package/dist/behaviors/domain/simulation.js +706 -0
  51. package/dist/behaviors/domain/simulation.js.map +1 -0
  52. package/dist/behaviors/domain/social.d.ts +41 -0
  53. package/dist/behaviors/domain/social.js +840 -0
  54. package/dist/behaviors/domain/social.js.map +1 -0
  55. package/dist/behaviors/domain/workflow.d.ts +41 -0
  56. package/dist/behaviors/domain/workflow.js +879 -0
  57. package/dist/behaviors/domain/workflow.js.map +1 -0
  58. package/dist/behaviors/feedback.d.ts +10 -5
  59. package/dist/behaviors/feedback.js +279 -194
  60. package/dist/behaviors/feedback.js.map +1 -1
  61. package/dist/behaviors/game-core.d.ts +15 -8
  62. package/dist/behaviors/game-core.js +412 -80
  63. package/dist/behaviors/game-core.js.map +1 -1
  64. package/dist/behaviors/game-entity.d.ts +17 -10
  65. package/dist/behaviors/game-entity.js +544 -237
  66. package/dist/behaviors/game-entity.js.map +1 -1
  67. package/dist/behaviors/game-ui.d.ts +16 -8
  68. package/dist/behaviors/game-ui.js +451 -316
  69. package/dist/behaviors/game-ui.js.map +1 -1
  70. package/dist/behaviors/index.d.ts +18 -1
  71. package/dist/behaviors/index.js +18905 -2140
  72. package/dist/behaviors/index.js.map +1 -1
  73. package/dist/behaviors/infrastructure.d.ts +9 -8
  74. package/dist/behaviors/infrastructure.js +597 -169
  75. package/dist/behaviors/infrastructure.js.map +1 -1
  76. package/dist/behaviors/registry.d.ts +11 -11
  77. package/dist/behaviors/registry.js +18904 -2139
  78. package/dist/behaviors/registry.js.map +1 -1
  79. package/dist/behaviors/types.d.ts +19 -2
  80. package/dist/behaviors/types.js.map +1 -1
  81. package/dist/behaviors/ui-interaction.d.ts +20 -14
  82. package/dist/behaviors/ui-interaction.js +928 -518
  83. package/dist/behaviors/ui-interaction.js.map +1 -1
  84. package/dist/index.js +18906 -2141
  85. package/dist/index.js.map +1 -1
  86. package/package.json +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../behaviors/domain/geospatial.ts"],"names":[],"mappings":";AAkBA,IAAM,gBAAA,GAAmB;AAAA,EACvB,IAAA,EAAM,iBAAA;AAAA,EACN,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ;AAAA,MACN,OAAA,EAAS,SAAA;AAAA,MACT,eAAA,EAAiB,SAAA;AAAA,MACjB,oBAAA,EAAsB,SAAA;AAAA,MACtB,MAAA,EAAQ,SAAA;AAAA,MACR,mBAAA,EAAqB,SAAA;AAAA,MACrB,OAAA,EAAS,SAAA;AAAA,MACT,OAAA,EAAS,SAAA;AAAA,MACT,KAAA,EAAO;AAAA;AACT;AAEJ,CAAA;AAQA,IAAM,qBAAA,GAAwB;AAAA,EAC5B,WAAA;AAAA,EAAa,MAAA;AAAA,EAAQ,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,UAAA,EAAY,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA;AAAA,IAEhF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,OAAA,EAAS,iBAAiB,QAAA,EAAU;AAAA,MAC5E,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,QAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,KAAA,EAAO,MAAM,IAAA,EAAK;AAAA,QACxC,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,KAAA;AAAM,OACtD,EAAC;AAAA,MACD,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,MAAM,SAAA,EAAW,OAAA,EAAS,SAAA,EAAW,MAAA,EAAQ,QAAA;AAAS,KAC3F,EAAC;AAAA,IACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,IAElB,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,MAC7D,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,WAAW,IAAA,EAAM,SAAA,EAAW,QAAQ,WAAA,EAAY;AAAA,MACxE,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,cAAc,IAAA,EAAM,QAAA,EAAU,QAAQ,WAAA;AAAY,KAC5E,EAAC;AAAA,IACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,IAElB,EAAE,MAAM,OAAA,EAAS,SAAA,EAAW,YAAY,GAAA,EAAK,IAAA,EAAM,KAAA,EAAO,QAAA,EAAU,QAAA,EAAU;AAAA,MAC5E,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,KAAA,EAAO,MAAM,IAAA,EAAK;AAAA,MACxC,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,MAAA,EAAQ,SAAS,wBAAA;AAAyB,KAC3E,EAAC;AAAA,IACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,IAElB,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,MAC7D,EAAE,MAAM,WAAA,EAAa,KAAA,EAAO,YAAY,KAAA,EAAO,kBAAA,EAAoB,MAAM,YAAA,EAAa;AAAA,MACtF,EAAE,MAAM,WAAA,EAAa,KAAA,EAAO,aAAa,KAAA,EAAO,mBAAA,EAAqB,MAAM,SAAA;AAAU,KACvF,EAAC;AAAA,IACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,IAElB;AAAA,MAAE,IAAA,EAAM,WAAA;AAAA,MAAa,MAAA,EAAQ,WAAA;AAAA,MAAa,IAAA,EAAM,CAAA;AAAA,MAAG,GAAA,EAAK,IAAA;AAAA,MACtD,MAAA,EAAQ;AAAA,QACN,EAAE,MAAM,MAAA,EAAQ,KAAA,EAAO,QAAQ,IAAA,EAAM,KAAA,EAAO,SAAS,IAAA,EAAK;AAAA,QAC1D,EAAE,IAAA,EAAM,UAAA,EAAY,KAAA,EAAO,KAAA,EAAO,MAAM,YAAA,EAAc,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,QAAA,EAAS;AAAA,QACxF,EAAE,IAAA,EAAM,WAAA,EAAa,KAAA,EAAO,KAAA,EAAO,MAAM,SAAA,EAAW,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,QAAA,EAAS;AAAA,QACtF,EAAE,MAAM,UAAA,EAAY,KAAA,EAAO,YAAY,IAAA,EAAM,QAAA,EAAU,SAAS,OAAA;AAAQ,OAC1E;AAAA,MACA,WAAA,EAAa;AAAA,QACX,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,eAAA;AAAgB;AAC1C;AACF,GACF;AACF,CAAA;AAMO,IAAM,iBAAA,GAAoC;AAAA,EAC/C,IAAA,EAAM,cAAA;AAAA,EACN,OAAA,EAAS,OAAA;AAAA,EACT,WAAA,EAAa,uCAAA;AAAA,EACb,KAAA,EAAO,gBAAA;AAAA,EACP,QAAA,EAAU;AAAA,IACR;AAAA,MACE,IAAA,EAAM,gBAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,WAAA;AAAA,QACN,WAAA,EAAa,YAAA;AAAA,QACb,UAAA,EAAY,aAAA;AAAA,QACZ,MAAA,EAAQ;AAAA,UACN,EAAE,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,UAC7C,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU,SAAS,EAAA,EAAG;AAAA,UAC5C,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UAC/C,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UAChD,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,SAAS,SAAA;AAAU;AACzD,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAM,gBAAA;AAAA,UACN,YAAA,EAAc,WAAA;AAAA,UACd,QAAA,EAAU,aAAA;AAAA,UACV,YAAA,EAAc;AAAA,YACZ,MAAA,EAAQ;AAAA,cACN,EAAE,IAAA,EAAM,UAAA,EAAY,SAAA,EAAW,IAAA,EAAK;AAAA,cACpC,EAAE,MAAM,SAAA,EAAU;AAAA,cAClB,EAAE,MAAM,UAAA;AAAW,aACrB;AAAA,YACA,MAAA,EAAQ;AAAA,cACN,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,YAAA,EAAa;AAAA,cAClC,EAAE,GAAA,EAAK,eAAA,EAAiB,IAAA,EAAM,iBAAiB,aAAA,EAAe,CAAC,EAAE,IAAA,EAAM,MAAM,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,CAAA,EAAE;AAAA,cAC/G,EAAE,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,eAAA,EAAgB;AAAA,cACvC,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,aAAA,EAAe,aAAA,EAAe,CAAC,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK,EAAG,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,MAAK,EAAG,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,CAAA,EAAE;AAAA,cACnN,EAAE,GAAA,EAAK,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ;AAAA,cAC9B,EAAE,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,QAAA;AAAS,aAClC;AAAA,YACA,WAAA,EAAa;AAAA,cACX;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,WAAW,CAAA;AAAA,kBACrB,CAAC,GAAG,qBAAqB;AAAA;AAC3B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,SAAA;AAAA,gBACJ,KAAA,EAAO,eAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,WAAA,EAAa,OAAA,EAAS,EAAE,IAAA,EAAM,SAAS,SAAA,EAAW,UAAA,EAAY,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU;AAAA;AAAA,oBAElF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,sBAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,SAAA,EAAW,MAAM,IAAA,EAAK;AAAA,sBAC5C,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,cAAA;AAAe,qBAC/D,EAAC;AAAA,oBACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB,EAAE,IAAA,EAAM,WAAA,EAAa,MAAA,EAAQ;AAAA,sBAC3B,EAAE,MAAM,UAAA,EAAY,KAAA,EAAO,YAAY,IAAA,EAAM,YAAA,EAAc,QAAQ,QAAA,EAAS;AAAA,sBAC5E,EAAE,MAAM,WAAA,EAAa,KAAA,EAAO,aAAa,IAAA,EAAM,SAAA,EAAW,QAAQ,QAAA,EAAS;AAAA,sBAC3E,EAAE,IAAA,EAAM,UAAA,EAAY,KAAA,EAAO,UAAA,EAAY,MAAM,QAAA;AAAS,qBACxD,EAAC;AAAA,oBACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB,EAAE,MAAM,OAAA,EAAS,SAAA,EAAW,cAAc,OAAA,EAAS,KAAA,EAAO,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU;AAAA,sBAC7E,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,OAAA,EAAS,MAAM,GAAA,EAAK,OAAA,EAAS,WAAA,EAAa,MAAA,EAAQ,OAAA;AAAQ,qBACrF;AAAC,qBACD;AAAA;AACJ,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,OAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,WAAA,EAAa,OAAA,EAAS,IAAI;AAAA;AAC7B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,QAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,WAAA,EAAa,OAAA,EAAS,IAAI;AAAA;AAC7B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,QAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,WAAW,CAAA;AAAA,kBACrB,CAAC,WAAA,EAAa,OAAA,EAAS,EAAE,IAAA,EAAM,SAAS,SAAA,EAAW,UAAA,EAAY,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU;AAAA;AAAA,oBAElF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,sBAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,SAAA,EAAW,MAAM,IAAA,EAAK;AAAA,sBAC5C,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,YAAA;AAAa,qBAC7D,EAAC;AAAA,oBACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB,EAAE,MAAM,cAAA,EAAgB,MAAA,EAAQ,aAAa,WAAA,EAAa,MAAA,EAAQ,aAAa,QAAA;AAAS,qBACxF;AAAA;AACJ,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,cAAA,EAAgB,eAAe,CAAA;AAAA,kBACvC,CAAC,KAAA,EAAO,kBAAA,EAAoB,mBAAmB,CAAA;AAAA,kBAC/C,CAAC,KAAA,EAAO,mBAAA,EAAqB,oBAAoB,CAAA;AAAA,kBACjD,CAAC,WAAA,EAAa,OAAA,EAAS,IAAI,CAAA;AAAA,kBAC3B,CAAC,SAAS,WAAW,CAAA;AAAA,kBACrB,CAAC,GAAG,qBAAqB;AAAA;AAC3B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,OAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,WAAA,EAAa,OAAA,EAAS,IAAI;AAAA;AAC7B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,QAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,WAAA,EAAa,OAAA,EAAS,IAAI;AAAA;AAC7B;AACF;AACF;AACF;AACF,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL;AAAA,UACE,IAAA,EAAM,SAAA;AAAA,UACN,IAAA,EAAM,MAAA;AAAA,UACN,SAAA,EAAW,IAAA;AAAA,UACX,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAK,kBAAkB;AAAA;AACpC;AACF;AACF;AAEJ;AAQA,IAAM,sBAAA,GAAyB;AAAA,EAC7B,WAAA;AAAA,EAAa,MAAA;AAAA,EAAQ,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,UAAA,EAAY,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA;AAAA,IAEhF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,OAAA,EAAS,iBAAiB,QAAA,EAAU;AAAA,MAC5E,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,QAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU,MAAM,IAAA,EAAK;AAAA,QAC3C,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,iBAAA;AAAkB,OAClE,EAAC;AAAA,MACD,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,iBAAA,EAAmB,MAAM,SAAA,EAAW,OAAA,EAAS,SAAA,EAAW,MAAA,EAAQ,iBAAA;AAAkB,KAC7G,EAAC;AAAA,IACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,IAElB,EAAE,IAAA,EAAM,cAAA,EAAgB,MAAA,EAAQ,kBAAA,EAAoB,OAAO,aAAA;AAAc,GAC3E;AACF,CAAA;AAMO,IAAM,wBAAA,GAA2C;AAAA,EACtD,IAAA,EAAM,qBAAA;AAAA,EACN,OAAA,EAAS,OAAA;AAAA,EACT,WAAA,EAAa,iDAAA;AAAA,EACb,KAAA,EAAO,gBAAA;AAAA,EACP,QAAA,EAAU;AAAA,IACR;AAAA,MACE,IAAA,EAAM,uBAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,kBAAA;AAAA,QACN,WAAA,EAAa,SAAA;AAAA,QACb,MAAA,EAAQ;AAAA,UACN,EAAE,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,UAC7C,EAAE,IAAA,EAAM,SAAA,EAAW,IAAA,EAAM,QAAA,EAAU,SAAS,EAAA,EAAG;AAAA,UAC/C,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UAC/C,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UAChD,EAAE,IAAA,EAAM,OAAA,EAAS,IAAA,EAAM,QAAA,EAAU,SAAS,EAAA;AAAG;AAC/C,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAM,uBAAA;AAAA,UACN,YAAA,EAAc,kBAAA;AAAA,UACd,QAAA,EAAU,aAAA;AAAA,UACV,YAAA,EAAc;AAAA,YACZ,MAAA,EAAQ;AAAA,cACN,EAAE,IAAA,EAAM,MAAA,EAAQ,SAAA,EAAW,IAAA,EAAK;AAAA,cAChC,EAAE,MAAM,WAAA,EAAY;AAAA,cACpB,EAAE,MAAM,WAAA;AAAY,aACtB;AAAA,YACA,MAAA,EAAQ;AAAA,cACN,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,YAAA,EAAa;AAAA,cAClC,EAAE,GAAA,EAAK,iBAAA,EAAmB,IAAA,EAAM,iBAAA,EAAkB;AAAA,cAClD,EAAE,GAAA,EAAK,eAAA,EAAiB,IAAA,EAAM,eAAA,EAAiB,aAAA,EAAe,CAAC,EAAE,IAAA,EAAM,SAAA,EAAW,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK,EAAG,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,MAAK,EAAG,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,CAAA,EAAE;AAAA,cACjO,EAAE,GAAA,EAAK,SAAA,EAAW,IAAA,EAAM,kBAAA,EAAmB;AAAA,cAC3C,EAAE,GAAA,EAAK,iBAAA,EAAmB,IAAA,EAAM,iBAAA;AAAkB,aACpD;AAAA,YACA,WAAA,EAAa;AAAA,cACX;AAAA,gBACE,IAAA,EAAM,MAAA;AAAA,gBACN,EAAA,EAAI,MAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,iBAAA,EAAmB,EAAE,CAAA;AAAA,kBAC7B,CAAC,KAAA,EAAO,kBAAA,EAAoB,CAAC,CAAA;AAAA,kBAC7B,CAAC,KAAA,EAAO,mBAAA,EAAqB,CAAC,CAAA;AAAA,kBAC9B,CAAC,GAAG,sBAAsB;AAAA;AAC5B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,MAAA;AAAA,gBACN,EAAA,EAAI,WAAA;AAAA,gBACJ,KAAA,EAAO,iBAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,kBAAkB,CAAA;AAAA,kBAC5B,CAAC,WAAA,EAAa,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAS,SAAA,EAAW,UAAA,EAAY,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU;AAAA;AAAA,oBAEjF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,sBAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,OAAA,EAAS,MAAM,IAAA,EAAK;AAAA,sBAC1C,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,iBAAA;AAAkB,qBAClE,EAAC;AAAA,oBACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB,EAAE,IAAA,EAAM,cAAA,EAAgB,WAAA,EAAa,mBAAA,EAAqB,MAAM,QAAA,EAAS;AAAA;AAAA,oBAEzE,EAAE,IAAA,EAAM,cAAA,EAAgB,MAAA,EAAQ,kBAAA;AAAmB,qBACnD;AAAA;AACJ,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,WAAA;AAAA,gBACN,EAAA,EAAI,WAAA;AAAA,gBACJ,KAAA,EAAO,eAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,iBAAA,EAAmB,kBAAkB,CAAA;AAAA,kBAC7C,CAAC,KAAA,EAAO,kBAAA,EAAoB,mBAAmB,CAAA;AAAA,kBAC/C,CAAC,KAAA,EAAO,mBAAA,EAAqB,oBAAoB,CAAA;AAAA,kBACjD,CAAC,WAAA,EAAa,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAS,SAAA,EAAW,UAAA,EAAY,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU;AAAA;AAAA,oBAEjF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,OAAA,EAAS,iBAAiB,QAAA,EAAU;AAAA,sBAC5E,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,wBAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,SAAA,EAAW,MAAM,IAAA,EAAK;AAAA,wBAC5C,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,mBAAA;AAAoB,uBACpE,EAAC;AAAA,sBACD,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,SAAA,EAAW,MAAM,OAAA,EAAS,OAAA,EAAS,SAAA,EAAW,MAAA,EAAQ,SAAA;AAAU,qBAC3F,EAAC;AAAA,oBACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB,EAAE,IAAA,EAAM,WAAA,EAAa,MAAA,EAAQ;AAAA,sBAC3B,EAAE,IAAA,EAAM,SAAA,EAAW,KAAA,EAAO,SAAA,EAAW,MAAM,SAAA,EAAU;AAAA,sBACrD,EAAE,MAAM,UAAA,EAAY,KAAA,EAAO,YAAY,IAAA,EAAM,YAAA,EAAc,QAAQ,QAAA,EAAS;AAAA,sBAC5E,EAAE,MAAM,WAAA,EAAa,KAAA,EAAO,aAAa,IAAA,EAAM,SAAA,EAAW,QAAQ,QAAA;AAAS,qBAC7E,EAAC;AAAA;AAAA,oBAED,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,CAAA,EAAG,OAAO,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,MAAA,EAAQ,kBAAA;AAAmB,qBACzF;AAAA;AACJ,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,WAAA;AAAA,gBACN,EAAA,EAAI,WAAA;AAAA,gBACJ,KAAA,EAAO,SAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,WAAA,EAAa,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAS,SAAA,EAAW,UAAA,EAAY,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU;AAAA;AAAA,oBAEjF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,OAAA,EAAS,iBAAiB,QAAA,EAAU;AAAA,sBAC5E,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,wBAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,OAAA,EAAS,MAAM,IAAA,EAAK;AAAA,wBAC1C,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,oBAAA;AAAqB,uBACrE,EAAC;AAAA,sBACD,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,OAAA,EAAS,MAAM,GAAA,EAAK,OAAA,EAAS,WAAA,EAAa,MAAA,EAAQ,iBAAA;AAAkB,qBAC/F,EAAC;AAAA,oBACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,aAAa,OAAA,EAAS,SAAA,EAAW,MAAM,OAAA,EAAQ;AAAA,oBACvE,EAAE,IAAA,EAAM,WAAA,EAAa,MAAA,EAAQ;AAAA,sBAC3B,EAAE,IAAA,EAAM,SAAA,EAAW,KAAA,EAAO,SAAA,EAAW,MAAM,SAAA,EAAU;AAAA,sBACrD,EAAE,MAAM,UAAA,EAAY,KAAA,EAAO,YAAY,IAAA,EAAM,YAAA,EAAc,QAAQ,QAAA,EAAS;AAAA,sBAC5E,EAAE,MAAM,WAAA,EAAa,KAAA,EAAO,aAAa,IAAA,EAAM,SAAA,EAAW,QAAQ,QAAA,EAAS;AAAA,sBAC3E,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,OAAA,EAAS,MAAM,KAAA;AAAM,qBAC/C;AAAC,qBACD;AAAA;AACJ,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,WAAA;AAAA,gBACN,EAAA,EAAI,MAAA;AAAA,gBACJ,KAAA,EAAO,iBAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,KAAA,EAAO,iBAAA,EAAmB,EAAE,CAAA;AAAA,kBAC7B,CAAC,KAAA,EAAO,kBAAA,EAAoB,CAAC,CAAA;AAAA,kBAC7B,CAAC,KAAA,EAAO,mBAAA,EAAqB,CAAC,CAAA;AAAA,kBAC9B,CAAC,GAAG,sBAAsB;AAAA;AAC5B;AACF;AACF;AACF;AACF,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL;AAAA,UACE,IAAA,EAAM,cAAA;AAAA,UACN,IAAA,EAAM,WAAA;AAAA,UACN,SAAA,EAAW,IAAA;AAAA,UACX,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAK,yBAAyB;AAAA;AAC3C;AACF;AACF;AAEJ;AAQA,IAAM,uBAAA,GAA0B;AAAA,EAC9B,WAAA;AAAA,EAAa,MAAA;AAAA,EAAQ,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,UAAA,EAAY,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA;AAAA,IAEhF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,OAAA,EAAS,iBAAiB,QAAA,EAAU;AAAA,MAC5E,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,QAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,YAAA,EAAc,MAAM,IAAA,EAAK;AAAA,QAC/C,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,QAAA;AAAS,OACzD,EAAC;AAAA,MACD,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,WAAA,EAAa,MAAM,SAAA,EAAW,OAAA,EAAS,SAAA,EAAW,MAAA,EAAQ,WAAA;AAAY,KACjG,EAAC;AAAA,IACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,IAElB,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,MAC7D,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,gBAAgB,IAAA,EAAM,SAAA,EAAW,QAAQ,YAAA,EAAa;AAAA,MAC9E,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,YAAY,IAAA,EAAM,YAAA,EAAc,QAAQ,YAAA;AAAa,KAC/E,EAAC;AAAA,IACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,IAElB;AAAA,MAAE,IAAA,EAAM,WAAA;AAAA,MAAa,MAAA,EAAQ,YAAA;AAAA,MAC3B,MAAA,EAAQ;AAAA,QACN,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,MAAM,KAAA,EAAM;AAAA,QAC3C,EAAE,MAAM,UAAA,EAAY,KAAA,EAAO,OAAO,IAAA,EAAM,YAAA,EAAc,QAAQ,QAAA,EAAS;AAAA,QACvE,EAAE,MAAM,WAAA,EAAa,KAAA,EAAO,OAAO,IAAA,EAAM,SAAA,EAAW,QAAQ,QAAA,EAAS;AAAA,QACrE,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,SAAS,IAAA,EAAM,MAAA,EAAQ,QAAQ,QAAA;AAAS,OAClE;AAAA,MACA,WAAA,EAAa;AAAA,QACX,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA;AAAO;AACjC;AACF,GACF;AACF,CAAA;AAIA,IAAM,wBAAA,GAA2B;AAAA,EAC/B,WAAA;AAAA,EAAa,MAAA;AAAA,EAAQ,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,UAAA,EAAY,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,IAChF;AAAA,MAAE,IAAA,EAAM,WAAA;AAAA,MAAa,MAAA,EAAQ,YAAA;AAAA,MAC3B,MAAA,EAAQ;AAAA,QACN,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,MAAM,KAAA,EAAM;AAAA,QAC3C,EAAE,MAAM,UAAA,EAAY,KAAA,EAAO,OAAO,IAAA,EAAM,YAAA,EAAc,QAAQ,QAAA,EAAS;AAAA,QACvE,EAAE,MAAM,WAAA,EAAa,KAAA,EAAO,OAAO,IAAA,EAAM,SAAA,EAAW,QAAQ,QAAA,EAAS;AAAA,QACrE,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,SAAS,IAAA,EAAM,MAAA,EAAQ,QAAQ,QAAA;AAAS,OAClE;AAAA,MACA,WAAA,EAAa;AAAA,QACX,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA;AAAO;AACjC;AACF,GACF;AACF,CAAA;AAMO,IAAM,sBAAA,GAAyC;AAAA,EACpD,IAAA,EAAM,mBAAA;AAAA,EACN,OAAA,EAAS,OAAA;AAAA,EACT,WAAA,EAAa,uCAAA;AAAA,EACb,KAAA,EAAO,gBAAA;AAAA,EACP,QAAA,EAAU;AAAA,IACR;AAAA,MACE,IAAA,EAAM,qBAAA;AAAA,MACN,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM,YAAA;AAAA,QACN,WAAA,EAAa,YAAA;AAAA,QACb,UAAA,EAAY,cAAA;AAAA,QACZ,MAAA,EAAQ;AAAA,UACN,EAAE,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK;AAAA,UAC7C,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU,SAAS,EAAA,EAAG;AAAA,UAC5C,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UAC/C,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA,EAAE;AAAA,UAChD,EAAE,IAAA,EAAM,OAAA,EAAS,IAAA,EAAM,QAAA,EAAU,SAAS,CAAA;AAAE;AAC9C,OACF;AAAA,MACA,MAAA,EAAQ;AAAA,QACN;AAAA,UACE,IAAA,EAAM,qBAAA;AAAA,UACN,YAAA,EAAc,YAAA;AAAA,UACd,QAAA,EAAU,aAAA;AAAA,UACV,YAAA,EAAc;AAAA,YACZ,MAAA,EAAQ;AAAA,cACN,EAAE,IAAA,EAAM,UAAA,EAAY,SAAA,EAAW,IAAA,EAAK;AAAA,cACpC,EAAE,MAAM,UAAA,EAAW;AAAA,cACnB,EAAE,MAAM,SAAA;AAAU,aACpB;AAAA,YACA,MAAA,EAAQ;AAAA,cACN,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,YAAA,EAAa;AAAA,cAClC,EAAE,GAAA,EAAK,WAAA,EAAa,IAAA,EAAM,WAAA,EAAY;AAAA,cACtC,EAAE,GAAA,EAAK,WAAA,EAAa,IAAA,EAAM,WAAA,EAAa,aAAA,EAAe,CAAC,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU,UAAU,IAAA,EAAK,EAAG,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,MAAK,EAAG,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,CAAA,EAAE;AAAA,cACtN,EAAE,GAAA,EAAK,YAAA,EAAc,IAAA,EAAM,YAAA,EAAa;AAAA,cACxC,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,gBAAA,EAAiB;AAAA,cACtC,EAAE,GAAA,EAAK,MAAA,EAAQ,IAAA,EAAM,cAAc,aAAA,EAAe,CAAC,EAAE,IAAA,EAAM,MAAM,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,CAAA;AAAE,aACrG;AAAA,YACA,WAAA,EAAa;AAAA,cACX;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,YAAY,CAAA;AAAA,kBACtB,CAAC,GAAG,uBAAuB;AAAA;AAC7B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,WAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,YAAY,CAAA;AAAA,kBACtB,CAAC,WAAA,EAAa,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAS,SAAA,EAAW,UAAA,EAAY,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU;AAAA;AAAA,oBAEjF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,OAAA,EAAS,iBAAiB,QAAA,EAAU;AAAA,sBAC5E,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,wBAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,SAAA,EAAW,MAAM,IAAA,EAAK;AAAA,wBAC5C,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,YAAA;AAAa,uBAC7D,EAAC;AAAA,sBACD,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,MAAA,EAAQ,MAAM,YAAA,EAAc,OAAA,EAAS,WAAA,EAAa,MAAA,EAAQ,MAAA;AAAO,qBAC5F,EAAC;AAAA,oBACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB,EAAE,IAAA,EAAM,cAAA,EAAgB,MAAA,EAAQ,YAAA;AAAa,qBAC7C;AAAA;AACJ,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,WAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,YAAY,CAAA;AAAA,kBACtB,CAAC,KAAA,EAAO,cAAA,EAAgB,eAAe,CAAA;AAAA,kBACvC,CAAC,KAAA,EAAO,kBAAA,EAAoB,mBAAmB,CAAA;AAAA,kBAC/C,CAAC,KAAA,EAAO,mBAAA,EAAqB,oBAAoB,CAAA;AAAA,kBACjD,CAAC,WAAA,EAAa,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAS,SAAA,EAAW,UAAA,EAAY,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU;AAAA;AAAA,oBAEjF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,OAAA,EAAS,iBAAiB,QAAA,EAAU;AAAA,sBAC5E,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,wBAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,SAAA,EAAW,MAAM,IAAA,EAAK;AAAA,wBAC5C,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,YAAA;AAAa,uBAC7D,EAAC;AAAA,sBACD,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,wBAC7D,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,YAAA,EAAc,MAAM,KAAA,EAAO,OAAA,EAAS,SAAA,EAAW,MAAA,EAAQ,YAAA,EAAa;AAAA,wBAC7F,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,MAAA,EAAQ,MAAM,YAAA,EAAc,OAAA,EAAS,WAAA,EAAa,MAAA,EAAQ,MAAA;AAAO,uBAC5F;AAAC,qBACH,EAAC;AAAA,oBACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,gBAAgB,IAAA,EAAM,SAAA,EAAW,QAAQ,YAAA,EAAa;AAAA,oBAC9E,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB;AAAA,sBAAE,IAAA,EAAM,WAAA;AAAA,sBAAa,MAAA,EAAQ,YAAA;AAAA,sBAC3B,MAAA,EAAQ;AAAA,wBACN,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,MAAM,KAAA,EAAM;AAAA,wBAC3C,EAAE,MAAM,UAAA,EAAY,KAAA,EAAO,OAAO,IAAA,EAAM,YAAA,EAAc,QAAQ,QAAA,EAAS;AAAA,wBACvE,EAAE,MAAM,WAAA,EAAa,KAAA,EAAO,OAAO,IAAA,EAAM,SAAA,EAAW,QAAQ,QAAA,EAAS;AAAA,wBACrE,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,SAAS,IAAA,EAAM,MAAA,EAAQ,QAAQ,QAAA;AAAS,uBAClE;AAAA,sBACA,aAAa,CAAC,EAAE,OAAO,MAAA,EAAQ,KAAA,EAAO,QAAQ;AAAA,qBAChD;AAAA,oBACA,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB,EAAE,IAAA,EAAM,cAAA,EAAgB,MAAA,EAAQ,YAAA;AAAa,qBAC7C;AAAA;AACJ,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,SAAA;AAAA,gBACJ,KAAA,EAAO,YAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,YAAY,CAAA;AAAA,kBACtB,CAAC,WAAA,EAAa,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAS,SAAA,EAAW,UAAA,EAAY,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU;AAAA;AAAA,oBAEjF,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,OAAA,EAAS,iBAAiB,QAAA,EAAU;AAAA,sBAC5E,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,YAAA,EAAc,GAAA,EAAK,MAAM,QAAA,EAAU;AAAA,wBAC7D,EAAE,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,WAAA,EAAa,MAAM,IAAA,EAAK;AAAA,wBAC9C,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,IAAA,EAAM,SAAS,gBAAA;AAAiB,uBACjE,EAAC;AAAA,sBACD,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,MAAA,EAAQ,MAAM,YAAA,EAAc,OAAA,EAAS,WAAA,EAAa,MAAA,EAAQ,MAAA;AAAO,qBAC5F,EAAC;AAAA,oBACD,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,gBAAgB,IAAA,EAAM,SAAA,EAAW,QAAQ,YAAA,EAAa;AAAA,oBAC9E,EAAE,MAAM,SAAA,EAAU;AAAA;AAAA,oBAElB;AAAA,sBAAE,IAAA,EAAM,WAAA;AAAA,sBAAa,MAAA,EAAQ,YAAA;AAAA,sBAC3B,MAAA,EAAQ;AAAA,wBACN,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,MAAM,KAAA,EAAM;AAAA,wBAC3C,EAAE,MAAM,UAAA,EAAY,KAAA,EAAO,OAAO,IAAA,EAAM,YAAA,EAAc,QAAQ,QAAA,EAAS;AAAA,wBACvE,EAAE,MAAM,WAAA,EAAa,KAAA,EAAO,OAAO,IAAA,EAAM,SAAA,EAAW,QAAQ,QAAA,EAAS;AAAA,wBACrE,EAAE,MAAM,OAAA,EAAS,KAAA,EAAO,SAAS,IAAA,EAAM,MAAA,EAAQ,QAAQ,QAAA;AAAS,uBAClE;AAAA,sBACA,aAAa,CAAC,EAAE,OAAO,MAAA,EAAQ,KAAA,EAAO,QAAQ;AAAA,qBAChD;AAAA;AAAA,oBAEA,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,CAAA,EAAG,OAAO,gBAAA,EAAkB,IAAA,EAAM,YAAA,EAAc,MAAA,EAAQ,YAAA;AAAa,qBAC7F;AAAA;AACJ,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,SAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,YAAY,CAAA;AAAA,kBACtB,CAAC,GAAG,uBAAuB;AAAA;AAC7B,eACF;AAAA,cACA;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,EAAA,EAAI,UAAA;AAAA,gBACJ,KAAA,EAAO,MAAA;AAAA,gBACP,OAAA,EAAS;AAAA,kBACP,CAAC,SAAS,YAAY,CAAA;AAAA,kBACtB,CAAC,GAAG,uBAAuB;AAAA;AAC7B,eACF;AAAA;AAAA,cAEA,EAAE,IAAA,EAAM,UAAA,EAAY,EAAA,EAAI,UAAA,EAAY,OAAO,MAAA,EAAQ,OAAA,EAAS,CAAC,CAAC,SAAS,YAAY,CAAA,EAAG,CAAC,GAAG,wBAAwB,CAAC,CAAA,EAAE;AAAA,cACrH,EAAE,IAAA,EAAM,UAAA,EAAY,EAAA,EAAI,UAAA,EAAY,OAAO,MAAA,EAAQ,OAAA,EAAS,CAAC,CAAC,SAAS,YAAY,CAAA,EAAG,CAAC,GAAG,wBAAwB,CAAC,CAAA,EAAE;AAAA,cACrH,EAAE,IAAA,EAAM,SAAA,EAAW,EAAA,EAAI,SAAA,EAAW,OAAO,MAAA,EAAQ,OAAA,EAAS,CAAC,CAAC,SAAS,YAAY,CAAA,EAAG,CAAC,GAAG,wBAAwB,CAAC,CAAA;AAAE;AACrH;AACF;AACF,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL;AAAA,UACE,IAAA,EAAM,YAAA;AAAA,UACN,IAAA,EAAM,SAAA;AAAA,UACN,SAAA,EAAW,IAAA;AAAA,UACX,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAK,uBAAuB;AAAA;AACzC;AACF;AACF;AAEJ;AAMO,IAAM,oBAAA,GAAyC;AAAA,EACpD,iBAAA;AAAA,EACA,wBAAA;AAAA,EACA;AACF","file":"geospatial.js","sourcesContent":["/**\n * Geospatial Domain Behaviors\n *\n * Standard behaviors for maps, location picking, and route planning.\n * Each behavior is a self-contained OrbitalSchema that passes orbital validate\n * with 0 errors and 0 warnings when exported as a standalone .orb file.\n *\n * UI Composition: molecule-first (atoms + molecules only, no organisms).\n * Each behavior has unique, domain-appropriate layouts composed with\n * VStack/HStack/Box wrappers around atoms and molecules.\n *\n * @packageDocumentation\n */\n\nimport type { BehaviorSchema } from '../types.js';\n\n// ── Shared Geospatial Theme ─────────────────────────────────────────\n\nconst GEOSPATIAL_THEME = {\n name: 'geospatial-cyan',\n tokens: {\n colors: {\n primary: '#0891b2',\n 'primary-hover': '#0e7490',\n 'primary-foreground': '#ffffff',\n accent: '#06b6d4',\n 'accent-foreground': '#000000',\n success: '#22c55e',\n warning: '#f59e0b',\n error: '#ef4444',\n },\n },\n};\n\n// ============================================================================\n// std-map-view - Map Display with Markers\n// ============================================================================\n\n// ── Reusable main-view effects (map view: browsing) ─────────────────\n\nconst mapBrowsingMainEffect = [\n 'render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: icon + title + create button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'map', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Map' },\n ]},\n { type: 'button', label: 'Create', icon: 'map-pin', variant: 'primary', action: 'CREATE' },\n ]},\n { type: 'divider' },\n // Stats row\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Markers', icon: 'map-pin', entity: 'MapMarker' },\n { type: 'stats', label: 'Categories', icon: 'layers', entity: 'MapMarker' },\n ]},\n { type: 'divider' },\n // Map visualization placeholder\n { type: 'stack', direction: 'vertical', gap: 'md', align: 'center', children: [\n { type: 'icon', name: 'map', size: 'xl' },\n { type: 'typography', variant: 'body', content: 'Map visualization area' },\n ]},\n { type: 'divider' },\n // Selected marker coordinates\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stat-card', label: 'Latitude', value: '@entity.latitude', icon: 'navigation' },\n { type: 'stat-card', label: 'Longitude', value: '@entity.longitude', icon: 'compass' },\n ]},\n { type: 'divider' },\n // Data zone: marker cards\n { type: 'data-grid', entity: 'MapMarker', cols: 2, gap: 'md',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'latitude', label: 'Lat', icon: 'navigation', variant: 'body', format: 'number' },\n { name: 'longitude', label: 'Lng', icon: 'compass', variant: 'body', format: 'number' },\n { name: 'category', label: 'Category', icon: 'layers', variant: 'badge' },\n ],\n itemActions: [\n { label: 'View', event: 'SELECT_MARKER' },\n ],\n },\n ]},\n] as const;\n\n/**\n * std-map-view - Map display with markers and creation.\n * States: browsing -> viewing -> creating\n */\nexport const MAP_VIEW_BEHAVIOR: BehaviorSchema = {\n name: 'std-map-view',\n version: '1.0.0',\n description: 'Map display with markers and creation',\n theme: GEOSPATIAL_THEME,\n orbitals: [\n {\n name: 'MapViewOrbital',\n entity: {\n name: 'MapMarker',\n persistence: 'persistent',\n collection: 'map_markers',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'latitude', type: 'number', default: 0 },\n { name: 'longitude', type: 'number', default: 0 },\n { name: 'category', type: 'string', default: 'default' },\n ],\n },\n traits: [\n {\n name: 'MapViewControl',\n linkedEntity: 'MapMarker',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'viewing' },\n { name: 'creating' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT_MARKER', name: 'Select Marker', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n { key: 'CREATE', name: 'Create Marker' },\n { key: 'SAVE', name: 'Save Marker', payloadSchema: [{ name: 'name', type: 'string', required: true }, { name: 'latitude', type: 'number', required: true }, { name: 'longitude', type: 'number', required: true }] },\n { key: 'CLOSE', name: 'Close' },\n { key: 'CANCEL', name: 'Cancel' },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'MapMarker'],\n [...mapBrowsingMainEffect],\n ],\n },\n {\n from: 'browsing',\n to: 'viewing',\n event: 'SELECT_MARKER',\n effects: [\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n // Detail header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'map-pin', size: 'lg' },\n { type: 'typography', variant: 'h3', content: '@entity.name' },\n ]},\n { type: 'divider' },\n // Coordinate details\n { type: 'data-list', fields: [\n { name: 'latitude', label: 'Latitude', icon: 'navigation', format: 'number' },\n { name: 'longitude', label: 'Longitude', icon: 'compass', format: 'number' },\n { name: 'category', label: 'Category', icon: 'layers' },\n ]},\n { type: 'divider' },\n // Actions\n { type: 'stack', direction: 'horizontal', justify: 'end', gap: 'sm', children: [\n { type: 'button', label: 'Close', icon: 'x', variant: 'secondary', action: 'CLOSE' },\n ]},\n ]}],\n ],\n },\n {\n from: 'viewing',\n to: 'browsing',\n event: 'CLOSE',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'viewing',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'browsing',\n to: 'creating',\n event: 'CREATE',\n effects: [\n ['fetch', 'MapMarker'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n // Create header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'map-pin', size: 'lg' },\n { type: 'typography', variant: 'h3', content: 'New Marker' },\n ]},\n { type: 'divider' },\n // Creation form\n { type: 'form-section', entity: 'MapMarker', submitEvent: 'SAVE', cancelEvent: 'CANCEL' },\n ]}],\n ],\n },\n {\n from: 'creating',\n to: 'browsing',\n event: 'SAVE',\n effects: [\n ['set', '@entity.name', '@payload.name'],\n ['set', '@entity.latitude', '@payload.latitude'],\n ['set', '@entity.longitude', '@payload.longitude'],\n ['render-ui', 'modal', null],\n ['fetch', 'MapMarker'],\n [...mapBrowsingMainEffect],\n ],\n },\n {\n from: 'creating',\n to: 'browsing',\n event: 'CLOSE',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'creating',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'MapPage',\n path: '/map',\n isInitial: true,\n traits: [{ ref: 'MapViewControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-location-picker - Location Selection\n// ============================================================================\n\n// ── Reusable main-view effects (location picker: idle) ──────────────\n\nconst locationIdleMainEffect = [\n 'render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: icon + title + select button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'target', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Location Picker' },\n ]},\n { type: 'button', label: 'Select Location', icon: 'map-pin', variant: 'primary', action: 'START_SELECTION' },\n ]},\n { type: 'divider' },\n // Coordinate display\n { type: 'form-section', entity: 'SelectedLocation', title: 'Coordinates' },\n ]},\n] as const;\n\n/**\n * std-location-picker - Location selection input.\n * States: idle -> selecting -> confirmed\n */\nexport const LOCATION_PICKER_BEHAVIOR: BehaviorSchema = {\n name: 'std-location-picker',\n version: '1.0.0',\n description: 'Location selection with address and coordinates',\n theme: GEOSPATIAL_THEME,\n orbitals: [\n {\n name: 'LocationPickerOrbital',\n entity: {\n name: 'SelectedLocation',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'address', type: 'string', default: '' },\n { name: 'latitude', type: 'number', default: 0 },\n { name: 'longitude', type: 'number', default: 0 },\n { name: 'label', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'LocationPickerControl',\n linkedEntity: 'SelectedLocation',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'idle', isInitial: true },\n { name: 'selecting' },\n { name: 'confirmed' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'START_SELECTION', name: 'Start Selection' },\n { key: 'PICK_LOCATION', name: 'Pick Location', payloadSchema: [{ name: 'address', type: 'string', required: true }, { name: 'latitude', type: 'number', required: true }, { name: 'longitude', type: 'number', required: true }] },\n { key: 'CONFIRM', name: 'Confirm Location' },\n { key: 'CLEAR_SELECTION', name: 'Clear Selection' },\n ],\n transitions: [\n {\n from: 'idle',\n to: 'idle',\n event: 'INIT',\n effects: [\n ['set', '@entity.address', ''],\n ['set', '@entity.latitude', 0],\n ['set', '@entity.longitude', 0],\n [...locationIdleMainEffect],\n ],\n },\n {\n from: 'idle',\n to: 'selecting',\n event: 'START_SELECTION',\n effects: [\n ['fetch', 'SelectedLocation'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'globe', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Select Location' },\n ]},\n { type: 'divider' },\n // Search input for address\n { type: 'search-input', placeholder: 'Search address...', icon: 'search' },\n // Form for coordinate entry\n { type: 'form-section', entity: 'SelectedLocation' },\n ]}],\n ],\n },\n {\n from: 'selecting',\n to: 'selecting',\n event: 'PICK_LOCATION',\n effects: [\n ['set', '@entity.address', '@payload.address'],\n ['set', '@entity.latitude', '@payload.latitude'],\n ['set', '@entity.longitude', '@payload.longitude'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header with confirm\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'map-pin', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Selected Location' },\n ]},\n { type: 'button', label: 'Confirm', icon: 'check', variant: 'primary', action: 'CONFIRM' },\n ]},\n { type: 'divider' },\n // Location details\n { type: 'data-list', fields: [\n { name: 'address', label: 'Address', icon: 'map-pin' },\n { name: 'latitude', label: 'Latitude', icon: 'navigation', format: 'number' },\n { name: 'longitude', label: 'Longitude', icon: 'compass', format: 'number' },\n ]},\n // Coordinate meter\n { type: 'meter', value: 0, label: 'Accuracy', icon: 'target', entity: 'SelectedLocation' },\n ]}],\n ],\n },\n {\n from: 'selecting',\n to: 'confirmed',\n event: 'CONFIRM',\n effects: [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Confirmed header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'check', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Location Confirmed' },\n ]},\n { type: 'button', label: 'Clear', icon: 'x', variant: 'secondary', action: 'CLEAR_SELECTION' },\n ]},\n { type: 'divider' },\n // Confirmed location details\n { type: 'badge', label: 'Confirmed', variant: 'success', icon: 'check' },\n { type: 'data-list', fields: [\n { name: 'address', label: 'Address', icon: 'map-pin' },\n { name: 'latitude', label: 'Latitude', icon: 'navigation', format: 'number' },\n { name: 'longitude', label: 'Longitude', icon: 'compass', format: 'number' },\n { name: 'label', label: 'Label', icon: 'tag' },\n ]},\n ]}],\n ],\n },\n {\n from: 'confirmed',\n to: 'idle',\n event: 'CLEAR_SELECTION',\n effects: [\n ['set', '@entity.address', ''],\n ['set', '@entity.latitude', 0],\n ['set', '@entity.longitude', 0],\n [...locationIdleMainEffect],\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'LocationPage',\n path: '/location',\n isInitial: true,\n traits: [{ ref: 'LocationPickerControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-route-planner - Route Planning\n// ============================================================================\n\n// ── Reusable main-view effects (route planner: browsing) ────────────\n\nconst routeBrowsingMainEffect = [\n 'render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: icon + title + new route button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'navigation', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Routes' },\n ]},\n { type: 'button', label: 'New Route', icon: 'compass', variant: 'primary', action: 'NEW_ROUTE' },\n ]},\n { type: 'divider' },\n // Stats row\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Route Points', icon: 'map-pin', entity: 'RoutePoint' },\n { type: 'stats', label: 'Distance', icon: 'navigation', entity: 'RoutePoint' },\n ]},\n { type: 'divider' },\n // Route point list\n { type: 'data-list', entity: 'RoutePoint',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag' },\n { name: 'latitude', label: 'Lat', icon: 'navigation', format: 'number' },\n { name: 'longitude', label: 'Lng', icon: 'compass', format: 'number' },\n { name: 'order', label: 'Order', icon: 'hash', format: 'number' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW' },\n ],\n },\n ]},\n] as const;\n\n// ── Reusable main-view: route point data-list with view action ──────\n\nconst routePointListMainEffect = [\n 'render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'data-list', entity: 'RoutePoint',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag' },\n { name: 'latitude', label: 'Lat', icon: 'navigation', format: 'number' },\n { name: 'longitude', label: 'Lng', icon: 'compass', format: 'number' },\n { name: 'order', label: 'Order', icon: 'hash', format: 'number' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW' },\n ],\n },\n ]},\n] as const;\n\n/**\n * std-route-planner - Route creation with waypoints.\n * States: browsing -> planning -> viewing\n */\nexport const ROUTE_PLANNER_BEHAVIOR: BehaviorSchema = {\n name: 'std-route-planner',\n version: '1.0.0',\n description: 'Route planning with ordered waypoints',\n theme: GEOSPATIAL_THEME,\n orbitals: [\n {\n name: 'RoutePlannerOrbital',\n entity: {\n name: 'RoutePoint',\n persistence: 'persistent',\n collection: 'route_points',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'latitude', type: 'number', default: 0 },\n { name: 'longitude', type: 'number', default: 0 },\n { name: 'order', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'RoutePlannerControl',\n linkedEntity: 'RoutePoint',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'planning' },\n { name: 'viewing' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'NEW_ROUTE', name: 'New Route' },\n { key: 'ADD_POINT', name: 'Add Point', payloadSchema: [{ name: 'name', type: 'string', required: true }, { name: 'latitude', type: 'number', required: true }, { name: 'longitude', type: 'number', required: true }] },\n { key: 'VIEW_ROUTE', name: 'View Route' },\n { key: 'BACK', name: 'Back to Routes' },\n { key: 'VIEW', name: 'View Point', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'RoutePoint'],\n [...routeBrowsingMainEffect],\n ],\n },\n {\n from: 'browsing',\n to: 'planning',\n event: 'NEW_ROUTE',\n effects: [\n ['fetch', 'RoutePoint'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Planning header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'compass', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Plan Route' },\n ]},\n { type: 'button', label: 'Back', icon: 'arrow-left', variant: 'secondary', action: 'BACK' },\n ]},\n { type: 'divider' },\n // Add point form\n { type: 'form-section', entity: 'RoutePoint' },\n ]}],\n ],\n },\n {\n from: 'planning',\n to: 'planning',\n event: 'ADD_POINT',\n effects: [\n ['fetch', 'RoutePoint'],\n ['set', '@entity.name', '@payload.name'],\n ['set', '@entity.latitude', '@payload.latitude'],\n ['set', '@entity.longitude', '@payload.longitude'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Planning header with view route\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'compass', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Plan Route' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'View Route', icon: 'eye', variant: 'primary', action: 'VIEW_ROUTE' },\n { type: 'button', label: 'Back', icon: 'arrow-left', variant: 'secondary', action: 'BACK' },\n ]},\n ]},\n { type: 'divider' },\n // Stats\n { type: 'stats', label: 'Route Points', icon: 'map-pin', entity: 'RoutePoint' },\n { type: 'divider' },\n // Current waypoints\n { type: 'data-list', entity: 'RoutePoint',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag' },\n { name: 'latitude', label: 'Lat', icon: 'navigation', format: 'number' },\n { name: 'longitude', label: 'Lng', icon: 'compass', format: 'number' },\n { name: 'order', label: 'Order', icon: 'hash', format: 'number' },\n ],\n itemActions: [{ label: 'View', event: 'VIEW' }],\n },\n { type: 'divider' },\n // Add another point form\n { type: 'form-section', entity: 'RoutePoint' },\n ]}],\n ],\n },\n {\n from: 'planning',\n to: 'viewing',\n event: 'VIEW_ROUTE',\n effects: [\n ['fetch', 'RoutePoint'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Route overview header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'satellite', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Route Overview' },\n ]},\n { type: 'button', label: 'Back', icon: 'arrow-left', variant: 'secondary', action: 'BACK' },\n ]},\n { type: 'divider' },\n // Stats\n { type: 'stats', label: 'Route Points', icon: 'map-pin', entity: 'RoutePoint' },\n { type: 'divider' },\n // Route point list\n { type: 'data-list', entity: 'RoutePoint',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag' },\n { name: 'latitude', label: 'Lat', icon: 'navigation', format: 'number' },\n { name: 'longitude', label: 'Lng', icon: 'compass', format: 'number' },\n { name: 'order', label: 'Order', icon: 'hash', format: 'number' },\n ],\n itemActions: [{ label: 'View', event: 'VIEW' }],\n },\n // Route completeness meter\n { type: 'meter', value: 0, label: 'Route Progress', icon: 'navigation', entity: 'RoutePoint' },\n ]}],\n ],\n },\n {\n from: 'viewing',\n to: 'browsing',\n event: 'BACK',\n effects: [\n ['fetch', 'RoutePoint'],\n [...routeBrowsingMainEffect],\n ],\n },\n {\n from: 'planning',\n to: 'browsing',\n event: 'BACK',\n effects: [\n ['fetch', 'RoutePoint'],\n [...routeBrowsingMainEffect],\n ],\n },\n // VIEW self-transitions\n { from: 'browsing', to: 'browsing', event: 'VIEW', effects: [['fetch', 'RoutePoint'], [...routePointListMainEffect]] },\n { from: 'planning', to: 'planning', event: 'VIEW', effects: [['fetch', 'RoutePoint'], [...routePointListMainEffect]] },\n { from: 'viewing', to: 'viewing', event: 'VIEW', effects: [['fetch', 'RoutePoint'], [...routePointListMainEffect]] },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'RoutesPage',\n path: '/routes',\n isInitial: true,\n traits: [{ ref: 'RoutePlannerControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// Export All Geospatial Behaviors\n// ============================================================================\n\nexport const GEOSPATIAL_BEHAVIORS: BehaviorSchema[] = [\n MAP_VIEW_BEHAVIOR,\n LOCATION_PICKER_BEHAVIOR,\n ROUTE_PLANNER_BEHAVIOR,\n];\n"]}
@@ -0,0 +1,36 @@
1
+ import { BehaviorSchema } from '../types.js';
2
+ import '@almadar/core/types';
3
+
4
+ /**
5
+ * Healthcare Domain Behaviors
6
+ *
7
+ * Standard behaviors for vital signs, patient intake forms,
8
+ * and prescription management.
9
+ * Each behavior is a self-contained OrbitalSchema that passes orbital validate
10
+ * with 0 errors and 0 warnings when exported as a standalone .orb file.
11
+ *
12
+ * Molecule-first UI composition: all render-ui effects use atom/molecule
13
+ * primitives (stack, typography, icon, button, badge, etc.) instead of
14
+ * organism-level patterns (entity-cards, entity-table, detail-panel, page-header).
15
+ *
16
+ * @packageDocumentation
17
+ */
18
+
19
+ /**
20
+ * std-vitals - Vital signs recording and monitoring.
21
+ * States: browsing -> recording -> viewing
22
+ */
23
+ declare const VITALS_BEHAVIOR: BehaviorSchema;
24
+ /**
25
+ * std-intake-form - Multi-step patient intake form.
26
+ * States: idle -> filling -> reviewing -> submitted
27
+ */
28
+ declare const INTAKE_FORM_BEHAVIOR: BehaviorSchema;
29
+ /**
30
+ * std-prescription - Prescription CRUD.
31
+ * States: browsing -> creating -> viewing
32
+ */
33
+ declare const PRESCRIPTION_BEHAVIOR: BehaviorSchema;
34
+ declare const HEALTHCARE_BEHAVIORS: BehaviorSchema[];
35
+
36
+ export { HEALTHCARE_BEHAVIORS, INTAKE_FORM_BEHAVIOR, PRESCRIPTION_BEHAVIOR, VITALS_BEHAVIOR };