@rulecms/source-components-angular 0.1.0

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 (215) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +117 -0
  3. package/THIRD_PARTY_NOTICES +50 -0
  4. package/fesm2022/rulecms-source-components-angular-icon-registry.mjs +144 -0
  5. package/fesm2022/rulecms-source-components-angular-icon-registry.mjs.map +1 -0
  6. package/fesm2022/rulecms-source-components-angular.mjs +3979 -0
  7. package/fesm2022/rulecms-source-components-angular.mjs.map +1 -0
  8. package/icon-registry/icon-aliases.d.ts +10 -0
  9. package/icon-registry/icon-aliases.d.ts.map +1 -0
  10. package/icon-registry/index.d.ts +6 -0
  11. package/icon-registry/index.d.ts.map +1 -0
  12. package/icon-registry/resolve-icon-name.d.ts +6 -0
  13. package/icon-registry/resolve-icon-name.d.ts.map +1 -0
  14. package/icon-registry/resolve-icon-node.d.ts +25 -0
  15. package/icon-registry/resolve-icon-node.d.ts.map +1 -0
  16. package/icon-registry/rulecms-source-components-angular-icon-registry.d.ts.map +1 -0
  17. package/icon-registry/search-icon-names.d.ts +11 -0
  18. package/icon-registry/search-icon-names.d.ts.map +1 -0
  19. package/index.d.ts +6 -0
  20. package/lib/base-components/display/card-entries/card-entries.d.ts +3 -0
  21. package/lib/base-components/display/card-entries/card-entries.d.ts.map +1 -0
  22. package/lib/base-components/display/card-groups.d.ts +3 -0
  23. package/lib/base-components/display/card-groups.d.ts.map +1 -0
  24. package/lib/base-components/display/component-attributes/attribute-list-for-component-types.d.ts +20 -0
  25. package/lib/base-components/display/component-attributes/attribute-list-for-component-types.d.ts.map +1 -0
  26. package/lib/base-components/display/component-attributes/component-name-to-modify-attribute.d.ts +12 -0
  27. package/lib/base-components/display/component-attributes/component-name-to-modify-attribute.d.ts.map +1 -0
  28. package/lib/base-components/display/components/cloudinary-advanced-image/attribute-edit-mode-configs.d.ts +3 -0
  29. package/lib/base-components/display/components/cloudinary-advanced-image/attribute-edit-mode-configs.d.ts.map +1 -0
  30. package/lib/base-components/display/components/cloudinary-advanced-image/build-cloudinary-image-urls.d.ts +7 -0
  31. package/lib/base-components/display/components/cloudinary-advanced-image/build-cloudinary-image-urls.d.ts.map +1 -0
  32. package/lib/base-components/display/components/cloudinary-advanced-image/cloudinary-advanced-image.component.d.ts +28 -0
  33. package/lib/base-components/display/components/cloudinary-advanced-image/cloudinary-advanced-image.component.d.ts.map +1 -0
  34. package/lib/base-components/display/components/cloudinary-advanced-image/default-attribute-values.d.ts +3 -0
  35. package/lib/base-components/display/components/cloudinary-advanced-image/default-attribute-values.d.ts.map +1 -0
  36. package/lib/base-components/display/components/cloudinary-advanced-image/display-card-entry.d.ts +3 -0
  37. package/lib/base-components/display/components/cloudinary-advanced-image/display-card-entry.d.ts.map +1 -0
  38. package/lib/base-components/display/components/cloudinary-advanced-image/resolve-no-container.d.ts +8 -0
  39. package/lib/base-components/display/components/cloudinary-advanced-image/resolve-no-container.d.ts.map +1 -0
  40. package/lib/base-components/display/components/cloudinary-advanced-image/resolve-renders-own-element.d.ts +6 -0
  41. package/lib/base-components/display/components/cloudinary-advanced-image/resolve-renders-own-element.d.ts.map +1 -0
  42. package/lib/base-components/display/components/r-accordion/accordion-attributes.d.ts +109 -0
  43. package/lib/base-components/display/components/r-accordion/accordion-attributes.d.ts.map +1 -0
  44. package/lib/base-components/display/components/r-accordion/attribute-edit-mode-configs.d.ts +16 -0
  45. package/lib/base-components/display/components/r-accordion/attribute-edit-mode-configs.d.ts.map +1 -0
  46. package/lib/base-components/display/components/r-accordion/default-attribute-values.d.ts +3 -0
  47. package/lib/base-components/display/components/r-accordion/default-attribute-values.d.ts.map +1 -0
  48. package/lib/base-components/display/components/r-accordion/display-card-entry.d.ts +3 -0
  49. package/lib/base-components/display/components/r-accordion/display-card-entry.d.ts.map +1 -0
  50. package/lib/base-components/display/components/r-accordion/r-accordion.component.d.ts +27 -0
  51. package/lib/base-components/display/components/r-accordion/r-accordion.component.d.ts.map +1 -0
  52. package/lib/base-components/display/components/r-accordion/resolve-no-container.d.ts +8 -0
  53. package/lib/base-components/display/components/r-accordion/resolve-no-container.d.ts.map +1 -0
  54. package/lib/base-components/display/components/r-accordion/resolve-renders-own-element.d.ts +6 -0
  55. package/lib/base-components/display/components/r-accordion/resolve-renders-own-element.d.ts.map +1 -0
  56. package/lib/base-components/display/components/r-button/attribute-edit-mode-configs.d.ts +12 -0
  57. package/lib/base-components/display/components/r-button/attribute-edit-mode-configs.d.ts.map +1 -0
  58. package/lib/base-components/display/components/r-button/button-attributes.d.ts +51 -0
  59. package/lib/base-components/display/components/r-button/button-attributes.d.ts.map +1 -0
  60. package/lib/base-components/display/components/r-button/button-css-variables.d.ts +28 -0
  61. package/lib/base-components/display/components/r-button/button-css-variables.d.ts.map +1 -0
  62. package/lib/base-components/display/components/r-button/button-instance-props.d.ts +23 -0
  63. package/lib/base-components/display/components/r-button/button-instance-props.d.ts.map +1 -0
  64. package/lib/base-components/display/components/r-button/button-preset-styles.d.ts +13 -0
  65. package/lib/base-components/display/components/r-button/button-preset-styles.d.ts.map +1 -0
  66. package/lib/base-components/display/components/r-button/button-presets.d.ts +76 -0
  67. package/lib/base-components/display/components/r-button/button-presets.d.ts.map +1 -0
  68. package/lib/base-components/display/components/r-button/default-attribute-values.d.ts +14 -0
  69. package/lib/base-components/display/components/r-button/default-attribute-values.d.ts.map +1 -0
  70. package/lib/base-components/display/components/r-button/display-card-entry.d.ts +3 -0
  71. package/lib/base-components/display/components/r-button/display-card-entry.d.ts.map +1 -0
  72. package/lib/base-components/display/components/r-button/r-button.component.d.ts +26 -0
  73. package/lib/base-components/display/components/r-button/r-button.component.d.ts.map +1 -0
  74. package/lib/base-components/display/components/r-button/resolve-button-preset.d.ts +11 -0
  75. package/lib/base-components/display/components/r-button/resolve-button-preset.d.ts.map +1 -0
  76. package/lib/base-components/display/components/r-button/resolve-no-container.d.ts +8 -0
  77. package/lib/base-components/display/components/r-button/resolve-no-container.d.ts.map +1 -0
  78. package/lib/base-components/display/components/r-button/resolve-renders-own-element.d.ts +6 -0
  79. package/lib/base-components/display/components/r-button/resolve-renders-own-element.d.ts.map +1 -0
  80. package/lib/base-components/display/components/r-divider/attribute-edit-mode-configs.d.ts +10 -0
  81. package/lib/base-components/display/components/r-divider/attribute-edit-mode-configs.d.ts.map +1 -0
  82. package/lib/base-components/display/components/r-divider/default-attribute-values.d.ts +11 -0
  83. package/lib/base-components/display/components/r-divider/default-attribute-values.d.ts.map +1 -0
  84. package/lib/base-components/display/components/r-divider/display-card-entry.d.ts +3 -0
  85. package/lib/base-components/display/components/r-divider/display-card-entry.d.ts.map +1 -0
  86. package/lib/base-components/display/components/r-divider/divider-attributes.d.ts +41 -0
  87. package/lib/base-components/display/components/r-divider/divider-attributes.d.ts.map +1 -0
  88. package/lib/base-components/display/components/r-divider/divider-styles.d.ts +14 -0
  89. package/lib/base-components/display/components/r-divider/divider-styles.d.ts.map +1 -0
  90. package/lib/base-components/display/components/r-divider/r-divider.component.d.ts +16 -0
  91. package/lib/base-components/display/components/r-divider/r-divider.component.d.ts.map +1 -0
  92. package/lib/base-components/display/components/r-divider/resolve-no-container.d.ts +7 -0
  93. package/lib/base-components/display/components/r-divider/resolve-no-container.d.ts.map +1 -0
  94. package/lib/base-components/display/components/r-divider/resolve-renders-own-element.d.ts +6 -0
  95. package/lib/base-components/display/components/r-divider/resolve-renders-own-element.d.ts.map +1 -0
  96. package/lib/base-components/display/components/r-embed/attribute-edit-mode-configs.d.ts +8 -0
  97. package/lib/base-components/display/components/r-embed/attribute-edit-mode-configs.d.ts.map +1 -0
  98. package/lib/base-components/display/components/r-embed/default-attribute-values.d.ts +14 -0
  99. package/lib/base-components/display/components/r-embed/default-attribute-values.d.ts.map +1 -0
  100. package/lib/base-components/display/components/r-embed/display-card-entry.d.ts +3 -0
  101. package/lib/base-components/display/components/r-embed/display-card-entry.d.ts.map +1 -0
  102. package/lib/base-components/display/components/r-embed/embed-attributes.d.ts +71 -0
  103. package/lib/base-components/display/components/r-embed/embed-attributes.d.ts.map +1 -0
  104. package/lib/base-components/display/components/r-embed/embed-providers.d.ts +78 -0
  105. package/lib/base-components/display/components/r-embed/embed-providers.d.ts.map +1 -0
  106. package/lib/base-components/display/components/r-embed/r-embed.component.d.ts +21 -0
  107. package/lib/base-components/display/components/r-embed/r-embed.component.d.ts.map +1 -0
  108. package/lib/base-components/display/components/r-embed/resolve-embed.d.ts +41 -0
  109. package/lib/base-components/display/components/r-embed/resolve-embed.d.ts.map +1 -0
  110. package/lib/base-components/display/components/r-embed/resolve-no-container.d.ts +13 -0
  111. package/lib/base-components/display/components/r-embed/resolve-no-container.d.ts.map +1 -0
  112. package/lib/base-components/display/components/r-embed/resolve-renders-own-element.d.ts +9 -0
  113. package/lib/base-components/display/components/r-embed/resolve-renders-own-element.d.ts.map +1 -0
  114. package/lib/base-components/display/components/r-icon/attribute-edit-mode-configs.d.ts +3 -0
  115. package/lib/base-components/display/components/r-icon/attribute-edit-mode-configs.d.ts.map +1 -0
  116. package/lib/base-components/display/components/r-icon/default-attribute-values.d.ts +3 -0
  117. package/lib/base-components/display/components/r-icon/default-attribute-values.d.ts.map +1 -0
  118. package/lib/base-components/display/components/r-icon/display-card-entry.d.ts +3 -0
  119. package/lib/base-components/display/components/r-icon/display-card-entry.d.ts.map +1 -0
  120. package/lib/base-components/display/components/r-icon/icon-attribute-value.d.ts +26 -0
  121. package/lib/base-components/display/components/r-icon/icon-attribute-value.d.ts.map +1 -0
  122. package/lib/base-components/display/components/r-icon/r-icon.component.d.ts +16 -0
  123. package/lib/base-components/display/components/r-icon/r-icon.component.d.ts.map +1 -0
  124. package/lib/base-components/display/components/r-icon/resolve-no-container.d.ts +7 -0
  125. package/lib/base-components/display/components/r-icon/resolve-no-container.d.ts.map +1 -0
  126. package/lib/base-components/display/components/r-icon/resolve-renders-own-element.d.ts +7 -0
  127. package/lib/base-components/display/components/r-icon/resolve-renders-own-element.d.ts.map +1 -0
  128. package/lib/base-components/display/components/r-list/attribute-edit-mode-configs.d.ts +10 -0
  129. package/lib/base-components/display/components/r-list/attribute-edit-mode-configs.d.ts.map +1 -0
  130. package/lib/base-components/display/components/r-list/default-attribute-values.d.ts +3 -0
  131. package/lib/base-components/display/components/r-list/default-attribute-values.d.ts.map +1 -0
  132. package/lib/base-components/display/components/r-list/display-card-entry.d.ts +3 -0
  133. package/lib/base-components/display/components/r-list/display-card-entry.d.ts.map +1 -0
  134. package/lib/base-components/display/components/r-list/list-attributes.d.ts +72 -0
  135. package/lib/base-components/display/components/r-list/list-attributes.d.ts.map +1 -0
  136. package/lib/base-components/display/components/r-list/r-list.component.d.ts +22 -0
  137. package/lib/base-components/display/components/r-list/r-list.component.d.ts.map +1 -0
  138. package/lib/base-components/display/components/r-list/resolve-no-container.d.ts +8 -0
  139. package/lib/base-components/display/components/r-list/resolve-no-container.d.ts.map +1 -0
  140. package/lib/base-components/display/components/r-list/resolve-renders-own-element.d.ts +7 -0
  141. package/lib/base-components/display/components/r-list/resolve-renders-own-element.d.ts.map +1 -0
  142. package/lib/base-components/display/components/r-text/attribute-edit-mode-configs.d.ts +3 -0
  143. package/lib/base-components/display/components/r-text/attribute-edit-mode-configs.d.ts.map +1 -0
  144. package/lib/base-components/display/components/r-text/default-attribute-values.d.ts +4 -0
  145. package/lib/base-components/display/components/r-text/default-attribute-values.d.ts.map +1 -0
  146. package/lib/base-components/display/components/r-text/display-card-entry.d.ts +3 -0
  147. package/lib/base-components/display/components/r-text/display-card-entry.d.ts.map +1 -0
  148. package/lib/base-components/display/components/r-text/enclosing-tags.d.ts +48 -0
  149. package/lib/base-components/display/components/r-text/enclosing-tags.d.ts.map +1 -0
  150. package/lib/base-components/display/components/r-text/r-text.component.d.ts +16 -0
  151. package/lib/base-components/display/components/r-text/r-text.component.d.ts.map +1 -0
  152. package/lib/base-components/display/components/r-text/resolve-enclosing-tag.d.ts +18 -0
  153. package/lib/base-components/display/components/r-text/resolve-enclosing-tag.d.ts.map +1 -0
  154. package/lib/base-components/display/components/r-text/resolve-no-container.d.ts +13 -0
  155. package/lib/base-components/display/components/r-text/resolve-no-container.d.ts.map +1 -0
  156. package/lib/base-components/display/components/r-text/resolve-renders-own-element.d.ts +11 -0
  157. package/lib/base-components/display/components/r-text/resolve-renders-own-element.d.ts.map +1 -0
  158. package/lib/base-components/display/components/r-video/attribute-edit-mode-configs.d.ts +3 -0
  159. package/lib/base-components/display/components/r-video/attribute-edit-mode-configs.d.ts.map +1 -0
  160. package/lib/base-components/display/components/r-video/build-video-delivery-urls.d.ts +7 -0
  161. package/lib/base-components/display/components/r-video/build-video-delivery-urls.d.ts.map +1 -0
  162. package/lib/base-components/display/components/r-video/default-attribute-values.d.ts +3 -0
  163. package/lib/base-components/display/components/r-video/default-attribute-values.d.ts.map +1 -0
  164. package/lib/base-components/display/components/r-video/display-card-entry.d.ts +3 -0
  165. package/lib/base-components/display/components/r-video/display-card-entry.d.ts.map +1 -0
  166. package/lib/base-components/display/components/r-video/r-video.component.d.ts +26 -0
  167. package/lib/base-components/display/components/r-video/r-video.component.d.ts.map +1 -0
  168. package/lib/base-components/display/components/r-video/resolve-no-container.d.ts +8 -0
  169. package/lib/base-components/display/components/r-video/resolve-no-container.d.ts.map +1 -0
  170. package/lib/base-components/display/components/r-video/resolve-renders-own-element.d.ts +6 -0
  171. package/lib/base-components/display/components/r-video/resolve-renders-own-element.d.ts.map +1 -0
  172. package/lib/base-components/editor-preview/card-entries/card-entries.d.ts +3 -0
  173. package/lib/base-components/editor-preview/card-entries/card-entries.d.ts.map +1 -0
  174. package/lib/base-components/editor-preview/card-groups.d.ts +3 -0
  175. package/lib/base-components/editor-preview/card-groups.d.ts.map +1 -0
  176. package/lib/component-identifiers.d.ts +4 -0
  177. package/lib/component-identifiers.d.ts.map +1 -0
  178. package/lib/component-library-module.d.ts +25 -0
  179. package/lib/component-library-module.d.ts.map +1 -0
  180. package/lib/get-component-metadata-for-editing.d.ts +3 -0
  181. package/lib/get-component-metadata-for-editing.d.ts.map +1 -0
  182. package/lib/get-preview-components.d.ts +12 -0
  183. package/lib/get-preview-components.d.ts.map +1 -0
  184. package/lib/get-source-components-plugin.d.ts +9 -0
  185. package/lib/get-source-components-plugin.d.ts.map +1 -0
  186. package/lib/shared/html-tag.component.d.ts +22 -0
  187. package/lib/shared/html-tag.component.d.ts.map +1 -0
  188. package/lib/shared/icons/append-icon-children.d.ts +5 -0
  189. package/lib/shared/icons/append-icon-children.d.ts.map +1 -0
  190. package/lib/shared/icons/svg-icon.component.d.ts +21 -0
  191. package/lib/shared/icons/svg-icon.component.d.ts.map +1 -0
  192. package/lib/shared/inline-markup/index.d.ts +5 -0
  193. package/lib/shared/inline-markup/index.d.ts.map +1 -0
  194. package/lib/shared/inline-markup/inline-markup.component.d.ts +16 -0
  195. package/lib/shared/inline-markup/inline-markup.component.d.ts.map +1 -0
  196. package/lib/shared/inline-markup/parse-inline-markers.d.ts +45 -0
  197. package/lib/shared/inline-markup/parse-inline-markers.d.ts.map +1 -0
  198. package/lib/shared/inline-markup/serialize-inline-markers.d.ts +14 -0
  199. package/lib/shared/inline-markup/serialize-inline-markers.d.ts.map +1 -0
  200. package/lib/shared/links/index.d.ts +8 -0
  201. package/lib/shared/links/index.d.ts.map +1 -0
  202. package/lib/shared/links/is-safe-href.d.ts +20 -0
  203. package/lib/shared/links/is-safe-href.d.ts.map +1 -0
  204. package/lib/shared/links/link-item.d.ts +39 -0
  205. package/lib/shared/links/link-item.d.ts.map +1 -0
  206. package/lib/shared/links/parse-inline-link-markers.d.ts +25 -0
  207. package/lib/shared/links/parse-inline-link-markers.d.ts.map +1 -0
  208. package/lib/shared/links/resolve-link-attributes.d.ts +13 -0
  209. package/lib/shared/links/resolve-link-attributes.d.ts.map +1 -0
  210. package/lib/types.d.ts +113 -0
  211. package/lib/types.d.ts.map +1 -0
  212. package/package.json +56 -0
  213. package/public-api.d.ts +30 -0
  214. package/public-api.d.ts.map +1 -0
  215. package/rulecms-source-components-angular.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-instance-props.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-button/button-instance-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,yBAAyB,uCAGnC;IACD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC;CACnB,KAAG,kBAAkB,GAAG,SAMxB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { CssStyleMap as CSSProperties } from '../../../../types';
2
+ import type { ButtonPreset } from './button-presets';
3
+ /**
4
+ * The preset's contribution to the button's inline style.
5
+ *
6
+ * Callers spread column `styleProps` *after* this, which is what makes the
7
+ * preset a set of defaults rather than a set of rules: anything the author
8
+ * touched in Column Styles lands later in the object and wins.
9
+ */
10
+ export declare function buildButtonPresetStyles(preset: ButtonPreset): CSSProperties;
11
+ /** Applied on top when the button is disabled, before column styles. */
12
+ export declare const disabledStyles: CSSProperties;
13
+ //# sourceMappingURL=button-preset-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-preset-styles.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-button/button-preset-styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,kBAAkB,CAAC;AA0GjE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAM3E;AAED,wEAAwE;AACxE,eAAO,MAAM,cAAc,EAAE,aAG5B,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * The preset vocabulary for `r-button`.
3
+ *
4
+ * Three independent axes rather than one flat list of named buttons: five
5
+ * variants times four tones times five sizes is a hundred looks from three
6
+ * short tables, and an author picks each axis without us having to have
7
+ * anticipated the combination.
8
+ *
9
+ * Every preset name here is persisted customer data, exactly like an icon
10
+ * name. A name that has shipped is never deleted or repurposed — add a new
11
+ * one and alias the old one, or published pages change appearance on upgrade.
12
+ */
13
+ /** How the button is filled and bordered. */
14
+ export declare const BUTTON_VARIANTS: readonly ["solid", "soft", "outline", "ghost", "link"];
15
+ /** Which colour family the variant draws from. */
16
+ export declare const BUTTON_TONES: readonly ["brand", "neutral", "danger", "success"];
17
+ /** Type scale, padding and control height, smallest to largest. */
18
+ export declare const BUTTON_SIZES: readonly ["xs", "sm", "md", "lg", "xl"];
19
+ export type ButtonVariant = (typeof BUTTON_VARIANTS)[number];
20
+ export type ButtonTone = (typeof BUTTON_TONES)[number];
21
+ export type ButtonSize = (typeof BUTTON_SIZES)[number];
22
+ export type ButtonPreset = {
23
+ variant: ButtonVariant;
24
+ tone: ButtonTone;
25
+ size: ButtonSize;
26
+ };
27
+ /**
28
+ * What an unconfigured button looks like. Dropping the component on a canvas
29
+ * and touching nothing must already produce something shippable.
30
+ */
31
+ export declare const DEFAULT_BUTTON_PRESET: ButtonPreset;
32
+ export declare const isButtonVariant: (value: unknown) => value is ButtonVariant;
33
+ export declare const isButtonTone: (value: unknown) => value is ButtonTone;
34
+ export declare const isButtonSize: (value: unknown) => value is ButtonSize;
35
+ /**
36
+ * The colour slots a tone fills.
37
+ *
38
+ * `hover` / `active` / `softHover` are defined but not yet rendered: a source
39
+ * component cannot ship a `:hover` rule to a customer's page today, so there
40
+ * is nothing to attach them to. They live here so that adding the stylesheet
41
+ * later is a delivery change rather than a redesign of every tone.
42
+ */
43
+ export type TonePalette = {
44
+ /** Solid fill, and the text colour for outline / ghost / link. */
45
+ base: string;
46
+ hover: string;
47
+ active: string;
48
+ /** Text placed on top of `base`. */
49
+ contrast: string;
50
+ /** Outline border, kept separate so neutral can be lighter than its text. */
51
+ border: string;
52
+ /** Tinted fill for the soft variant. */
53
+ soft: string;
54
+ softHover: string;
55
+ /** Text placed on top of `soft`. */
56
+ softContrast: string;
57
+ };
58
+ /**
59
+ * Defaults only. Every one of these reaches the page as the fallback half of a
60
+ * `var(--rulecms-button-…, default)`, so a customer rebrands every button on
61
+ * their site by defining the custom property once, with no per-button edits
62
+ * and no composer access. See `button-css-variables.ts`.
63
+ */
64
+ export declare const TONE_PALETTES: Record<ButtonTone, TonePalette>;
65
+ export type SizeScale = {
66
+ fontSize: string;
67
+ /** Floor for the control height. WCAG 2.2 AA wants at least 24px. */
68
+ minHeight: string;
69
+ paddingInline: string;
70
+ paddingBlock: string;
71
+ borderRadius: string;
72
+ /** Space between an icon and the label. */
73
+ gap: string;
74
+ };
75
+ export declare const SIZE_SCALES: Record<ButtonSize, SizeScale>;
76
+ //# sourceMappingURL=button-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-presets.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-button/button-presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,6CAA6C;AAC7C,eAAO,MAAM,eAAe,wDAAyD,CAAC;AAEtF,kDAAkD;AAClD,eAAO,MAAM,YAAY,oDAAqD,CAAC;AAE/E,mEAAmE;AACnE,eAAO,MAAM,YAAY,yCAA0C,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAInC,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,KAAK,IAAI,aACR,CAAC;AAEnD,eAAO,MAAM,YAAY,UAAW,OAAO,KAAG,KAAK,IAAI,UACX,CAAC;AAE7C,eAAO,MAAM,YAAY,UAAW,OAAO,KAAG,KAAK,IAAI,UACX,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CA2CzD,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,CAyCrD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { DefaultAttributeValue } from '../../../../types';
2
+ /**
3
+ * Seeds the button's own semantics only.
4
+ *
5
+ * No style attribute may be seeded here, and the omission is load-bearing
6
+ * rather than an oversight. Defaults are merged into the column's attribute
7
+ * bag before styles are computed, so a seeded `border-radius-3-resolutions`
8
+ * would be present on every button and would override the preset's radius
9
+ * forever — the preset would appear to have no effect on anything a default
10
+ * happened to cover. Leaving the bag empty is what lets "unset means preset"
11
+ * be true.
12
+ */
13
+ export declare const defaultAttributeValues: DefaultAttributeValue[];
14
+ //# sourceMappingURL=default-attribute-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-attribute-values.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-button/default-attribute-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAQ/D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAazD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { DisplayCardEntry } from '../../../../types';
2
+ export declare const displayCardEntry: DisplayCardEntry;
3
+ //# sourceMappingURL=display-card-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display-card-entry.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-button/display-card-entry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,eAAO,MAAM,gBAAgB,EAAE,gBAO9B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { IconNode, WidgetInstanceProps } from '../../../../types';
2
+ import * as i0 from "@angular/core";
3
+ export declare class RButtonComponent {
4
+ componentAttributes?: {
5
+ [key: string]: any;
6
+ };
7
+ styleProps?: {
8
+ [key: string]: any;
9
+ };
10
+ className?: string;
11
+ widgetInstanceProps?: WidgetInstanceProps;
12
+ get preset(): import("@rulecms/source-components-angular").ButtonPreset;
13
+ get disabled(): boolean;
14
+ get style(): {
15
+ [x: string]: any;
16
+ };
17
+ get label(): string;
18
+ get ariaLabel(): string | undefined;
19
+ get link(): import("@rulecms/source-components-angular").AnchorAttributes | undefined;
20
+ get iconNode(): IconNode | null;
21
+ get iconPosition(): "leading" | "trailing";
22
+ handleClick(event: Event): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<RButtonComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<RButtonComponent, "rulecms-r-button", never, { "componentAttributes": { "alias": "componentAttributes"; "required": false; }; "styleProps": { "alias": "styleProps"; "required": false; }; "className": { "alias": "className"; "required": false; }; "widgetInstanceProps": { "alias": "widgetInstanceProps"; "required": false; }; }, {}, never, never, true, never>;
25
+ }
26
+ //# sourceMappingURL=r-button.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"r-button.component.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-button/r-button.component.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;;AAevE,qBA0Da,gBAAgB;IAClB,mBAAmB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC7C,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAEnD,IAAI,MAAM,8DAET;IACD,IAAI,QAAQ,YAEX;IACD,IAAI,KAAK;;MAMR;IACD,IAAI,KAAK,WAER;IACD,IAAI,SAAS,uBAEZ;IACD,IAAI,IAAI,8EAEP;IACD,IAAI,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAE9B;IACD,IAAI,YAAY,2BAEf;IAED,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;yCAnCpB,gBAAgB;2CAAhB,gBAAgB;CA0C5B"}
@@ -0,0 +1,11 @@
1
+ import type { ButtonPreset } from './button-presets';
2
+ /**
3
+ * Turns whatever the composer stored into a complete preset.
4
+ *
5
+ * Tolerant on every axis independently: a value saved by a newer composer, a
6
+ * half-written object, or an outright wrong type costs that one axis and
7
+ * nothing else. A published page must never fail to render a button because
8
+ * one field went stale.
9
+ */
10
+ export declare function resolveButtonPreset(value: unknown): ButtonPreset;
11
+ //# sourceMappingURL=resolve-button-preset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-button-preset.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-button/resolve-button-preset.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAchE"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Always renders a `<button>` or an `<a>`, both of which take padding, border,
3
+ * background and sizing directly. A wrapper div would add an element that does
4
+ * nothing, and would put the column's background behind the button rather than
5
+ * on it. No configuration changes that.
6
+ */
7
+ export declare const resolveNoContainer: () => boolean;
8
+ //# sourceMappingURL=resolve-no-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-no-container.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-button/resolve-no-container.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,QAAO,OAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * There is always a root element to carry the class: the button is the
3
+ * component, so no configuration leaves it without one.
4
+ */
5
+ export declare const resolveRendersOwnElement: () => boolean;
6
+ //# sourceMappingURL=resolve-renders-own-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-renders-own-element.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-button/resolve-renders-own-element.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAO,OAAe,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { AttributeEditModeConfig } from '../../../../types';
2
+ /**
3
+ * Both settings the divider offers, in the order the Modify drawer shows them.
4
+ *
5
+ * Order is not cosmetic. The drawer renders these top to bottom and the
6
+ * documentation registry asserts its pages match that sequence, so moving an
7
+ * entry here moves it in both places at once.
8
+ */
9
+ export declare const attributeEditModeConfigs: AttributeEditModeConfig[];
10
+ //# sourceMappingURL=attribute-edit-mode-configs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute-edit-mode-configs.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-divider/attribute-edit-mode-configs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAQjE;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,uBAAuB,EAc7D,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { DefaultAttributeValue } from '../../../../types';
2
+ /**
3
+ * Seeds the divider's own two settings so the drawer opens on the values a
4
+ * fresh divider is already drawn with, rather than on two empty pickers.
5
+ *
6
+ * Seeding them is safe here in a way it would not be for `r-button`: these
7
+ * names are the divider's own, so nothing in Column Styles writes to them and
8
+ * a seeded value can never shadow a style the author set.
9
+ */
10
+ export declare const defaultAttributeValues: DefaultAttributeValue[];
11
+ //# sourceMappingURL=default-attribute-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-attribute-values.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-divider/default-attribute-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAQ/D;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAazD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { DisplayCardEntry } from '../../../../types';
2
+ export declare const displayCardEntry: DisplayCardEntry;
3
+ //# sourceMappingURL=display-card-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display-card-entry.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-divider/display-card-entry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,eAAO,MAAM,gBAAgB,EAAE,gBAO9B,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * The attribute names `r-divider` reads.
3
+ *
4
+ * There are two, and the list is short on purpose. A divider is a line, and a
5
+ * line has four things about it worth setting: how thick it is, whether it is
6
+ * broken up, what colour it is, and how far across the column it runs. Only
7
+ * the first two are here.
8
+ *
9
+ * Colour and width are missing because they already exist. The line is drawn
10
+ * in `currentColor`, so Text Color on the column sets it the same way it sets
11
+ * the colour of an icon, and the element is the column's own box, so Width on
12
+ * the column shortens it. Offering a second control for either would only
13
+ * raise the question of which one wins — the same reasoning that keeps colour
14
+ * and border off `r-button`.
15
+ *
16
+ * Both remaining attributes are closed sets rather than free text, which is
17
+ * what lets them go through the composer's shared select and lets the render
18
+ * path treat anything unrecognised as unset. A stored value reaches a CSS
19
+ * property here, so an allowlist is the boundary that keeps it from being
20
+ * whatever a request happened to write.
21
+ */
22
+ export declare const DIVIDER_STYLE_ATTRIBUTE = "divider-style-3-resolutions";
23
+ export declare const DIVIDER_THICKNESS_ATTRIBUTE = "divider-thickness-3-resolutions";
24
+ export declare const DIVIDER_STYLES: readonly ["solid", "dashed", "dotted"];
25
+ export type DividerStyle = (typeof DIVIDER_STYLES)[number];
26
+ export declare const DEFAULT_DIVIDER_STYLE: DividerStyle;
27
+ /**
28
+ * Weights rather than a free measurement. Anything under a pixel disappears on
29
+ * a low-density screen and anything much over eight reads as a band rather
30
+ * than a rule, so the useful range is small enough to offer whole.
31
+ */
32
+ export declare const DIVIDER_THICKNESSES: readonly ["1px", "2px", "3px", "4px", "8px"];
33
+ export type DividerThickness = (typeof DIVIDER_THICKNESSES)[number];
34
+ export declare const DEFAULT_DIVIDER_THICKNESS: DividerThickness;
35
+ type Attributes = {
36
+ [key: string]: any;
37
+ } | undefined;
38
+ export declare const resolveDividerStyle: (componentAttributes: Attributes) => DividerStyle;
39
+ export declare const resolveDividerThickness: (componentAttributes: Attributes) => DividerThickness;
40
+ export {};
41
+ //# sourceMappingURL=divider-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider-attributes.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-divider/divider-attributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AACrE,eAAO,MAAM,2BAA2B,oCAAoC,CAAC;AAE7E,eAAO,MAAM,cAAc,wCAAyC,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,eAAO,MAAM,qBAAqB,EAAE,YAAsB,CAAC;AAE3D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,8CAA+C,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,eAAO,MAAM,yBAAyB,EAAE,gBAAwB,CAAC;AAEjE,KAAK,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,CAAC;AAErD,eAAO,MAAM,mBAAmB,wBAAyB,UAAU,KAAG,YAGrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,wBAAyB,UAAU,KAAG,gBAGzE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { CssStyleMap as CSSProperties } from '../../../../types';
2
+ /**
3
+ * The divider's contribution to its own inline style.
4
+ *
5
+ * Written entirely in per-side longhands. Column styles arrive as the
6
+ * all-sides `borderWidth` / `borderStyle` / `borderColor` — different keys,
7
+ * which is what matters: spread later they are appended after these rather
8
+ * than replacing them in place, so an author who sets Border on the column
9
+ * gets a border and not a silent no-op.
10
+ */
11
+ export declare function buildDividerStyles(componentAttributes?: {
12
+ [key: string]: any;
13
+ }): CSSProperties;
14
+ //# sourceMappingURL=divider-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider-styles.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-divider/divider-styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAsCtE;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,mBAAmB,CAAC,EAAE;IACvD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG,aAAa,CAShB"}
@@ -0,0 +1,16 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class RDividerComponent {
3
+ componentAttributes?: {
4
+ [key: string]: any;
5
+ };
6
+ styleProps?: {
7
+ [key: string]: any;
8
+ };
9
+ className?: string;
10
+ get style(): {
11
+ [x: string]: any;
12
+ };
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<RDividerComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<RDividerComponent, "rulecms-r-divider", never, { "componentAttributes": { "alias": "componentAttributes"; "required": false; }; "styleProps": { "alias": "styleProps"; "required": false; }; "className": { "alias": "className"; "required": false; }; }, {}, never, never, true, never>;
15
+ }
16
+ //# sourceMappingURL=r-divider.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"r-divider.component.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-divider/r-divider.component.ts"],"names":[],"mappings":";AAIA,qBAOa,iBAAiB;IACnB,mBAAmB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC7C,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,IAAI,KAAK;;MAKR;yCAVU,iBAAiB;2CAAjB,iBAAiB;CAW7B"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Always renders an `<hr>`, a block-level element that holds margin, padding,
3
+ * width and border on itself, so a wrapper div would only add a redundant
4
+ * element. No configuration changes that.
5
+ */
6
+ export declare const resolveNoContainer: () => boolean;
7
+ //# sourceMappingURL=resolve-no-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-no-container.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-divider/resolve-no-container.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAO,OAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The `<hr>` carries the className. There is always exactly one element and it
3
+ * is always the root, so there is nothing for this to depend on.
4
+ */
5
+ export declare const resolveRendersOwnElement: () => boolean;
6
+ //# sourceMappingURL=resolve-renders-own-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-renders-own-element.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-divider/resolve-renders-own-element.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAO,OAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { AttributeEditModeConfig } from '../../../../types';
2
+ /**
3
+ * Drawer order, which is also the order the documentation pages are listed in:
4
+ * the URL first because nothing renders without it, then the three settings
5
+ * that only matter once something does.
6
+ */
7
+ export declare const attributeEditModeConfigs: AttributeEditModeConfig[];
8
+ //# sourceMappingURL=attribute-edit-mode-configs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute-edit-mode-configs.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-embed/attribute-edit-mode-configs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,uBAAuB,EA6B7D,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { DefaultAttributeValue } from '../../../../types';
2
+ /**
3
+ * Nothing is seeded, including the URL.
4
+ *
5
+ * A freshly dropped embed renders nothing until an author pastes something,
6
+ * which is the honest result: the alternative is shipping a placeholder video
7
+ * that a customer's page would publish if anyone forgot to replace it. The
8
+ * palette card and the empty drawer say what to do instead.
9
+ *
10
+ * Aspect ratio is left unset on purpose too, so it resolves from the provider
11
+ * — a map is 4:3 and a video is 16:9 without either being written down here.
12
+ */
13
+ export declare const defaultAttributeValues: DefaultAttributeValue[];
14
+ //# sourceMappingURL=default-attribute-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-attribute-values.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-embed/default-attribute-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAiBzD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { DisplayCardEntry } from '../../../../types';
2
+ export declare const displayCardEntry: DisplayCardEntry;
3
+ //# sourceMappingURL=display-card-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display-card-entry.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-embed/display-card-entry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,eAAO,MAAM,gBAAgB,EAAE,gBAO9B,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * The attribute names `r-embed` reads.
3
+ *
4
+ * Four, and the shortest list that still produces a usable embed: what to
5
+ * frame, what to call it, what shape it is, and whether it loads before the
6
+ * visitor scrolls to it.
7
+ *
8
+ * There is no provider attribute. The provider is derived from the URL, so
9
+ * pasting is the whole interaction and an author cannot pick YouTube and then
10
+ * paste a Vimeo link. There is no width, colour, border or radius either —
11
+ * those are column settings, and a second route to the same CSS property only
12
+ * raises the question of which one is in force.
13
+ *
14
+ * Nothing here can influence the frame's privileges. `sandbox`, `allow` and
15
+ * `referrerpolicy` are fixed per provider in `embed-providers.ts` and are not
16
+ * attributes at all, which is also why this component deliberately has no
17
+ * `pass-through-embed-attributes-*` convention.
18
+ */
19
+ export declare const EMBED_URL_ATTRIBUTE = "embed-url-3-resolutions";
20
+ export declare const EMBED_TITLE_ATTRIBUTE = "embed-title-3-resolutions";
21
+ export declare const EMBED_ASPECT_RATIO_ATTRIBUTE = "embed-aspect-ratio-3-resolutions";
22
+ export declare const EMBED_LOADING_ATTRIBUTE = "embed-loading-3-resolutions";
23
+ /**
24
+ * Shapes rather than dimensions. An iframe has no intrinsic size to preserve,
25
+ * so something has to state the proportion or the box collapses to the
26
+ * browser's 300×150 default — and a ratio does it without the author having to
27
+ * work out a height for every screen width.
28
+ *
29
+ * `none` is the escape hatch for content that has no natural shape, a booking
30
+ * form being the obvious one. It is the only value that hands sizing back to
31
+ * the column's Height setting.
32
+ */
33
+ export declare const EMBED_ASPECT_RATIOS: readonly ["16:9", "4:3", "1:1", "9:16", "21:9", "none"];
34
+ export type EmbedAspectRatio = (typeof EMBED_ASPECT_RATIOS)[number];
35
+ /**
36
+ * What an unshaped embed is tall by default. Applied by the component rather
37
+ * than seeded onto the column, so the column's Height still overrides it and
38
+ * clearing that returns the embed to a height that works — the same
39
+ * "unset means the component's default" arrangement `r-button` uses for its
40
+ * preset. Sized for a Calendly month view, which is the content that needs it.
41
+ */
42
+ export declare const EMBED_UNSHAPED_HEIGHT = "700px";
43
+ export declare const EMBED_LOADING_VALUES: readonly ["lazy", "eager"];
44
+ export type EmbedLoading = (typeof EMBED_LOADING_VALUES)[number];
45
+ /**
46
+ * Lazy by default. An embed is a whole third-party document — for YouTube,
47
+ * comfortably more than the rest of the page around it — and most of them sit
48
+ * below the fold. `eager` exists for the ones that do not.
49
+ */
50
+ export declare const DEFAULT_EMBED_LOADING: EmbedLoading;
51
+ type Attributes = {
52
+ [key: string]: any;
53
+ } | undefined;
54
+ /**
55
+ * The aspect ratio, or `undefined` when the author has not chosen one and the
56
+ * provider's own default should apply. Anything unrecognised is treated as
57
+ * unset rather than passed through: this value reaches a CSS property.
58
+ */
59
+ export declare const resolveEmbedAspectRatio: (componentAttributes: Attributes) => EmbedAspectRatio | undefined;
60
+ export declare const resolveEmbedLoading: (componentAttributes: Attributes) => EmbedLoading;
61
+ /**
62
+ * An iframe's accessible name. A screen reader reaching an untitled frame
63
+ * announces it as "frame" and nothing else, so this never returns empty — an
64
+ * author who clears the field gets the provider's name back rather than a
65
+ * silent frame.
66
+ */
67
+ export declare const resolveEmbedTitle: (componentAttributes: Attributes, fallback: string) => string;
68
+ /** CSS `aspect-ratio` wants `16 / 9`; the attribute stores the familiar `16:9`. */
69
+ export declare const toCssAspectRatio: (ratio: EmbedAspectRatio) => string | undefined;
70
+ export {};
71
+ //# sourceMappingURL=embed-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed-attributes.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-embed/embed-attributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAC7D,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,4BAA4B,qCAAqC,CAAC;AAC/E,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,yDAA0D,CAAC;AAC3F,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAE7C,eAAO,MAAM,oBAAoB,4BAA6B,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAAqB,CAAC;AAE1D,KAAK,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,wBACb,UAAU,KAC9B,gBAAgB,GAAG,SAGrB,CAAC;AAEF,eAAO,MAAM,mBAAmB,wBAAyB,UAAU,KAAG,YAGrE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,wBACP,UAAU,YACrB,MAAM,KACf,MAOF,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,UAAW,gBAAgB,KAAG,MAAM,GAAG,SACV,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * The providers `r-embed` will frame, and the only thing standing between an
3
+ * author's paste box and an iframe on a customer's page.
4
+ *
5
+ * This is an allowlist, not a denylist — the opposite of `is-safe-href`, and
6
+ * deliberately so. A link navigates away; an iframe runs a third party's
7
+ * document inside the page the widget was dropped on, with whatever
8
+ * permissions the embedding page grants it. There is no set of dangerous
9
+ * schemes to enumerate here, because everything that is not a provider we have
10
+ * looked at is dangerous.
11
+ *
12
+ * Two consequences worth stating outright:
13
+ *
14
+ * **The `src` is rebuilt, never passed through.** A provider takes the URL the
15
+ * author pasted, extracts the one or two identifiers it recognises, and
16
+ * composes a fresh URL from a hardcoded origin. Nothing an author types
17
+ * reaches the `src` except an id that matched a narrow pattern. A watch page,
18
+ * a share link and an already-embeddable URL all converge on the same output.
19
+ *
20
+ * **The frame's privileges are the provider's, not the author's.** `sandbox`
21
+ * and `allow` are properties of the entry below, not attributes an author can
22
+ * set, which is also why this component has no pass-through convention. A
23
+ * `pass-through-embed-attributes-sandbox` key would hand away every guarantee
24
+ * on this page for the sake of consistency with `r-video`.
25
+ */
26
+ import type { EmbedAspectRatio } from './embed-attributes';
27
+ export type EmbedProviderId = 'youtube' | 'vimeo' | 'google-maps' | 'calendly';
28
+ export type EmbedProvider = {
29
+ id: EmbedProviderId;
30
+ /** Provider name for the composer and for the docs. */
31
+ label: string;
32
+ /**
33
+ * Hosts an author may paste, already normalised (lowercase, no `www.`).
34
+ * Matching one of these only earns the URL a look at `toEmbedUrl`.
35
+ */
36
+ inputHosts: readonly string[];
37
+ /**
38
+ * Builds the URL that actually goes in the `src`, or returns `null` when the
39
+ * URL is on the right host but is not something this provider can frame.
40
+ * The origin it returns is hardcoded here, never taken from the input.
41
+ */
42
+ toEmbedUrl: (url: URL) => string | null;
43
+ /** Tokens for the iframe's `sandbox`. Fixed per provider; never author-set. */
44
+ sandbox: readonly string[];
45
+ /** Permissions-policy tokens for the iframe's `allow`. */
46
+ allow: readonly string[];
47
+ allowFullScreen: boolean;
48
+ /** The shape this provider's content wants before an author says otherwise. */
49
+ defaultAspectRatio: EmbedAspectRatio;
50
+ /** The iframe's accessible name when the author has not written one. */
51
+ defaultTitle: string;
52
+ };
53
+ /** Lowercase and drop a leading `www.`, so host matching is not a trick question. */
54
+ export declare const normaliseHost: (hostname: string) => string;
55
+ export declare const EMBED_PROVIDERS: readonly EmbedProvider[];
56
+ export type ResolvedEmbedUrl = {
57
+ provider: EmbedProvider;
58
+ /** The rebuilt URL. Never the author's string. */
59
+ src: string;
60
+ };
61
+ /**
62
+ * The single place an embed URL is checked against the allowlist.
63
+ *
64
+ * Every caller — the component, both container resolvers, and the composer's
65
+ * URL editor through the package's public exports — comes through here rather
66
+ * than reading `EMBED_PROVIDERS` and matching for itself. That is what keeps
67
+ * a per-app allowlist a change to one function's argument later on, instead of
68
+ * a hunt for call sites: see
69
+ * `rulecms/__docs__/__TODO__/__COMPONENTS__/TODO_PLATFORM_EMBED_ALLOWLIST_PER_APP.md`.
70
+ *
71
+ * Returns `null` for anything it cannot vouch for, which is the fail-closed
72
+ * behaviour the component depends on. It never throws: a malformed URL in a
73
+ * stored widget must not take down the page it was published to.
74
+ */
75
+ export declare function resolveEmbedUrl(value: unknown, providers?: readonly EmbedProvider[]): ResolvedEmbedUrl | null;
76
+ /** Whether a URL would render. The composer's editor uses this for its hint. */
77
+ export declare const isAllowedEmbedUrl: (value: unknown, providers?: readonly EmbedProvider[]) => boolean;
78
+ //# sourceMappingURL=embed-providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed-providers.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-embed/embed-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAE/E,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,eAAe,CAAC;IACpB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B;;;;OAIG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI,CAAC;IACxC,+EAA+E;IAC/E,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,0DAA0D;IAC1D,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,+EAA+E;IAC/E,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAoDF,qFAAqF;AACrF,eAAO,MAAM,aAAa,aAAc,MAAM,KAAG,MACH,CAAC;AA6B/C,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAyHnD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,SAAS,aAAa,EAAoB,GACpD,gBAAgB,GAAG,IAAI,CAkCzB;AAED,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,UACrB,OAAO,cACH,SAAS,aAAa,EAAE,KAClC,OAAqD,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
2
+ import * as i0 from "@angular/core";
3
+ export declare class REmbedComponent {
4
+ private readonly sanitizer;
5
+ componentAttributes?: {
6
+ [key: string]: any;
7
+ };
8
+ styleProps?: {
9
+ [key: string]: any;
10
+ };
11
+ className?: string;
12
+ constructor(sanitizer: DomSanitizer);
13
+ get embed(): import("./resolve-embed").ResolvedEmbed | null;
14
+ get safeSrc(): SafeResourceUrl | null;
15
+ get style(): {
16
+ [key: string]: any;
17
+ } | undefined;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<REmbedComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<REmbedComponent, "rulecms-r-embed", never, { "componentAttributes": { "alias": "componentAttributes"; "required": false; }; "styleProps": { "alias": "styleProps"; "required": false; }; "className": { "alias": "className"; "required": false; }; }, {}, never, never, true, never>;
20
+ }
21
+ //# sourceMappingURL=r-embed.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"r-embed.component.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/base-components/display/components/r-embed/r-embed.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;;AAG1E,qBAqBa,eAAe;IAKd,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ7B,mBAAmB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC7C,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEC,SAAS,EAAE,YAAY;IAEpD,IAAI,KAAK,mDAER;IAED,IAAI,OAAO,IAAI,eAAe,GAAG,IAAI,CAGpC;IAED,IAAI,KAAK;;kBAMR;yCAtBU,eAAe;2CAAf,eAAe;CAuB3B"}