@origostudio/origo-design 0.0.57 → 0.0.59

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 (196) hide show
  1. package/CHANGELOG.md +5 -3
  2. package/dist/packages/angular-renderer/CHANGELOG.md +23 -0
  3. package/dist/packages/angular-renderer/package.json +3 -3
  4. package/dist/packages/angular-renderer/src/components/primitives/accordion/accordion.component.d.ts +55 -0
  5. package/dist/packages/angular-renderer/src/components/primitives/accordion/accordion.component.js +206 -0
  6. package/dist/packages/angular-renderer/src/components/primitives/accordion/accordion.component.js.map +1 -0
  7. package/dist/packages/angular-renderer/src/components/primitives/badge/badge.component.d.ts +72 -0
  8. package/dist/packages/angular-renderer/src/components/primitives/badge/badge.component.js +194 -0
  9. package/dist/packages/angular-renderer/src/components/primitives/badge/badge.component.js.map +1 -0
  10. package/dist/packages/angular-renderer/src/components/primitives/block-ui/block-ui.component.d.ts +68 -0
  11. package/dist/packages/angular-renderer/src/components/primitives/block-ui/block-ui.component.js +172 -0
  12. package/dist/packages/angular-renderer/src/components/primitives/block-ui/block-ui.component.js.map +1 -0
  13. package/dist/packages/angular-renderer/src/components/primitives/carousel/carousel.component.d.ts +140 -0
  14. package/dist/packages/angular-renderer/src/components/primitives/carousel/carousel.component.js +399 -0
  15. package/dist/packages/angular-renderer/src/components/primitives/carousel/carousel.component.js.map +1 -0
  16. package/dist/packages/angular-renderer/src/components/primitives/progress-bar/progress-bar.component.d.ts +71 -0
  17. package/dist/packages/angular-renderer/src/components/primitives/progress-bar/progress-bar.component.js +168 -0
  18. package/dist/packages/angular-renderer/src/components/primitives/progress-bar/progress-bar.component.js.map +1 -0
  19. package/dist/packages/angular-renderer/src/components/primitives/skeleton/skeleton.component.d.ts +53 -0
  20. package/dist/packages/angular-renderer/src/components/primitives/skeleton/skeleton.component.js +100 -0
  21. package/dist/packages/angular-renderer/src/components/primitives/skeleton/skeleton.component.js.map +1 -0
  22. package/dist/packages/angular-renderer/src/components/primitives/slider/slider.component.d.ts +145 -0
  23. package/dist/packages/angular-renderer/src/components/primitives/slider/slider.component.js +456 -0
  24. package/dist/packages/angular-renderer/src/components/primitives/slider/slider.component.js.map +1 -0
  25. package/dist/packages/angular-renderer/src/components/primitives/spinner/spinner.component.d.ts +58 -0
  26. package/dist/packages/angular-renderer/src/components/primitives/spinner/spinner.component.js +107 -0
  27. package/dist/packages/angular-renderer/src/components/primitives/spinner/spinner.component.js.map +1 -0
  28. package/dist/packages/angular-renderer/src/components/primitives/tag/tag.component.d.ts +68 -0
  29. package/dist/packages/angular-renderer/src/components/primitives/tag/tag.component.js +151 -0
  30. package/dist/packages/angular-renderer/src/components/primitives/tag/tag.component.js.map +1 -0
  31. package/dist/packages/angular-renderer/src/index.d.ts +9 -0
  32. package/dist/packages/angular-renderer/src/index.js +9 -0
  33. package/dist/packages/angular-renderer/src/index.js.map +1 -1
  34. package/dist/packages/angular-renderer/src/lib/primitives.provider.js +21 -0
  35. package/dist/packages/angular-renderer/src/lib/primitives.provider.js.map +1 -1
  36. package/dist/packages/cli/CHANGELOG.md +8 -0
  37. package/dist/packages/cli/package.json +2 -2
  38. package/dist/packages/cli/package.json.bak +2 -2
  39. package/dist/packages/core/CHANGELOG.md +8 -0
  40. package/dist/packages/core/package.json +1 -1
  41. package/dist/packages/core/package.json.bak +1 -1
  42. package/dist/packages/design-tokens/CHANGELOG.md +8 -0
  43. package/dist/packages/design-tokens/package.json +1 -1
  44. package/package.json +1 -1
  45. package/packages/angular-renderer/CHANGELOG.md +23 -0
  46. package/packages/angular-renderer/package.json +3 -3
  47. package/packages/angular-renderer/src/components/primitives/accordion/accordion.component.html +92 -0
  48. package/packages/angular-renderer/src/components/primitives/accordion/accordion.component.scss +140 -0
  49. package/packages/angular-renderer/src/components/primitives/accordion/accordion.component.ts +253 -0
  50. package/packages/angular-renderer/src/components/primitives/badge/badge.component.html +19 -0
  51. package/packages/angular-renderer/src/components/primitives/badge/badge.component.scss +158 -0
  52. package/packages/angular-renderer/src/components/primitives/badge/badge.component.ts +229 -0
  53. package/packages/angular-renderer/src/components/primitives/block-ui/block-ui.component.html +43 -0
  54. package/packages/angular-renderer/src/components/primitives/block-ui/block-ui.component.scss +76 -0
  55. package/packages/angular-renderer/src/components/primitives/block-ui/block-ui.component.ts +203 -0
  56. package/packages/angular-renderer/src/components/primitives/carousel/carousel.component.html +116 -0
  57. package/packages/angular-renderer/src/components/primitives/carousel/carousel.component.scss +186 -0
  58. package/packages/angular-renderer/src/components/primitives/carousel/carousel.component.ts +467 -0
  59. package/packages/angular-renderer/src/components/primitives/progress-bar/progress-bar.component.html +19 -0
  60. package/packages/angular-renderer/src/components/primitives/progress-bar/progress-bar.component.scss +95 -0
  61. package/packages/angular-renderer/src/components/primitives/progress-bar/progress-bar.component.ts +194 -0
  62. package/packages/angular-renderer/src/components/primitives/skeleton/skeleton.component.html +9 -0
  63. package/packages/angular-renderer/src/components/primitives/skeleton/skeleton.component.scss +86 -0
  64. package/packages/angular-renderer/src/components/primitives/skeleton/skeleton.component.ts +104 -0
  65. package/packages/angular-renderer/src/components/primitives/slider/slider.component.html +144 -0
  66. package/packages/angular-renderer/src/components/primitives/slider/slider.component.scss +174 -0
  67. package/packages/angular-renderer/src/components/primitives/slider/slider.component.ts +513 -0
  68. package/packages/angular-renderer/src/components/primitives/spinner/spinner.component.html +11 -0
  69. package/packages/angular-renderer/src/components/primitives/spinner/spinner.component.scss +108 -0
  70. package/packages/angular-renderer/src/components/primitives/spinner/spinner.component.ts +126 -0
  71. package/packages/angular-renderer/src/components/primitives/tag/tag.component.html +36 -0
  72. package/packages/angular-renderer/src/components/primitives/tag/tag.component.scss +186 -0
  73. package/packages/angular-renderer/src/components/primitives/tag/tag.component.ts +180 -0
  74. package/packages/angular-renderer/src/index.ts +9 -0
  75. package/packages/angular-renderer/src/lib/primitives.provider.ts +21 -0
  76. package/packages/angular-renderer/src/styles/overlay.scss +47 -0
  77. package/packages/cli/CHANGELOG.md +8 -0
  78. package/packages/cli/package.json +2 -2
  79. package/packages/core/CHANGELOG.md +8 -0
  80. package/packages/core/package.json +1 -1
  81. package/packages/design-tokens/CHANGELOG.md +8 -0
  82. package/packages/design-tokens/package.json +1 -1
  83. package/packages/devtools/CHANGELOG.md +8 -0
  84. package/packages/devtools/package.json +3 -3
  85. package/packages/playground/CHANGELOG.md +8 -0
  86. package/packages/playground/package.json +3 -3
  87. package/dist/packages/devtools/browser/devtools.html +0 -19
  88. package/dist/packages/devtools/browser/devtools.js +0 -10
  89. package/dist/packages/devtools/browser/main.js +0 -4
  90. package/dist/packages/devtools/browser/manifest.json +0 -24
  91. package/dist/packages/devtools/browser/panel.html +0 -13
  92. package/dist/packages/devtools/prerendered-routes.json +0 -3
  93. package/dist/packages/playground/browser/_redirects +0 -1
  94. package/dist/packages/playground/browser/chunk--ZIwbUVH.js +0 -2
  95. package/dist/packages/playground/browser/chunk-0Jq1XgT-.js +0 -1
  96. package/dist/packages/playground/browser/chunk-1uGHBWUl.js +0 -2
  97. package/dist/packages/playground/browser/chunk-2TRTBDNJ.css +0 -1
  98. package/dist/packages/playground/browser/chunk-2ZxrbTaV.js +0 -2
  99. package/dist/packages/playground/browser/chunk-5xxumr1i.js +0 -1
  100. package/dist/packages/playground/browser/chunk-6bHgkN4C.js +0 -1
  101. package/dist/packages/playground/browser/chunk-B-3kt7Wr.js +0 -1
  102. package/dist/packages/playground/browser/chunk-BBrBwFOI.js +0 -2
  103. package/dist/packages/playground/browser/chunk-BCLERDSo.js +0 -4
  104. package/dist/packages/playground/browser/chunk-BEZqMFun.js +0 -1
  105. package/dist/packages/playground/browser/chunk-BFTF7KVs.js +0 -2
  106. package/dist/packages/playground/browser/chunk-BFpktVlP.js +0 -2
  107. package/dist/packages/playground/browser/chunk-BGi1R-SY.js +0 -2
  108. package/dist/packages/playground/browser/chunk-BIdEsw7t.js +0 -1
  109. package/dist/packages/playground/browser/chunk-BJJI5OBC.js +0 -1
  110. package/dist/packages/playground/browser/chunk-BNmq5gH8.js +0 -2
  111. package/dist/packages/playground/browser/chunk-BSUcqh0e.js +0 -2
  112. package/dist/packages/playground/browser/chunk-BUAY-bBJ.js +0 -1
  113. package/dist/packages/playground/browser/chunk-BdS5C-M6.js +0 -1
  114. package/dist/packages/playground/browser/chunk-Bel35N-r.js +0 -2
  115. package/dist/packages/playground/browser/chunk-BkTdbZxu.js +0 -2
  116. package/dist/packages/playground/browser/chunk-BpPwZMYf.js +0 -3
  117. package/dist/packages/playground/browser/chunk-BrnSLsyV.js +0 -11
  118. package/dist/packages/playground/browser/chunk-BsdU_5PG.js +0 -1
  119. package/dist/packages/playground/browser/chunk-BvUCxmM0.js +0 -1
  120. package/dist/packages/playground/browser/chunk-BvXhI91k.js +0 -1
  121. package/dist/packages/playground/browser/chunk-BxLGO71C.js +0 -2
  122. package/dist/packages/playground/browser/chunk-BzHgR45y.js +0 -2
  123. package/dist/packages/playground/browser/chunk-BzgTGdjm.js +0 -2
  124. package/dist/packages/playground/browser/chunk-BzrJLr3a.js +0 -2
  125. package/dist/packages/playground/browser/chunk-C-NXORcv.js +0 -1
  126. package/dist/packages/playground/browser/chunk-C34sJvtc.js +0 -2
  127. package/dist/packages/playground/browser/chunk-C5XVtbME.js +0 -1
  128. package/dist/packages/playground/browser/chunk-C6xrdnvb.js +0 -3
  129. package/dist/packages/playground/browser/chunk-CAL7uT4C.js +0 -2
  130. package/dist/packages/playground/browser/chunk-CCox_Mu7.js +0 -2
  131. package/dist/packages/playground/browser/chunk-CJnVxlgo.js +0 -2
  132. package/dist/packages/playground/browser/chunk-CKSXClbP.js +0 -2
  133. package/dist/packages/playground/browser/chunk-COud3SuE.js +0 -2
  134. package/dist/packages/playground/browser/chunk-CTTaxHaO.js +0 -4
  135. package/dist/packages/playground/browser/chunk-CTbwb8L3.js +0 -1
  136. package/dist/packages/playground/browser/chunk-CVYmfeCG.js +0 -2
  137. package/dist/packages/playground/browser/chunk-CYWkyKkM.js +0 -1
  138. package/dist/packages/playground/browser/chunk-C_O66ZGh.js +0 -1
  139. package/dist/packages/playground/browser/chunk-Ch_QEFhD.js +0 -1
  140. package/dist/packages/playground/browser/chunk-ChenIXuo.js +0 -2
  141. package/dist/packages/playground/browser/chunk-Ckan68bh.js +0 -1
  142. package/dist/packages/playground/browser/chunk-CmNHsah5.js +0 -1
  143. package/dist/packages/playground/browser/chunk-CoZGn1Ke.js +0 -1
  144. package/dist/packages/playground/browser/chunk-Cyn20TR6.js +0 -2
  145. package/dist/packages/playground/browser/chunk-D17ySaZ8.js +0 -2
  146. package/dist/packages/playground/browser/chunk-D20p_ekH.js +0 -2
  147. package/dist/packages/playground/browser/chunk-D2lQJK03.js +0 -2
  148. package/dist/packages/playground/browser/chunk-D33JCpxV.js +0 -2
  149. package/dist/packages/playground/browser/chunk-D5sCopgc.js +0 -1
  150. package/dist/packages/playground/browser/chunk-DAmUeszn.js +0 -1
  151. package/dist/packages/playground/browser/chunk-DCp-nKTE.js +0 -1
  152. package/dist/packages/playground/browser/chunk-DDa2v189.js +0 -1
  153. package/dist/packages/playground/browser/chunk-DJi8XLUL.js +0 -2
  154. package/dist/packages/playground/browser/chunk-DNgZhwHt.js +0 -2
  155. package/dist/packages/playground/browser/chunk-DP4tO_m1.js +0 -1
  156. package/dist/packages/playground/browser/chunk-DQqEr5vX.js +0 -1
  157. package/dist/packages/playground/browser/chunk-DR7_0I-7.js +0 -2
  158. package/dist/packages/playground/browser/chunk-DWHFrUs5.js +0 -2
  159. package/dist/packages/playground/browser/chunk-DY4bY_Qa.js +0 -2
  160. package/dist/packages/playground/browser/chunk-Di17h8ti.js +0 -1
  161. package/dist/packages/playground/browser/chunk-Dim3RQJ1.js +0 -2
  162. package/dist/packages/playground/browser/chunk-DjcWDyIz.js +0 -1
  163. package/dist/packages/playground/browser/chunk-Dn5tZnjV.js +0 -2
  164. package/dist/packages/playground/browser/chunk-DoJEePI9.js +0 -1
  165. package/dist/packages/playground/browser/chunk-Dovts48g.js +0 -1
  166. package/dist/packages/playground/browser/chunk-DqKmoBbd.js +0 -2
  167. package/dist/packages/playground/browser/chunk-DtJkNtkO.js +0 -2
  168. package/dist/packages/playground/browser/chunk-DyBKnzx2.js +0 -1
  169. package/dist/packages/playground/browser/chunk-IVtlz9Ng.js +0 -2
  170. package/dist/packages/playground/browser/chunk-RHAdGSf7.js +0 -299
  171. package/dist/packages/playground/browser/chunk-W7F2YCZ3.js +0 -2
  172. package/dist/packages/playground/browser/chunk-Xs7vKdpW.js +0 -1
  173. package/dist/packages/playground/browser/chunk-_46Kkn0W.js +0 -2
  174. package/dist/packages/playground/browser/chunk-a7RvErrz.js +0 -3
  175. package/dist/packages/playground/browser/chunk-cyLDjJx7.js +0 -11
  176. package/dist/packages/playground/browser/chunk-gcokgbu8.js +0 -2
  177. package/dist/packages/playground/browser/chunk-tvAnzeAI.js +0 -1
  178. package/dist/packages/playground/browser/chunk-zG1F-IYa.js +0 -1
  179. package/dist/packages/playground/browser/chunk-zpnfat_1.js +0 -2
  180. package/dist/packages/playground/browser/favicon.ico +0 -0
  181. package/dist/packages/playground/browser/index.html +0 -17
  182. package/dist/packages/playground/browser/logo.png +0 -0
  183. package/dist/packages/playground/browser/main-G2CZZD2X.js +0 -898
  184. package/dist/packages/playground/browser/main-QW47GU6W.css +0 -1
  185. package/dist/packages/playground/browser/media/codicon-37A3DWZT.ttf +0 -0
  186. package/dist/packages/playground/browser/styles-QZDFZ2TY.css +0 -1
  187. package/dist/packages/playground/browser/worker-DK2HODYL.js +0 -46
  188. package/dist/packages/playground/browser/worker-HDML6OSX.js +0 -14
  189. package/dist/packages/playground/browser/worker-XLWIYXAF.js +0 -12
  190. package/dist/packages/playground/prerendered-routes.json +0 -3
  191. package/packages/devtools/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/_metadata.json +0 -8
  192. package/packages/devtools/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/package.json +0 -3
  193. package/packages/devtools/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  194. package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/_metadata.json +0 -8
  195. package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/package.json +0 -3
  196. package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
@@ -0,0 +1,399 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CarouselComponent = exports.CarouselContractSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const common_1 = require("@angular/common");
7
+ const adapter_1 = require("../../../adapters/web/adapter");
8
+ const experience_adapter_service_1 = require("../../../adapters/web/experience-adapter.service");
9
+ exports.CarouselContractSchema = {
10
+ permissions: 'object',
11
+ rules: 'object',
12
+ metadata: 'object',
13
+ 'aria-label': 'string',
14
+ 'aria-describedby': 'string',
15
+ items: 'array',
16
+ value: 'array',
17
+ numVisible: 'number',
18
+ numScroll: 'number',
19
+ orientation: 'string',
20
+ circular: 'boolean',
21
+ autoplay: 'boolean',
22
+ interval: 'number',
23
+ page: 'number',
24
+ responsiveOptions: 'array',
25
+ showNavigators: 'boolean',
26
+ showIndicators: 'boolean',
27
+ pauseOnHover: 'boolean',
28
+ };
29
+ let CarouselComponent = (() => {
30
+ let _classDecorators = [(0, core_1.Component)({
31
+ selector: 'origo-carousel',
32
+ standalone: true,
33
+ templateUrl: './carousel.component.html',
34
+ styleUrls: ['./carousel.component.scss'],
35
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
36
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
37
+ host: {
38
+ '[class.origo-carousel]': 'true',
39
+ '[class.origo-carousel--vertical]': "computedOrientation() === 'vertical'",
40
+ '[attr.data-testid]': 'contract().id',
41
+ '[style.--carousel-num-visible]': 'effectiveNumVisible()',
42
+ },
43
+ })];
44
+ let _classDescriptor;
45
+ let _classExtraInitializers = [];
46
+ let _classThis;
47
+ var CarouselComponent = class {
48
+ static { _classThis = this; }
49
+ static {
50
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
51
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
52
+ CarouselComponent = _classThis = _classDescriptor.value;
53
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
54
+ }
55
+ static contractSchema = exports.CarouselContractSchema;
56
+ static strictContract = false;
57
+ contract = core_1.input.required();
58
+ vc = (0, core_1.viewChild)('vc', { read: core_1.ViewContainerRef });
59
+ viewportEl = (0, core_1.viewChild)('viewport');
60
+ pageChange = (0, core_1.output)();
61
+ itemClick = (0, core_1.output)();
62
+ play = (0, core_1.output)();
63
+ pause = (0, core_1.output)();
64
+ experienceAdapter = (0, core_1.inject)(experience_adapter_service_1.WebExperienceAdapterService);
65
+ platformId = (0, core_1.inject)(core_1.PLATFORM_ID);
66
+ document = (0, core_1.inject)(common_1.DOCUMENT);
67
+ destroyRef = (0, core_1.inject)(core_1.DestroyRef);
68
+ currentPage = (0, core_1.signal)(0);
69
+ responsiveNumVisible = (0, core_1.signal)(null);
70
+ responsiveNumScroll = (0, core_1.signal)(null);
71
+ autoplayTimer = null;
72
+ isHovered = false;
73
+ startX = 0;
74
+ startY = 0;
75
+ isSwiping = false;
76
+ constructor() {
77
+ (0, core_1.effect)(() => {
78
+ const p = this.props().page;
79
+ if (typeof p === 'number' && !isNaN(p)) {
80
+ const safePage = Math.max(0, Math.min(Math.floor(p), this.totalPages() - 1));
81
+ this.currentPage.set(safePage);
82
+ }
83
+ });
84
+ if ((0, common_1.isPlatformBrowser)(this.platformId)) {
85
+ // Visibility change handler
86
+ const onVisibilityChange = () => {
87
+ if (this.document.visibilityState === 'hidden') {
88
+ this.pauseAutoplayInternal();
89
+ }
90
+ else if (this.computedAutoplay() && !this.isHovered) {
91
+ this.startAutoplayInternal();
92
+ }
93
+ };
94
+ this.document.addEventListener('visibilitychange', onVisibilityChange);
95
+ this.destroyRef.onDestroy(() => {
96
+ this.document.removeEventListener('visibilitychange', onVisibilityChange);
97
+ this.stopAutoplayInternal();
98
+ });
99
+ // Responsive options breakpoint watcher
100
+ (0, core_1.effect)(onCleanup => {
101
+ const options = this.props().responsiveOptions;
102
+ if (Array.isArray(options) && options.length > 0 && typeof window !== 'undefined') {
103
+ const checkBreakpoints = () => {
104
+ let matchedOption = null;
105
+ for (const opt of options) {
106
+ if (opt && opt.breakpoint) {
107
+ const query = `(max-width: ${opt.breakpoint})`;
108
+ if (window.matchMedia(query).matches) {
109
+ matchedOption = opt;
110
+ }
111
+ }
112
+ }
113
+ if (matchedOption) {
114
+ this.responsiveNumVisible.set(matchedOption.numVisible);
115
+ this.responsiveNumScroll.set(matchedOption.numScroll);
116
+ }
117
+ else {
118
+ this.responsiveNumVisible.set(null);
119
+ this.responsiveNumScroll.set(null);
120
+ }
121
+ };
122
+ checkBreakpoints();
123
+ window.addEventListener('resize', checkBreakpoints);
124
+ onCleanup(() => window.removeEventListener('resize', checkBreakpoints));
125
+ }
126
+ });
127
+ // Autoplay activation
128
+ (0, core_1.effect)(() => {
129
+ const autoplay = this.computedAutoplay();
130
+ if (autoplay) {
131
+ this.startAutoplayInternal();
132
+ }
133
+ else {
134
+ this.stopAutoplayInternal();
135
+ }
136
+ });
137
+ }
138
+ }
139
+ props = (0, core_1.computed)(() => (0, adapter_1.coerceContractProps)(this.contract().props, exports.CarouselContractSchema));
140
+ computedItems = (0, core_1.computed)(() => {
141
+ const raw = this.props().items ?? this.props().value;
142
+ return Array.isArray(raw) ? raw : [];
143
+ });
144
+ totalItems = (0, core_1.computed)(() => this.computedItems().length);
145
+ computedNumVisible = (0, core_1.computed)(() => {
146
+ const v = this.props().numVisible;
147
+ return typeof v === 'number' && v > 0 ? Math.floor(v) : 1;
148
+ });
149
+ computedNumScroll = (0, core_1.computed)(() => {
150
+ const s = this.props().numScroll;
151
+ return typeof s === 'number' && s > 0 ? Math.floor(s) : 1;
152
+ });
153
+ effectiveNumVisible = (0, core_1.computed)(() => {
154
+ return this.responsiveNumVisible() ?? this.computedNumVisible();
155
+ });
156
+ effectiveNumScroll = (0, core_1.computed)(() => {
157
+ return this.responsiveNumScroll() ?? this.computedNumScroll();
158
+ });
159
+ computedOrientation = (0, core_1.computed)(() => {
160
+ return this.props().orientation === 'vertical' ? 'vertical' : 'horizontal';
161
+ });
162
+ computedCircular = (0, core_1.computed)(() => !!this.props().circular);
163
+ computedAutoplay = (0, core_1.computed)(() => !!this.props().autoplay);
164
+ computedInterval = (0, core_1.computed)(() => {
165
+ const i = this.props().interval;
166
+ return typeof i === 'number' && i >= 500 ? i : 3000;
167
+ });
168
+ computedShowNavigators = (0, core_1.computed)(() => this.props().showNavigators !== false);
169
+ computedShowIndicators = (0, core_1.computed)(() => this.props().showIndicators !== false);
170
+ computedPauseOnHover = (0, core_1.computed)(() => this.props().pauseOnHover !== false);
171
+ computedAriaLabel = (0, core_1.computed)(() => {
172
+ return this.props()['aria-label'] || 'Content Carousel';
173
+ });
174
+ computedAriaDescribedBy = (0, core_1.computed)(() => {
175
+ return this.props()['aria-describedby'];
176
+ });
177
+ totalPages = (0, core_1.computed)(() => {
178
+ const n = this.totalItems();
179
+ if (n <= 0)
180
+ return 1;
181
+ const v = Math.max(1, this.effectiveNumVisible());
182
+ const s = Math.max(1, this.effectiveNumScroll());
183
+ return Math.max(1, Math.ceil((n - v + s) / s));
184
+ });
185
+ pagesArray = (0, core_1.computed)(() => {
186
+ return Array.from({ length: this.totalPages() }, (_, i) => i);
187
+ });
188
+ computedTrackTransform = (0, core_1.computed)(() => {
189
+ const page = this.currentPage();
190
+ const isVertical = this.computedOrientation() === 'vertical';
191
+ if (isVertical) {
192
+ return `translate3d(0, -${page * 100}%, 0)`;
193
+ }
194
+ const isRtl = this.isRtlElement();
195
+ const xOffset = isRtl ? `${page * 100}%` : `-${page * 100}%`;
196
+ return `translate3d(${xOffset}, 0, 0)`;
197
+ });
198
+ setPage(nextPage) {
199
+ const total = this.totalPages();
200
+ const clamped = Math.max(0, Math.min(nextPage, total - 1));
201
+ this.currentPage.set(clamped);
202
+ this.pageChange.emit(clamped);
203
+ const contractId = this.contract().id;
204
+ if (contractId) {
205
+ this.experienceAdapter.updateState(contractId, 'page', clamped);
206
+ this.experienceAdapter.dispatchCapability(contractId, 'pageChange', { page: clamped });
207
+ }
208
+ }
209
+ stepNext(isAutoplay = false) {
210
+ const total = this.totalPages();
211
+ const curr = this.currentPage();
212
+ if (this.computedCircular()) {
213
+ this.setPage((curr + 1) % total);
214
+ }
215
+ else if (curr < total - 1) {
216
+ this.setPage(curr + 1);
217
+ }
218
+ else if (isAutoplay) {
219
+ this.setPage(0);
220
+ }
221
+ }
222
+ stepPrev() {
223
+ const total = this.totalPages();
224
+ const curr = this.currentPage();
225
+ if (this.computedCircular()) {
226
+ this.setPage((curr - 1 + total) % total);
227
+ }
228
+ else if (curr > 0) {
229
+ this.setPage(curr - 1);
230
+ }
231
+ }
232
+ onItemClick(item, index) {
233
+ this.itemClick.emit({ item, index });
234
+ const contractId = this.contract().id;
235
+ if (contractId) {
236
+ this.experienceAdapter.dispatchCapability(contractId, 'itemClick', { item, index });
237
+ }
238
+ }
239
+ onPointerDown(event) {
240
+ this.startX = event.clientX;
241
+ this.startY = event.clientY;
242
+ this.isSwiping = true;
243
+ }
244
+ onPointerUp(event) {
245
+ if (!this.isSwiping)
246
+ return;
247
+ this.isSwiping = false;
248
+ const deltaX = event.clientX - this.startX;
249
+ const deltaY = event.clientY - this.startY;
250
+ if (this.computedOrientation() === 'horizontal') {
251
+ if (Math.abs(deltaX) >= 40) {
252
+ const isRtl = this.isRtlElement(event.currentTarget);
253
+ if (isRtl) {
254
+ if (deltaX > 0)
255
+ this.stepNext();
256
+ else
257
+ this.stepPrev();
258
+ }
259
+ else {
260
+ if (deltaX < 0)
261
+ this.stepNext();
262
+ else
263
+ this.stepPrev();
264
+ }
265
+ }
266
+ }
267
+ else {
268
+ if (Math.abs(deltaY) >= 40) {
269
+ if (deltaY < 0)
270
+ this.stepNext();
271
+ else
272
+ this.stepPrev();
273
+ }
274
+ }
275
+ }
276
+ onPointerCancel() {
277
+ this.isSwiping = false;
278
+ }
279
+ onKeydown(event) {
280
+ const isVertical = this.computedOrientation() === 'vertical';
281
+ if (isVertical) {
282
+ if (event.key === 'ArrowDown') {
283
+ this.stepNext();
284
+ event.preventDefault();
285
+ }
286
+ else if (event.key === 'ArrowUp') {
287
+ this.stepPrev();
288
+ event.preventDefault();
289
+ }
290
+ }
291
+ else {
292
+ const isRtl = this.isRtlElement(event.currentTarget);
293
+ if (event.key === 'ArrowRight') {
294
+ if (isRtl)
295
+ this.stepPrev();
296
+ else
297
+ this.stepNext();
298
+ event.preventDefault();
299
+ }
300
+ else if (event.key === 'ArrowLeft') {
301
+ if (isRtl)
302
+ this.stepNext();
303
+ else
304
+ this.stepPrev();
305
+ event.preventDefault();
306
+ }
307
+ }
308
+ if (event.key === 'Home') {
309
+ this.setPage(0);
310
+ event.preventDefault();
311
+ }
312
+ else if (event.key === 'End') {
313
+ this.setPage(this.totalPages() - 1);
314
+ event.preventDefault();
315
+ }
316
+ }
317
+ onMouseEnter() {
318
+ if (this.computedPauseOnHover()) {
319
+ this.isHovered = true;
320
+ this.pauseAutoplayInternal();
321
+ }
322
+ }
323
+ onMouseLeave() {
324
+ if (this.computedPauseOnHover()) {
325
+ this.isHovered = false;
326
+ if (this.computedAutoplay()) {
327
+ this.startAutoplayInternal();
328
+ }
329
+ }
330
+ }
331
+ onFocusIn() {
332
+ if (this.computedPauseOnHover()) {
333
+ this.isHovered = true;
334
+ this.pauseAutoplayInternal();
335
+ }
336
+ }
337
+ onFocusOut() {
338
+ if (this.computedPauseOnHover()) {
339
+ this.isHovered = false;
340
+ if (this.computedAutoplay()) {
341
+ this.startAutoplayInternal();
342
+ }
343
+ }
344
+ }
345
+ startAutoplayInternal() {
346
+ if (!(0, common_1.isPlatformBrowser)(this.platformId) || !this.computedAutoplay())
347
+ return;
348
+ this.stopAutoplayInternal();
349
+ this.autoplayTimer = setInterval(() => this.stepNext(true), this.computedInterval());
350
+ this.play.emit();
351
+ const contractId = this.contract().id;
352
+ if (contractId) {
353
+ this.experienceAdapter.dispatchCapability(contractId, 'play');
354
+ }
355
+ }
356
+ pauseAutoplayInternal() {
357
+ this.stopAutoplayInternal();
358
+ }
359
+ stopAutoplayInternal() {
360
+ if (this.autoplayTimer) {
361
+ clearInterval(this.autoplayTimer);
362
+ this.autoplayTimer = null;
363
+ this.pause.emit();
364
+ const contractId = this.contract().id;
365
+ if (contractId) {
366
+ this.experienceAdapter.dispatchCapability(contractId, 'pause');
367
+ }
368
+ }
369
+ }
370
+ asObject(item) {
371
+ return item && typeof item === 'object' ? item : null;
372
+ }
373
+ getItemTitle(item) {
374
+ const obj = this.asObject(item);
375
+ return obj && obj['title'] ? String(obj['title']) : null;
376
+ }
377
+ getItemContent(item) {
378
+ const obj = this.asObject(item);
379
+ return obj && obj['content'] ? String(obj['content']) : null;
380
+ }
381
+ getItemImage(item) {
382
+ const obj = this.asObject(item);
383
+ return obj && obj['image'] ? String(obj['image']) : null;
384
+ }
385
+ isRtlElement(target) {
386
+ if (!(0, common_1.isPlatformBrowser)(this.platformId) || typeof window === 'undefined') {
387
+ return false;
388
+ }
389
+ const el = target ?? this.viewportEl()?.nativeElement;
390
+ return el instanceof Element ? window.getComputedStyle(el).direction === 'rtl' : false;
391
+ }
392
+ static {
393
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
394
+ }
395
+ };
396
+ return CarouselComponent = _classThis;
397
+ })();
398
+ exports.CarouselComponent = CarouselComponent;
399
+ //# sourceMappingURL=carousel.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/carousel/carousel.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { InteractionContract } from '@origostudio/core';
2
+ import { OrigoAdapter } from '../../../adapters/web/adapter';
3
+ export interface ProgressBarProps {
4
+ value?: number;
5
+ mode?: 'determinate' | 'indeterminate';
6
+ showValue?: boolean;
7
+ max?: number;
8
+ label?: string;
9
+ unit?: string;
10
+ severity?: 'primary' | 'info' | 'success' | 'warn' | 'warning' | 'error' | string;
11
+ height?: string;
12
+ permissions?: Record<string, string>;
13
+ rules?: Record<string, unknown>;
14
+ metadata?: Record<string, unknown>;
15
+ 'aria-label'?: string;
16
+ 'aria-describedby'?: string;
17
+ }
18
+ export declare const ProgressBarContractSchema: {
19
+ readonly permissions: "object";
20
+ readonly rules: "object";
21
+ readonly metadata: "object";
22
+ readonly 'aria-label': "string";
23
+ readonly 'aria-describedby': "string";
24
+ readonly value: "number";
25
+ readonly mode: "string";
26
+ readonly showValue: "boolean";
27
+ readonly max: "number";
28
+ readonly label: "string";
29
+ readonly unit: "string";
30
+ readonly severity: "string";
31
+ readonly height: "string";
32
+ };
33
+ export declare class ProgressBarComponent implements OrigoAdapter<ProgressBarProps> {
34
+ static readonly contractSchema: {
35
+ readonly permissions: "object";
36
+ readonly rules: "object";
37
+ readonly metadata: "object";
38
+ readonly 'aria-label': "string";
39
+ readonly 'aria-describedby': "string";
40
+ readonly value: "number";
41
+ readonly mode: "string";
42
+ readonly showValue: "boolean";
43
+ readonly max: "number";
44
+ readonly label: "string";
45
+ readonly unit: "string";
46
+ readonly severity: "string";
47
+ readonly height: "string";
48
+ };
49
+ static readonly strictContract = false;
50
+ contract: import("@angular/core").InputSignal<InteractionContract<ProgressBarProps>>;
51
+ complete: import("@angular/core").OutputEmitterRef<void>;
52
+ valueChange: import("@angular/core").OutputEmitterRef<number>;
53
+ private experienceAdapter;
54
+ private hasCompleted;
55
+ private lastReportedValue;
56
+ private lastContractId;
57
+ readonly coercedProps: import("@angular/core").Signal<ProgressBarProps>;
58
+ readonly mode: import("@angular/core").Signal<"determinate" | "indeterminate">;
59
+ readonly safeMax: import("@angular/core").Signal<number>;
60
+ readonly clampedValue: import("@angular/core").Signal<number>;
61
+ readonly percentage: import("@angular/core").Signal<number>;
62
+ readonly showValue: import("@angular/core").Signal<boolean>;
63
+ readonly computedLabel: import("@angular/core").Signal<string | undefined>;
64
+ readonly ariaDescribedBy: import("@angular/core").Signal<string | undefined>;
65
+ readonly unit: import("@angular/core").Signal<string>;
66
+ readonly formattedValue: import("@angular/core").Signal<string>;
67
+ readonly computedHeight: import("@angular/core").Signal<string | undefined>;
68
+ readonly computedSeverityClass: import("@angular/core").Signal<string>;
69
+ readonly computedHostClasses: import("@angular/core").Signal<string>;
70
+ constructor();
71
+ }
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProgressBarComponent = exports.ProgressBarContractSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@angular/core");
6
+ const common_1 = require("@angular/common");
7
+ const adapter_1 = require("../../../adapters/web/adapter");
8
+ const experience_adapter_service_1 = require("../../../adapters/web/experience-adapter.service");
9
+ exports.ProgressBarContractSchema = {
10
+ permissions: 'object',
11
+ rules: 'object',
12
+ metadata: 'object',
13
+ 'aria-label': 'string',
14
+ 'aria-describedby': 'string',
15
+ value: 'number',
16
+ mode: 'string',
17
+ showValue: 'boolean',
18
+ max: 'number',
19
+ label: 'string',
20
+ unit: 'string',
21
+ severity: 'string',
22
+ height: 'string',
23
+ };
24
+ let ProgressBarComponent = (() => {
25
+ let _classDecorators = [(0, core_1.Component)({
26
+ selector: 'origo-progress-bar',
27
+ standalone: true,
28
+ imports: [common_1.CommonModule],
29
+ templateUrl: './progress-bar.component.html',
30
+ styleUrls: ['./progress-bar.component.scss'],
31
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
32
+ encapsulation: core_1.ViewEncapsulation.ShadowDom,
33
+ host: {
34
+ '[class]': 'computedHostClasses()',
35
+ '[attr.data-testid]': 'contract().id',
36
+ role: 'progressbar',
37
+ '[attr.aria-valuenow]': "mode() === 'determinate' ? clampedValue() : null",
38
+ '[attr.aria-valuemin]': "mode() === 'determinate' ? '0' : null",
39
+ '[attr.aria-valuemax]': "mode() === 'determinate' ? safeMax() : null",
40
+ '[attr.aria-label]': "computedLabel() || 'Progress'",
41
+ '[attr.aria-describedby]': 'ariaDescribedBy()',
42
+ '[style.--origo-progress-height]': 'computedHeight()',
43
+ },
44
+ })];
45
+ let _classDescriptor;
46
+ let _classExtraInitializers = [];
47
+ let _classThis;
48
+ var ProgressBarComponent = class {
49
+ static { _classThis = this; }
50
+ static {
51
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
52
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
53
+ ProgressBarComponent = _classThis = _classDescriptor.value;
54
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
55
+ }
56
+ static contractSchema = exports.ProgressBarContractSchema;
57
+ static strictContract = false;
58
+ contract = core_1.input.required();
59
+ complete = (0, core_1.output)();
60
+ valueChange = (0, core_1.output)();
61
+ experienceAdapter = (0, core_1.inject)(experience_adapter_service_1.WebExperienceAdapterService, { optional: true });
62
+ hasCompleted = false;
63
+ lastReportedValue = null;
64
+ lastContractId = null;
65
+ coercedProps = (0, core_1.computed)(() => (0, adapter_1.coerceContractProps)(this.contract()?.props, exports.ProgressBarContractSchema));
66
+ mode = (0, core_1.computed)(() => {
67
+ return this.coercedProps().mode === 'indeterminate' ? 'indeterminate' : 'determinate';
68
+ });
69
+ safeMax = (0, core_1.computed)(() => {
70
+ const m = this.coercedProps().max;
71
+ if (typeof m === 'boolean')
72
+ return 100;
73
+ const num = Number(m);
74
+ return !isNaN(num) && num > 0 ? num : 100;
75
+ });
76
+ clampedValue = (0, core_1.computed)(() => {
77
+ const v = this.coercedProps().value;
78
+ if (typeof v === 'boolean')
79
+ return 0;
80
+ const num = v !== undefined && v !== null ? Number(v) : 0;
81
+ return Math.min(Math.max(isNaN(num) ? 0 : num, 0), this.safeMax());
82
+ });
83
+ percentage = (0, core_1.computed)(() => {
84
+ return (this.clampedValue() / this.safeMax()) * 100;
85
+ });
86
+ showValue = (0, core_1.computed)(() => {
87
+ if (this.mode() === 'indeterminate')
88
+ return false;
89
+ return this.coercedProps().showValue ?? true;
90
+ });
91
+ computedLabel = (0, core_1.computed)(() => {
92
+ return this.coercedProps().label ?? this.coercedProps()['aria-label'];
93
+ });
94
+ ariaDescribedBy = (0, core_1.computed)(() => this.coercedProps()['aria-describedby']);
95
+ unit = (0, core_1.computed)(() => this.coercedProps().unit ?? '%');
96
+ formattedValue = (0, core_1.computed)(() => {
97
+ if (this.unit() === '%') {
98
+ return `${Math.round(this.percentage())}%`;
99
+ }
100
+ return `${this.clampedValue()}${this.unit()}`;
101
+ });
102
+ computedHeight = (0, core_1.computed)(() => {
103
+ return this.coercedProps().height;
104
+ });
105
+ computedSeverityClass = (0, core_1.computed)(() => {
106
+ const s = this.coercedProps().severity?.toLowerCase() || 'primary';
107
+ const normalized = s === 'warn' || s === 'warning' ? 'warning' : s;
108
+ return `origo-progress-bar--severity-${normalized}`;
109
+ });
110
+ computedHostClasses = (0, core_1.computed)(() => {
111
+ const classes = ['origo-progress-bar-host', this.computedSeverityClass()];
112
+ if (this.mode() === 'indeterminate') {
113
+ classes.push('origo-progress-bar--indeterminate');
114
+ }
115
+ return classes.join(' ');
116
+ });
117
+ constructor() {
118
+ (0, core_1.effect)(() => {
119
+ const val = this.clampedValue();
120
+ const max = this.safeMax();
121
+ const currentMode = this.mode();
122
+ const contractId = this.contract()?.id ?? null;
123
+ if (this.lastContractId !== contractId) {
124
+ this.lastContractId = contractId;
125
+ this.hasCompleted = currentMode === 'determinate' && val >= max && max > 0;
126
+ this.lastReportedValue = val;
127
+ return;
128
+ }
129
+ if (currentMode === 'indeterminate') {
130
+ this.hasCompleted = false;
131
+ }
132
+ // Subsequent changes
133
+ if (this.lastReportedValue !== val) {
134
+ this.lastReportedValue = val;
135
+ (0, core_1.untracked)(() => {
136
+ this.valueChange.emit(val);
137
+ if (contractId) {
138
+ this.experienceAdapter?.updateState(contractId, 'value', val);
139
+ }
140
+ });
141
+ }
142
+ if (currentMode === 'determinate' && val >= max && max > 0) {
143
+ if (!this.hasCompleted) {
144
+ this.hasCompleted = true;
145
+ (0, core_1.untracked)(() => {
146
+ this.complete.emit();
147
+ if (contractId) {
148
+ this.experienceAdapter?.dispatchCapability(contractId, 'complete', {
149
+ value: val,
150
+ max,
151
+ });
152
+ }
153
+ });
154
+ }
155
+ }
156
+ else if (val < max || currentMode === 'indeterminate') {
157
+ this.hasCompleted = false;
158
+ }
159
+ });
160
+ }
161
+ static {
162
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
163
+ }
164
+ };
165
+ return ProgressBarComponent = _classThis;
166
+ })();
167
+ exports.ProgressBarComponent = ProgressBarComponent;
168
+ //# sourceMappingURL=progress-bar.component.js.map