@nascentdigital/funnel-core 4.4.4

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 (368) hide show
  1. package/dist/app/AppConfig.d.ts +41 -0
  2. package/dist/app/AppConfig.js +93 -0
  3. package/dist/app/BrandConfig.d.ts +13 -0
  4. package/dist/app/BrandConfig.js +2 -0
  5. package/dist/app/FeaturesConfig.d.ts +6 -0
  6. package/dist/app/FeaturesConfig.js +2 -0
  7. package/dist/app/RegionsConfig.d.ts +43 -0
  8. package/dist/app/RegionsConfig.js +113 -0
  9. package/dist/app/UIConfig.d.ts +4 -0
  10. package/dist/app/UIConfig.js +2 -0
  11. package/dist/app/index.d.ts +5 -0
  12. package/dist/app/index.js +21 -0
  13. package/dist/consent/ConsentCategory.d.ts +12 -0
  14. package/dist/consent/ConsentCategory.js +28 -0
  15. package/dist/consent/ConsentService.d.ts +15 -0
  16. package/dist/consent/ConsentService.js +37 -0
  17. package/dist/consent/index.d.ts +2 -0
  18. package/dist/consent/index.js +18 -0
  19. package/dist/errors/IsometricError.d.ts +19 -0
  20. package/dist/errors/IsometricError.js +30 -0
  21. package/dist/errors/IsometricErrorModule.d.ts +11 -0
  22. package/dist/errors/IsometricErrorModule.js +2 -0
  23. package/dist/errors/IsometricErrorUtils.d.ts +9 -0
  24. package/dist/errors/IsometricErrorUtils.js +85 -0
  25. package/dist/errors/SerializedIsometricError.d.ts +10 -0
  26. package/dist/errors/SerializedIsometricError.js +15 -0
  27. package/dist/errors/api/ApiError.d.ts +15 -0
  28. package/dist/errors/api/ApiError.js +23 -0
  29. package/dist/errors/api/ApiErrors.d.ts +7 -0
  30. package/dist/errors/api/ApiErrors.js +67 -0
  31. package/dist/errors/api/ArgumentError.d.ts +7 -0
  32. package/dist/errors/api/ArgumentError.js +18 -0
  33. package/dist/errors/api/ConcurrencyError.d.ts +4 -0
  34. package/dist/errors/api/ConcurrencyError.js +11 -0
  35. package/dist/errors/api/ConflictError.d.ts +4 -0
  36. package/dist/errors/api/ConflictError.js +11 -0
  37. package/dist/errors/api/DependencyError.d.ts +4 -0
  38. package/dist/errors/api/DependencyError.js +11 -0
  39. package/dist/errors/api/IllegalStateError.d.ts +4 -0
  40. package/dist/errors/api/IllegalStateError.js +11 -0
  41. package/dist/errors/api/InvalidOperationError.d.ts +4 -0
  42. package/dist/errors/api/InvalidOperationError.js +11 -0
  43. package/dist/errors/api/NotAuthenticatedError.d.ts +4 -0
  44. package/dist/errors/api/NotAuthenticatedError.js +11 -0
  45. package/dist/errors/api/NotAuthorizedError.d.ts +4 -0
  46. package/dist/errors/api/NotAuthorizedError.js +11 -0
  47. package/dist/errors/api/NotAvailableError.d.ts +4 -0
  48. package/dist/errors/api/NotAvailableError.js +11 -0
  49. package/dist/errors/api/NotFoundError.d.ts +4 -0
  50. package/dist/errors/api/NotFoundError.js +11 -0
  51. package/dist/errors/api/NotImplementedError.d.ts +4 -0
  52. package/dist/errors/api/NotImplementedError.js +11 -0
  53. package/dist/errors/api/OfflineError.d.ts +4 -0
  54. package/dist/errors/api/OfflineError.js +11 -0
  55. package/dist/errors/api/RangeError.d.ts +4 -0
  56. package/dist/errors/api/RangeError.js +11 -0
  57. package/dist/errors/api/ServerError.d.ts +4 -0
  58. package/dist/errors/api/ServerError.js +11 -0
  59. package/dist/errors/api/TimeoutError.d.ts +4 -0
  60. package/dist/errors/api/TimeoutError.js +11 -0
  61. package/dist/errors/api/index.d.ts +16 -0
  62. package/dist/errors/api/index.js +32 -0
  63. package/dist/errors/index.d.ts +5 -0
  64. package/dist/errors/index.js +26 -0
  65. package/dist/forms/FormModel.d.ts +47 -0
  66. package/dist/forms/FormModel.js +149 -0
  67. package/dist/forms/Forms.d.ts +15 -0
  68. package/dist/forms/Forms.js +35 -0
  69. package/dist/forms/IFormService.d.ts +6 -0
  70. package/dist/forms/IFormService.js +2 -0
  71. package/dist/forms/TranslateSchema.d.ts +8 -0
  72. package/dist/forms/TranslateSchema.js +2 -0
  73. package/dist/forms/index.d.ts +4 -0
  74. package/dist/forms/index.js +20 -0
  75. package/dist/index.d.ts +10 -0
  76. package/dist/index.js +49 -0
  77. package/dist/regionalization/Country.d.ts +266 -0
  78. package/dist/regionalization/Country.js +338 -0
  79. package/dist/regionalization/Language.d.ts +199 -0
  80. package/dist/regionalization/Language.js +237 -0
  81. package/dist/regionalization/Locale.d.ts +28 -0
  82. package/dist/regionalization/Locale.js +49 -0
  83. package/dist/regionalization/Localized.d.ts +10 -0
  84. package/dist/regionalization/Localized.js +36 -0
  85. package/dist/regionalization/LocalizedCopy.d.ts +9 -0
  86. package/dist/regionalization/LocalizedCopy.js +26 -0
  87. package/dist/regionalization/Regionalization.d.ts +50 -0
  88. package/dist/regionalization/Regionalization.js +260 -0
  89. package/dist/regionalization/Regions.d.ts +2 -0
  90. package/dist/regionalization/Regions.js +2 -0
  91. package/dist/regionalization/index.d.ts +7 -0
  92. package/dist/regionalization/index.js +23 -0
  93. package/dist/schema/Asset.d.ts +23 -0
  94. package/dist/schema/Asset.js +36 -0
  95. package/dist/schema/AssetScope.d.ts +75 -0
  96. package/dist/schema/AssetScope.js +146 -0
  97. package/dist/schema/Block.d.ts +105 -0
  98. package/dist/schema/Block.js +122 -0
  99. package/dist/schema/ChangeSet.d.ts +108 -0
  100. package/dist/schema/ChangeSet.js +187 -0
  101. package/dist/schema/Collection.d.ts +197 -0
  102. package/dist/schema/Collection.js +165 -0
  103. package/dist/schema/CollectionModel.d.ts +30 -0
  104. package/dist/schema/CollectionModel.js +383 -0
  105. package/dist/schema/CollectionSnapshot.d.ts +11 -0
  106. package/dist/schema/CollectionSnapshot.js +12 -0
  107. package/dist/schema/Fields.d.ts +31 -0
  108. package/dist/schema/Fields.js +21 -0
  109. package/dist/schema/Form.d.ts +31 -0
  110. package/dist/schema/Form.js +23 -0
  111. package/dist/schema/LinkedCollectionModel.d.ts +9 -0
  112. package/dist/schema/LinkedCollectionModel.js +19 -0
  113. package/dist/schema/LinkedData.d.ts +44 -0
  114. package/dist/schema/LinkedData.js +288 -0
  115. package/dist/schema/LinkedPageModel.d.ts +11 -0
  116. package/dist/schema/LinkedPageModel.js +26 -0
  117. package/dist/schema/Optional.d.ts +23 -0
  118. package/dist/schema/Optional.js +34 -0
  119. package/dist/schema/Page.d.ts +299 -0
  120. package/dist/schema/Page.js +244 -0
  121. package/dist/schema/PageModel.d.ts +58 -0
  122. package/dist/schema/PageModel.js +881 -0
  123. package/dist/schema/PageQuery.d.ts +60 -0
  124. package/dist/schema/PageQuery.js +116 -0
  125. package/dist/schema/PageRoute.d.ts +7 -0
  126. package/dist/schema/PageRoute.js +48 -0
  127. package/dist/schema/PageSnapshot.d.ts +11 -0
  128. package/dist/schema/PageSnapshot.js +12 -0
  129. package/dist/schema/Section.d.ts +71 -0
  130. package/dist/schema/Section.js +35 -0
  131. package/dist/schema/Seo.d.ts +13 -0
  132. package/dist/schema/Seo.js +25 -0
  133. package/dist/schema/Site.d.ts +40 -0
  134. package/dist/schema/Site.js +87 -0
  135. package/dist/schema/SiteModel.d.ts +5 -0
  136. package/dist/schema/SiteModel.js +10 -0
  137. package/dist/schema/Tag.d.ts +28 -0
  138. package/dist/schema/Tag.js +59 -0
  139. package/dist/schema/TagGroup.d.ts +26 -0
  140. package/dist/schema/TagGroup.js +64 -0
  141. package/dist/schema/field/Field.d.ts +179 -0
  142. package/dist/schema/field/Field.js +309 -0
  143. package/dist/schema/field/base/AssetField.d.ts +148 -0
  144. package/dist/schema/field/base/AssetField.js +206 -0
  145. package/dist/schema/field/base/BooleanField.d.ts +21 -0
  146. package/dist/schema/field/base/BooleanField.js +38 -0
  147. package/dist/schema/field/base/CollectionField.d.ts +34 -0
  148. package/dist/schema/field/base/CollectionField.js +85 -0
  149. package/dist/schema/field/base/DateField.d.ts +21 -0
  150. package/dist/schema/field/base/DateField.js +37 -0
  151. package/dist/schema/field/base/DynamicPagesField.d.ts +36 -0
  152. package/dist/schema/field/base/DynamicPagesField.js +50 -0
  153. package/dist/schema/field/base/EmbeddedVideoField.d.ts +45 -0
  154. package/dist/schema/field/base/EmbeddedVideoField.js +176 -0
  155. package/dist/schema/field/base/EnumField.d.ts +40 -0
  156. package/dist/schema/field/base/EnumField.js +131 -0
  157. package/dist/schema/field/base/FormField.d.ts +25 -0
  158. package/dist/schema/field/base/FormField.js +48 -0
  159. package/dist/schema/field/base/LinkField.d.ts +103 -0
  160. package/dist/schema/field/base/LinkField.js +201 -0
  161. package/dist/schema/field/base/PageField.d.ts +46 -0
  162. package/dist/schema/field/base/PageField.js +83 -0
  163. package/dist/schema/field/base/RichTextField.d.ts +71 -0
  164. package/dist/schema/field/base/RichTextField.js +196 -0
  165. package/dist/schema/field/base/TextField.d.ts +33 -0
  166. package/dist/schema/field/base/TextField.js +86 -0
  167. package/dist/schema/field/base/TimestampField.d.ts +25 -0
  168. package/dist/schema/field/base/TimestampField.js +41 -0
  169. package/dist/schema/field/base/index.d.ts +13 -0
  170. package/dist/schema/field/base/index.js +29 -0
  171. package/dist/schema/field/composite/ListField.d.ts +47 -0
  172. package/dist/schema/field/composite/ListField.js +107 -0
  173. package/dist/schema/field/composite/ObjectField.d.ts +56 -0
  174. package/dist/schema/field/composite/ObjectField.js +19 -0
  175. package/dist/schema/field/composite/index.d.ts +2 -0
  176. package/dist/schema/field/composite/index.js +18 -0
  177. package/dist/schema/field/index.d.ts +3 -0
  178. package/dist/schema/field/index.js +19 -0
  179. package/dist/schema/index.d.ts +25 -0
  180. package/dist/schema/index.js +41 -0
  181. package/dist/services/EventBus.d.ts +17 -0
  182. package/dist/services/EventBus.js +37 -0
  183. package/dist/services/humanVerification/IHumanVerification.d.ts +8 -0
  184. package/dist/services/humanVerification/IHumanVerification.js +2 -0
  185. package/dist/services/humanVerification/index.d.ts +1 -0
  186. package/dist/services/humanVerification/index.js +17 -0
  187. package/dist/services/index.d.ts +3 -0
  188. package/dist/services/index.js +19 -0
  189. package/dist/services/leadGen/Contact.d.ts +40 -0
  190. package/dist/services/leadGen/Contact.js +38 -0
  191. package/dist/services/leadGen/ILeadGen.d.ts +16 -0
  192. package/dist/services/leadGen/ILeadGen.js +2 -0
  193. package/dist/services/leadGen/index.d.ts +2 -0
  194. package/dist/services/leadGen/index.js +18 -0
  195. package/dist/types/BoxedValue.d.ts +3 -0
  196. package/dist/types/BoxedValue.js +2 -0
  197. package/dist/types/Callback.d.ts +9 -0
  198. package/dist/types/Callback.js +2 -0
  199. package/dist/types/DateString.d.ts +35 -0
  200. package/dist/types/DateString.js +172 -0
  201. package/dist/types/FilterConditionally.d.ts +3 -0
  202. package/dist/types/FilterConditionally.js +2 -0
  203. package/dist/types/MaybeConditionalValue.d.ts +8 -0
  204. package/dist/types/MaybeConditionalValue.js +12 -0
  205. package/dist/types/Ordinal.d.ts +17 -0
  206. package/dist/types/Ordinal.js +38 -0
  207. package/dist/types/OverridableStringUnion.d.ts +2 -0
  208. package/dist/types/OverridableStringUnion.js +2 -0
  209. package/dist/types/PartialBy.d.ts +1 -0
  210. package/dist/types/PartialBy.js +2 -0
  211. package/dist/types/PickData.d.ts +6 -0
  212. package/dist/types/PickData.js +2 -0
  213. package/dist/types/Provider.d.ts +4 -0
  214. package/dist/types/Provider.js +2 -0
  215. package/dist/types/RequiredBy.d.ts +1 -0
  216. package/dist/types/RequiredBy.js +2 -0
  217. package/dist/types/Result.d.ts +16 -0
  218. package/dist/types/Result.js +2 -0
  219. package/dist/types/Timestamp.d.ts +17 -0
  220. package/dist/types/Timestamp.js +57 -0
  221. package/dist/types/Transform.d.ts +4 -0
  222. package/dist/types/Transform.js +2 -0
  223. package/dist/types/index.d.ts +14 -0
  224. package/dist/types/index.js +30 -0
  225. package/dist/ui/Accessible.d.ts +5 -0
  226. package/dist/ui/Accessible.js +15 -0
  227. package/dist/ui/BlockThemes.d.ts +19 -0
  228. package/dist/ui/BlockThemes.js +29 -0
  229. package/dist/ui/ColorMode.d.ts +12 -0
  230. package/dist/ui/ColorMode.js +49 -0
  231. package/dist/ui/File.d.ts +43 -0
  232. package/dist/ui/File.js +55 -0
  233. package/dist/ui/FileType.d.ts +8 -0
  234. package/dist/ui/FileType.js +48 -0
  235. package/dist/ui/ImageSource.d.ts +12 -0
  236. package/dist/ui/ImageSource.js +48 -0
  237. package/dist/ui/MimeType.d.ts +28 -0
  238. package/dist/ui/MimeType.js +110 -0
  239. package/dist/ui/Placement.d.ts +21 -0
  240. package/dist/ui/Placement.js +135 -0
  241. package/dist/ui/Position.d.ts +6 -0
  242. package/dist/ui/Position.js +42 -0
  243. package/dist/ui/Selector.d.ts +6 -0
  244. package/dist/ui/Selector.js +23 -0
  245. package/dist/ui/SemanticColor.d.ts +8 -0
  246. package/dist/ui/SemanticColor.js +237 -0
  247. package/dist/ui/Visual.d.ts +24 -0
  248. package/dist/ui/Visual.js +66 -0
  249. package/dist/ui/block-layout/BlockLayout.d.ts +99 -0
  250. package/dist/ui/block-layout/BlockLayout.js +286 -0
  251. package/dist/ui/block-layout/index.d.ts +1 -0
  252. package/dist/ui/block-layout/index.js +17 -0
  253. package/dist/ui/browser/BlurHasher.d.ts +13 -0
  254. package/dist/ui/browser/BlurHasher.js +76 -0
  255. package/dist/ui/browser/Browser.d.ts +107 -0
  256. package/dist/ui/browser/Browser.js +313 -0
  257. package/dist/ui/browser/ImageProxy.d.ts +30 -0
  258. package/dist/ui/browser/ImageProxy.js +132 -0
  259. package/dist/ui/browser/InputEvent.d.ts +13 -0
  260. package/dist/ui/browser/InputEvent.js +2 -0
  261. package/dist/ui/browser/SVGProxy.d.ts +9 -0
  262. package/dist/ui/browser/SVGProxy.js +59 -0
  263. package/dist/ui/browser/VideoProxy.d.ts +42 -0
  264. package/dist/ui/browser/VideoProxy.js +235 -0
  265. package/dist/ui/browser/index.d.ts +6 -0
  266. package/dist/ui/browser/index.js +22 -0
  267. package/dist/ui/fields/Field.d.ts +80 -0
  268. package/dist/ui/fields/Field.js +298 -0
  269. package/dist/ui/fields/FieldList.d.ts +80 -0
  270. package/dist/ui/fields/FieldList.js +421 -0
  271. package/dist/ui/fields/FieldListValidator.d.ts +9 -0
  272. package/dist/ui/fields/FieldListValidator.js +37 -0
  273. package/dist/ui/fields/FieldModel.d.ts +15 -0
  274. package/dist/ui/fields/FieldModel.js +28 -0
  275. package/dist/ui/fields/FieldSerializer.d.ts +13 -0
  276. package/dist/ui/fields/FieldSerializer.js +71 -0
  277. package/dist/ui/fields/FieldValidator.d.ts +19 -0
  278. package/dist/ui/fields/FieldValidator.js +98 -0
  279. package/dist/ui/fields/ObjectField.d.ts +75 -0
  280. package/dist/ui/fields/ObjectField.js +288 -0
  281. package/dist/ui/fields/errors.json +44 -0
  282. package/dist/ui/fields/index.d.ts +7 -0
  283. package/dist/ui/fields/index.js +23 -0
  284. package/dist/ui/fields/validators/AssetValidator.d.ts +9 -0
  285. package/dist/ui/fields/validators/AssetValidator.js +25 -0
  286. package/dist/ui/fields/validators/DateValidator.d.ts +9 -0
  287. package/dist/ui/fields/validators/DateValidator.js +41 -0
  288. package/dist/ui/fields/validators/EnumValidator.d.ts +10 -0
  289. package/dist/ui/fields/validators/EnumValidator.js +77 -0
  290. package/dist/ui/fields/validators/GenericValidator.d.ts +6 -0
  291. package/dist/ui/fields/validators/GenericValidator.js +22 -0
  292. package/dist/ui/fields/validators/LinkValidator.d.ts +9 -0
  293. package/dist/ui/fields/validators/LinkValidator.js +146 -0
  294. package/dist/ui/fields/validators/RichTextValidator.d.ts +6 -0
  295. package/dist/ui/fields/validators/RichTextValidator.js +35 -0
  296. package/dist/ui/fields/validators/TextValidator.d.ts +10 -0
  297. package/dist/ui/fields/validators/TextValidator.js +138 -0
  298. package/dist/ui/fields/validators/TimestampValidator.d.ts +9 -0
  299. package/dist/ui/fields/validators/TimestampValidator.js +41 -0
  300. package/dist/ui/fields/validators/ValidatorHelper.d.ts +23 -0
  301. package/dist/ui/fields/validators/ValidatorHelper.js +55 -0
  302. package/dist/ui/fields/validators/index.d.ts +8 -0
  303. package/dist/ui/fields/validators/index.js +24 -0
  304. package/dist/ui/geometry/AspectRatio.d.ts +27 -0
  305. package/dist/ui/geometry/AspectRatio.js +77 -0
  306. package/dist/ui/geometry/Bounds.d.ts +4 -0
  307. package/dist/ui/geometry/Bounds.js +11 -0
  308. package/dist/ui/geometry/Frame.d.ts +3 -0
  309. package/dist/ui/geometry/Frame.js +2 -0
  310. package/dist/ui/geometry/Insets.d.ts +14 -0
  311. package/dist/ui/geometry/Insets.js +14 -0
  312. package/dist/ui/geometry/PixelSize.d.ts +1 -0
  313. package/dist/ui/geometry/PixelSize.js +2 -0
  314. package/dist/ui/geometry/Point.d.ts +7 -0
  315. package/dist/ui/geometry/Point.js +15 -0
  316. package/dist/ui/geometry/Rect.d.ts +19 -0
  317. package/dist/ui/geometry/Rect.js +68 -0
  318. package/dist/ui/geometry/ScreenSize.d.ts +1 -0
  319. package/dist/ui/geometry/ScreenSize.js +2 -0
  320. package/dist/ui/geometry/Size.d.ts +7 -0
  321. package/dist/ui/geometry/Size.js +9 -0
  322. package/dist/ui/geometry/index.d.ts +9 -0
  323. package/dist/ui/geometry/index.js +25 -0
  324. package/dist/ui/index.d.ts +18 -0
  325. package/dist/ui/index.js +34 -0
  326. package/dist/ui/responsive/Breakpoint.d.ts +8 -0
  327. package/dist/ui/responsive/Breakpoint.js +24 -0
  328. package/dist/ui/responsive/BreakpointObserver.d.ts +16 -0
  329. package/dist/ui/responsive/BreakpointObserver.js +104 -0
  330. package/dist/ui/responsive/Breakpoints.d.ts +5 -0
  331. package/dist/ui/responsive/Breakpoints.js +15 -0
  332. package/dist/ui/responsive/ResponsiveValue.d.ts +7 -0
  333. package/dist/ui/responsive/ResponsiveValue.js +26 -0
  334. package/dist/ui/responsive/index.d.ts +4 -0
  335. package/dist/ui/responsive/index.js +20 -0
  336. package/dist/ui/richtext/LexicalUtils.d.ts +31 -0
  337. package/dist/ui/richtext/LexicalUtils.js +314 -0
  338. package/dist/ui/richtext/StyledTextNode.d.ts +33 -0
  339. package/dist/ui/richtext/StyledTextNode.js +101 -0
  340. package/dist/ui/richtext/index.d.ts +2 -0
  341. package/dist/ui/richtext/index.js +18 -0
  342. package/dist/utils/ArrayUtils.d.ts +17 -0
  343. package/dist/utils/ArrayUtils.js +66 -0
  344. package/dist/utils/ByteSize.d.ts +19 -0
  345. package/dist/utils/ByteSize.js +33 -0
  346. package/dist/utils/DateUtils.d.ts +15 -0
  347. package/dist/utils/DateUtils.js +100 -0
  348. package/dist/utils/Deferral.d.ts +28 -0
  349. package/dist/utils/Deferral.js +107 -0
  350. package/dist/utils/Duration.d.ts +7 -0
  351. package/dist/utils/Duration.js +35 -0
  352. package/dist/utils/Fn.d.ts +14 -0
  353. package/dist/utils/Fn.js +52 -0
  354. package/dist/utils/ObjectUtils.d.ts +89 -0
  355. package/dist/utils/ObjectUtils.js +159 -0
  356. package/dist/utils/Random.d.ts +15 -0
  357. package/dist/utils/Random.js +72 -0
  358. package/dist/utils/StringUtils.d.ts +10 -0
  359. package/dist/utils/StringUtils.js +51 -0
  360. package/dist/utils/UrlUtils.d.ts +22 -0
  361. package/dist/utils/UrlUtils.js +119 -0
  362. package/dist/utils/Value.d.ts +23 -0
  363. package/dist/utils/Value.js +122 -0
  364. package/dist/utils/index.d.ts +12 -0
  365. package/dist/utils/index.js +28 -0
  366. package/dist/utils/isDefined.d.ts +1 -0
  367. package/dist/utils/isDefined.js +6 -0
  368. package/package.json +64 -0
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamicPagesField = void 0;
4
+ const index_1 = require("../index");
5
+ // class
6
+ class DynamicPagesField extends index_1.Field {
7
+ constructor(args) {
8
+ var _a;
9
+ // construct base
10
+ super(args);
11
+ this.type = 'dynamic.pages';
12
+ // initialize instance variables
13
+ this.types = (_a = args.types) !== null && _a !== void 0 ? _a : 'all';
14
+ this.size = args.size;
15
+ }
16
+ get schema() {
17
+ return {
18
+ types: this.types,
19
+ size: this.size
20
+ };
21
+ }
22
+ modify(args) {
23
+ return new DynamicPagesField(Object.assign({ name: this.name, hint: this.hint, description: this.description, required: this.required, types: this.types, size: this.size }, args));
24
+ }
25
+ }
26
+ exports.DynamicPagesField = DynamicPagesField;
27
+ // extension
28
+ (function (DynamicPagesField) {
29
+ let Value;
30
+ (function (Value) {
31
+ // serialization
32
+ function fromData(data) {
33
+ return data === null || data === void 0 ? void 0 : data.value;
34
+ }
35
+ Value.fromData = fromData;
36
+ function toData(value) {
37
+ return {
38
+ type: 'dynamic.pages',
39
+ value
40
+ };
41
+ }
42
+ Value.toData = toData;
43
+ function coerceData(value) {
44
+ return value === undefined
45
+ ? undefined
46
+ : toData(value);
47
+ }
48
+ Value.coerceData = coerceData;
49
+ })(Value = DynamicPagesField.Value || (DynamicPagesField.Value = {}));
50
+ })(DynamicPagesField || (exports.DynamicPagesField = DynamicPagesField = {}));
@@ -0,0 +1,45 @@
1
+ import { Field } from '../index';
2
+ export declare class EmbeddedVideoField extends Field<EmbeddedVideoField> {
3
+ readonly type: "embedded.video";
4
+ readonly allowMuting: boolean;
5
+ constructor({ allowMuting, ...args }: EmbeddedVideoField.ConstructorArgs);
6
+ modify(args: EmbeddedVideoField.ModifyArgs): EmbeddedVideoField;
7
+ }
8
+ export declare namespace EmbeddedVideoField {
9
+ type Source = 'youtube' | 'vimeo';
10
+ namespace Source {
11
+ const values: ReadonlyArray<Source>;
12
+ function filter(value: any): value is Source;
13
+ }
14
+ type Value = Value.Youtube | Value.Vimeo;
15
+ namespace Value {
16
+ type Youtube = {
17
+ type: 'youtube';
18
+ videoId: string;
19
+ thumbUrl: string;
20
+ muted?: boolean;
21
+ };
22
+ namespace Youtube {
23
+ function filter(data: Value): data is Youtube;
24
+ }
25
+ type Vimeo = {
26
+ type: 'vimeo';
27
+ videoId: string;
28
+ thumbUrl: string;
29
+ hash?: string;
30
+ muted?: boolean;
31
+ };
32
+ namespace Vimeo {
33
+ function filter(data: Value): data is Vimeo;
34
+ }
35
+ function filter(value: any): value is Value;
36
+ function fromData(data: Field.Data<EmbeddedVideoField>): Value;
37
+ function toData(value: Value): Field.Data<EmbeddedVideoField>;
38
+ function fromUrl(url?: URL): Value | undefined;
39
+ function toUrl(value: Value, type?: 'watch' | 'embed'): URL;
40
+ }
41
+ type ConstructorArgs = Field.ConstructorArgs & {
42
+ allowMuting?: boolean;
43
+ };
44
+ type ModifyArgs = Omit<Partial<ConstructorArgs>, 'required'>;
45
+ }
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.EmbeddedVideoField = void 0;
15
+ const index_1 = require("../index");
16
+ // class
17
+ class EmbeddedVideoField extends index_1.Field {
18
+ constructor(_a) {
19
+ var { allowMuting = true } = _a, args = __rest(_a, ["allowMuting"]);
20
+ // construct base
21
+ super(args);
22
+ this.type = 'embedded.video';
23
+ // initialize instance variables
24
+ this.allowMuting = allowMuting;
25
+ }
26
+ modify(args) {
27
+ return new EmbeddedVideoField(Object.assign({ name: this.name, hint: this.hint, description: this.description, required: this.required, allowMuting: this.allowMuting }, args));
28
+ }
29
+ }
30
+ exports.EmbeddedVideoField = EmbeddedVideoField;
31
+ // extension
32
+ (function (EmbeddedVideoField) {
33
+ let Source;
34
+ (function (Source) {
35
+ // values
36
+ Source.values = [
37
+ 'youtube', 'vimeo'
38
+ ];
39
+ // methods
40
+ function filter(value) {
41
+ return !!value
42
+ && typeof value === 'string'
43
+ && Source.values.includes(value);
44
+ }
45
+ Source.filter = filter;
46
+ })(Source = EmbeddedVideoField.Source || (EmbeddedVideoField.Source = {}));
47
+ let Value;
48
+ (function (Value) {
49
+ let Youtube;
50
+ (function (Youtube) {
51
+ // guards
52
+ function filter(data) {
53
+ return data.type === 'youtube';
54
+ }
55
+ Youtube.filter = filter;
56
+ })(Youtube = Value.Youtube || (Value.Youtube = {}));
57
+ let Vimeo;
58
+ (function (Vimeo) {
59
+ // guard
60
+ function filter(data) {
61
+ return data.type === 'vimeo';
62
+ }
63
+ Vimeo.filter = filter;
64
+ })(Vimeo = Value.Vimeo || (Value.Vimeo = {}));
65
+ // guard
66
+ function filter(value) {
67
+ return !!value
68
+ && typeof value === 'object'
69
+ && !Array.isArray(value)
70
+ && 'type' in value && !!value.type && typeof value.type === 'string' && Source.filter(value.type)
71
+ && 'videoId' in value && !!value.videoId && typeof value.videoId === 'string';
72
+ }
73
+ Value.filter = filter;
74
+ // serialization
75
+ function fromData(data) {
76
+ return data.value;
77
+ }
78
+ Value.fromData = fromData;
79
+ function toData(value) {
80
+ return {
81
+ type: 'embedded.video',
82
+ value
83
+ };
84
+ }
85
+ Value.toData = toData;
86
+ function fromUrl(url) {
87
+ var _a, _b, _c, _d, _e, _f;
88
+ // skip if there's no url
89
+ if (!url) {
90
+ return undefined;
91
+ }
92
+ // evaluate url
93
+ const { hostname, pathname, searchParams } = url;
94
+ const pathComponents = pathname.substring(1).split('/');
95
+ switch (hostname.toLowerCase()) {
96
+ // youtube
97
+ case 'youtube.com':
98
+ case 'www.youtube.com':
99
+ case 'm.youtube.com': {
100
+ const action = (_b = (_a = pathComponents[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';
101
+ if (action === 'embed' && pathComponents.length > 1) {
102
+ return {
103
+ type: 'youtube',
104
+ videoId: pathComponents[1],
105
+ thumbUrl: ''
106
+ };
107
+ }
108
+ else if (action === 'watch') {
109
+ const videoId = searchParams.get('v');
110
+ return videoId
111
+ ?
112
+ {
113
+ type: 'youtube',
114
+ videoId,
115
+ thumbUrl: ''
116
+ }
117
+ : undefined;
118
+ }
119
+ else {
120
+ return undefined;
121
+ }
122
+ }
123
+ // vimeo
124
+ case 'vimeo.com':
125
+ case 'www.vimeo.com': {
126
+ const [videoId] = pathComponents;
127
+ const hash = (_c = searchParams.get('h')) !== null && _c !== void 0 ? _c : undefined;
128
+ return videoId
129
+ ?
130
+ {
131
+ type: 'vimeo',
132
+ videoId,
133
+ thumbUrl: '',
134
+ hash
135
+ }
136
+ : undefined;
137
+ }
138
+ case 'player.vimeo.com': {
139
+ const action = (_e = (_d = pathComponents[0]) === null || _d === void 0 ? void 0 : _d.toLowerCase()) !== null && _e !== void 0 ? _e : '';
140
+ if (action === 'video' && pathComponents.length > 1) {
141
+ const hash = (_f = searchParams.get('h')) !== null && _f !== void 0 ? _f : undefined;
142
+ return {
143
+ type: 'vimeo',
144
+ videoId: pathComponents[1],
145
+ thumbUrl: '',
146
+ hash
147
+ };
148
+ }
149
+ else {
150
+ return undefined;
151
+ }
152
+ }
153
+ // or fail
154
+ default:
155
+ return undefined;
156
+ }
157
+ }
158
+ Value.fromUrl = fromUrl;
159
+ function toUrl(value, type = 'embed') {
160
+ switch (value.type) {
161
+ case 'youtube':
162
+ return new URL(type === 'embed'
163
+ ? `https://www.youtube.com/embed/${value.videoId}`
164
+ : `https://www.youtube.com/watch?v=${encodeURI(value.videoId)}`);
165
+ case 'vimeo': {
166
+ const url = new URL(`https://player.vimeo.com/video/${value.videoId}`);
167
+ if (value.hash) {
168
+ url.searchParams.append('h', value.hash);
169
+ }
170
+ return url;
171
+ }
172
+ }
173
+ }
174
+ Value.toUrl = toUrl;
175
+ })(Value = EmbeddedVideoField.Value || (EmbeddedVideoField.Value = {}));
176
+ })(EmbeddedVideoField || (exports.EmbeddedVideoField = EmbeddedVideoField = {}));
@@ -0,0 +1,40 @@
1
+ import { StringKeyOf } from 'type-fest';
2
+ import { Field } from '../index';
3
+ export declare class EnumField<TOptions extends EnumField.Options = EnumField.Options> extends Field<EnumField<TOptions>> {
4
+ readonly type: "enum";
5
+ readonly semantics: EnumField.Semantics;
6
+ readonly options: TOptions;
7
+ readonly defaultOption?: StringKeyOf<TOptions>;
8
+ constructor(args: EnumField.ConstructorArgs<TOptions>);
9
+ get enum(): EnumField.Enum<TOptions>[];
10
+ modify({ options, ...args }: EnumField.ModifyArgs<TOptions>): EnumField<TOptions>;
11
+ updateOptions(options: Partial<TOptions>): EnumField<TOptions>;
12
+ removeOption<TKey extends StringKeyOf<TOptions>>(key: TKey): EnumField<TOptions>;
13
+ removeOptions<TKey extends StringKeyOf<TOptions>>(...keys: ReadonlyArray<TKey>): EnumField<TOptions>;
14
+ keepOptions<TKey extends StringKeyOf<TOptions>>(...keys: ReadonlyArray<TKey>): EnumField<TOptions>;
15
+ isValidOption<TKey extends StringKeyOf<TOptions>>(key: TKey | undefined): boolean;
16
+ setDefault<TKey extends StringKeyOf<TOptions>>(key: TKey | undefined): EnumField<TOptions>;
17
+ }
18
+ export declare namespace EnumField {
19
+ type Value<TField extends EnumField> = StringKeyOf<TField['options']>;
20
+ namespace Value {
21
+ function fromData<TField extends EnumField>(data: Field.Data<TField> | undefined): Value<TField>;
22
+ function toData<TField extends EnumField>(value: Value<TField>): Field.Data<EnumField>;
23
+ }
24
+ type ConstructorArgs<TOptions extends Options> = Field.ConstructorArgs & {
25
+ semantics?: Semantics;
26
+ options: TOptions;
27
+ defaultOption?: StringKeyOf<TOptions>;
28
+ };
29
+ type Enum<TOptions extends Options> = StringKeyOf<TOptions>;
30
+ type Options<TOption extends string = string> = Record<TOption, Readonly<Option>>;
31
+ type Option = {
32
+ name: string;
33
+ hint?: string;
34
+ hidden?: true;
35
+ };
36
+ type Semantics = 'dropdown' | 'radio' | 'segmented';
37
+ type ModifyArgs<TOptions extends Options> = Omit<Partial<ConstructorArgs<TOptions>>, 'required' | 'options'> & {
38
+ options?: Partial<TOptions>;
39
+ };
40
+ }
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.EnumField = void 0;
15
+ const index_1 = require("../index");
16
+ // class
17
+ class EnumField extends index_1.Field {
18
+ constructor(args) {
19
+ var _a;
20
+ // construct base
21
+ super(args);
22
+ this.type = 'enum';
23
+ // initialize instance variables
24
+ this.semantics = (_a = args.semantics) !== null && _a !== void 0 ? _a : 'dropdown';
25
+ this.options = args.options;
26
+ this.defaultOption = args.defaultOption;
27
+ }
28
+ get enum() {
29
+ return Object.keys(this.options);
30
+ }
31
+ modify(_a) {
32
+ var _b;
33
+ var { options } = _a, args = __rest(_a, ["options"]);
34
+ return new EnumField(Object.assign({ semantics: this.semantics, name: this.name, hint: this.hint, description: this.description, required: this.required, options: (_b = options) !== null && _b !== void 0 ? _b : this.options, defaultOption: this.defaultOption }, args));
35
+ }
36
+ updateOptions(options) {
37
+ return new EnumField({
38
+ semantics: this.semantics,
39
+ name: this.name,
40
+ hint: this.hint,
41
+ description: this.description,
42
+ required: this.required,
43
+ options: Object.assign(Object.assign({}, this.options), options),
44
+ defaultOption: this.defaultOption
45
+ });
46
+ }
47
+ removeOption(key) {
48
+ return this.removeOptions(key);
49
+ }
50
+ removeOptions(...keys) {
51
+ // prune options
52
+ const prunedOptions = Object.assign({}, this.options);
53
+ keys.forEach(key => {
54
+ delete prunedOptions[key];
55
+ });
56
+ // create new enum
57
+ const { defaultOption } = this;
58
+ return new EnumField({
59
+ semantics: this.semantics,
60
+ name: this.name,
61
+ hint: this.hint,
62
+ description: this.description,
63
+ required: this.required,
64
+ options: prunedOptions,
65
+ defaultOption: defaultOption === undefined || defaultOption in prunedOptions
66
+ ? defaultOption
67
+ : Object.keys(prunedOptions)[0]
68
+ });
69
+ }
70
+ keepOptions(...keys) {
71
+ // prune options
72
+ const { defaultOption, options: allOptions } = this;
73
+ const prunedOptions = Object.entries(allOptions)
74
+ .reduce((options, [key, option]) => {
75
+ // add option if it's in the set
76
+ if (keys.includes(key)) {
77
+ options[key] = option;
78
+ }
79
+ // keep reducing
80
+ return options;
81
+ }, {});
82
+ // create new enum
83
+ return new EnumField({
84
+ semantics: this.semantics,
85
+ name: this.name,
86
+ hint: this.hint,
87
+ description: this.description,
88
+ required: this.required,
89
+ options: prunedOptions,
90
+ defaultOption: defaultOption === undefined || defaultOption in prunedOptions
91
+ ? defaultOption
92
+ : Object.keys(prunedOptions)[0]
93
+ });
94
+ }
95
+ isValidOption(key) {
96
+ if (!key) {
97
+ return false;
98
+ }
99
+ return key in this.options;
100
+ }
101
+ setDefault(key) {
102
+ return new EnumField({
103
+ semantics: this.semantics,
104
+ name: this.name,
105
+ hint: this.hint,
106
+ description: this.description,
107
+ required: this.required,
108
+ options: this.options,
109
+ defaultOption: key
110
+ });
111
+ }
112
+ }
113
+ exports.EnumField = EnumField;
114
+ // extension
115
+ (function (EnumField) {
116
+ let Value;
117
+ (function (Value) {
118
+ // serialization
119
+ function fromData(data) {
120
+ return data === null || data === void 0 ? void 0 : data.value;
121
+ }
122
+ Value.fromData = fromData;
123
+ function toData(value) {
124
+ return {
125
+ type: 'enum',
126
+ value
127
+ };
128
+ }
129
+ Value.toData = toData;
130
+ })(Value = EnumField.Value || (EnumField.Value = {}));
131
+ })(EnumField || (exports.EnumField = EnumField = {}));
@@ -0,0 +1,25 @@
1
+ import type { Ordinal } from '../../../types/Ordinal';
2
+ import { Field } from '../index';
3
+ export declare class FormField extends Field<FormField> {
4
+ readonly type: "form";
5
+ readonly formId: string;
6
+ constructor({ formId, ...args }: FormField.ConstructorArgs);
7
+ modify(args: FormField.ModifyArgs): FormField;
8
+ }
9
+ export declare namespace FormField {
10
+ type FieldConfig = Pick<Field.ConstructorArgs, 'name' | 'description' | 'hint'> & {
11
+ order: Ordinal.Id;
12
+ };
13
+ type Value = {
14
+ formId: string;
15
+ fields: Record<string, FieldConfig>;
16
+ };
17
+ namespace Value {
18
+ function fromData(data: Field.Data<FormField> | undefined): Value | undefined;
19
+ function toData(value: Value): Field.Data<FormField>;
20
+ }
21
+ type ConstructorArgs = Field.ConstructorArgs & {
22
+ formId: string;
23
+ };
24
+ type ModifyArgs = Omit<Partial<ConstructorArgs>, 'required'>;
25
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.FormField = void 0;
15
+ const index_1 = require("../index");
16
+ // class
17
+ class FormField extends index_1.Field {
18
+ constructor(_a) {
19
+ var { formId } = _a, args = __rest(_a, ["formId"]);
20
+ // construct base
21
+ super(args);
22
+ this.type = 'form';
23
+ // initialize instance variables
24
+ this.formId = formId;
25
+ }
26
+ modify(args) {
27
+ return new FormField(Object.assign({ formId: this.formId, name: this.name, hint: this.hint, description: this.description, required: this.required }, args));
28
+ }
29
+ }
30
+ exports.FormField = FormField;
31
+ // extension
32
+ (function (FormField) {
33
+ let Value;
34
+ (function (Value) {
35
+ // serialization
36
+ function fromData(data) {
37
+ return data === null || data === void 0 ? void 0 : data.value;
38
+ }
39
+ Value.fromData = fromData;
40
+ function toData(value) {
41
+ return {
42
+ type: 'form',
43
+ value
44
+ };
45
+ }
46
+ Value.toData = toData;
47
+ })(Value = FormField.Value || (FormField.Value = {}));
48
+ })(FormField || (exports.FormField = FormField = {}));
@@ -0,0 +1,103 @@
1
+ import { MimeType } from '../../../ui';
2
+ import { Page } from '../../Page';
3
+ import { Field, AssetField, PageField } from '../index';
4
+ export declare class LinkField extends Field<LinkField> {
5
+ readonly type: "link";
6
+ readonly allowExternal?: boolean;
7
+ readonly allowEmail?: boolean;
8
+ readonly allowPhone?: boolean;
9
+ readonly internalOptions?: LinkField.InternalArgs;
10
+ readonly fileOptions?: LinkField.FileArgs;
11
+ constructor(args: LinkField.ConstructorArgs);
12
+ get allowInternal(): boolean;
13
+ get allowFile(): boolean;
14
+ modify(args: LinkField.ModifyArgs): LinkField;
15
+ }
16
+ export declare namespace LinkField {
17
+ type LinkType = 'internal' | 'external' | 'email' | 'phone' | 'file';
18
+ namespace LinkType {
19
+ const values: ReadonlyArray<LinkType>;
20
+ function filter(value: any): value is LinkType;
21
+ }
22
+ type Value = Value.Internal | Value.External | Value.Email | Value.Phone | Value.File;
23
+ namespace Value {
24
+ type Type = Value['type'];
25
+ type Internal = {
26
+ type: 'internal';
27
+ label: string;
28
+ page: Field.Data<PageField.Link>;
29
+ };
30
+ namespace Internal {
31
+ function filter(data: Value): data is Internal;
32
+ function fromData(data: Field.Data<LinkField> | undefined): Internal;
33
+ }
34
+ type External = {
35
+ type: 'external';
36
+ label: string;
37
+ url: string;
38
+ };
39
+ namespace External {
40
+ function filter(data: Value): data is External;
41
+ function fromData(data: Field.Data<LinkField> | undefined): External;
42
+ }
43
+ type Email = {
44
+ type: 'email';
45
+ label: string;
46
+ email: string;
47
+ subject?: string;
48
+ };
49
+ namespace Email {
50
+ function filter(data: Value): data is Email;
51
+ function fromData(data: Field.Data<LinkField> | undefined): Email;
52
+ }
53
+ type Phone = {
54
+ type: 'phone';
55
+ label: string;
56
+ number: string;
57
+ };
58
+ namespace Phone {
59
+ function filter(data: Value): data is Phone;
60
+ function fromData(data: Field.Data<LinkField> | undefined): Phone;
61
+ }
62
+ type File = {
63
+ type: 'file';
64
+ label: string;
65
+ file: AssetField.Value;
66
+ action: FileLinkAction;
67
+ };
68
+ namespace File {
69
+ function filter(data: Value): data is File;
70
+ }
71
+ function fromData(data: Field.Data<LinkField>): Value;
72
+ function toData(value: Value): Field.Data<LinkField>;
73
+ function toUrl(value: Exclude<Value, Value.Internal>): string;
74
+ }
75
+ type LinkedValue = LinkedValue.Internal | Value.External | Value.Email | Value.Phone | Value.File;
76
+ namespace LinkedValue {
77
+ type Internal = Omit<Value.Internal, 'page'> & {
78
+ page: Field.LinkedData<PageField.Link>;
79
+ };
80
+ }
81
+ type ConstructorArgs<TPage extends string = string> = Field.ConstructorArgs & Partial<ExternalArgs> & Partial<EmailArgs> & Partial<PhoneArgs> & {
82
+ internal?: InternalArgs<TPage>;
83
+ file?: FileArgs;
84
+ };
85
+ type FileLinkAction = 'view' | 'download';
86
+ type FileArgs = {
87
+ mimeTypes: ReadonlyArray<MimeType>;
88
+ action: FileLinkAction;
89
+ };
90
+ type InternalArgs<TPage extends string = Page.Type> = {
91
+ pageTypes: ReadonlyArray<TPage> | 'all';
92
+ };
93
+ type ExternalArgs = {
94
+ allowExternal: boolean;
95
+ };
96
+ type EmailArgs = {
97
+ allowEmail: boolean;
98
+ };
99
+ type PhoneArgs = {
100
+ allowPhone: boolean;
101
+ };
102
+ type ModifyArgs = Omit<Partial<ConstructorArgs>, 'required'>;
103
+ }