rw-elements-tools 1.2.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 (185) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +1333 -0
  3. package/bin/cli.js +213 -0
  4. package/build-properties.js +654 -0
  5. package/build-shared-hooks.js +253 -0
  6. package/config.js +148 -0
  7. package/controls/Animations/AnimationEffects.js +111 -0
  8. package/controls/Animations/AnimationSettings.js +437 -0
  9. package/controls/Animations/Reveals.js +168 -0
  10. package/controls/Animations/ScrollAnimation_Opacity.js +15 -0
  11. package/controls/Animations/ScrollAnimation_Rotate.js +17 -0
  12. package/controls/Animations/ScrollAnimation_Scale.js +18 -0
  13. package/controls/Animations/ScrollAnimation_Translate.js +31 -0
  14. package/controls/Background/Background.js +66 -0
  15. package/controls/Background/BackgroundButton.js +69 -0
  16. package/controls/Background/BackgroundColor.js +28 -0
  17. package/controls/Background/BackgroundContainer.js +73 -0
  18. package/controls/Background/BackgroundGradient.js +149 -0
  19. package/controls/Background/BackgroundImage.js +108 -0
  20. package/controls/Background/BackgroundOnlyColor.js +53 -0
  21. package/controls/Background/BackgroundTransparent.js +66 -0
  22. package/controls/Background/BackgroundVideo.js +9 -0
  23. package/controls/Background/Color.js +52 -0
  24. package/controls/Background/Gradient.js +263 -0
  25. package/controls/Background/GradientContainer.js +263 -0
  26. package/controls/Background/Image.js +269 -0
  27. package/controls/Background/Image_CMS.js +305 -0
  28. package/controls/Background/SVG.js +235 -0
  29. package/controls/Background/Video.js +29 -0
  30. package/controls/Borders/Border.js +114 -0
  31. package/controls/Borders/BorderColor.js +25 -0
  32. package/controls/Borders/BorderRadius.js +19 -0
  33. package/controls/Borders/BorderStyle.js +26 -0
  34. package/controls/Borders/BorderWidth.js +20 -0
  35. package/controls/Borders/Borders.js +69 -0
  36. package/controls/Borders/BordersContainer.js +90 -0
  37. package/controls/Borders/BordersInput.js +107 -0
  38. package/controls/Borders/Outline.js +100 -0
  39. package/controls/Borders/OutlineColor.js +25 -0
  40. package/controls/Borders/OutlineOffset.js +13 -0
  41. package/controls/Borders/OutlineStyle.js +26 -0
  42. package/controls/Borders/OutlineWidth.js +13 -0
  43. package/controls/Effects/BackdropBlur.js +11 -0
  44. package/controls/Effects/Blur.js +11 -0
  45. package/controls/Effects/BoxShadow.js +15 -0
  46. package/controls/Effects/Brightness.js +11 -0
  47. package/controls/Effects/DropShadow.js +14 -0
  48. package/controls/Effects/Effects.js +71 -0
  49. package/controls/Effects/Filters.js +114 -0
  50. package/controls/Effects/Opacity.js +14 -0
  51. package/controls/Effects/Saturate.js +11 -0
  52. package/controls/Layout/AspectRatio.js +53 -0
  53. package/controls/Layout/Container.js +24 -0
  54. package/controls/Layout/Hidden.js +9 -0
  55. package/controls/Layout/Inset.js +15 -0
  56. package/controls/Layout/Isolation.js +25 -0
  57. package/controls/Layout/Layout.js +38 -0
  58. package/controls/Layout/Overflow.js +33 -0
  59. package/controls/Layout/Position.js +37 -0
  60. package/controls/Layout/TopRightBottomLeft.js +90 -0
  61. package/controls/Layout/Visibility.js +25 -0
  62. package/controls/Layout/ZIndex.js +36 -0
  63. package/controls/Overlay/Color.js +52 -0
  64. package/controls/Overlay/Gradient.js +298 -0
  65. package/controls/Overlay/Image.js +226 -0
  66. package/controls/Overlay/Overlay.js +66 -0
  67. package/controls/Sizing/Height.js +18 -0
  68. package/controls/Sizing/MaxHeight.js +17 -0
  69. package/controls/Sizing/MaxWidth.js +17 -0
  70. package/controls/Sizing/MinHeight.js +18 -0
  71. package/controls/Sizing/MinWidth.js +18 -0
  72. package/controls/Sizing/Sizing.js +66 -0
  73. package/controls/Sizing/SizingContainer.js +122 -0
  74. package/controls/Sizing/SizingImage.js +75 -0
  75. package/controls/Sizing/SizingInput.js +71 -0
  76. package/controls/Sizing/SizingSVG.js +74 -0
  77. package/controls/Sizing/Width.js +18 -0
  78. package/controls/Spacing/Margin.js +17 -0
  79. package/controls/Spacing/Padding.js +17 -0
  80. package/controls/Spacing/Spacing.js +23 -0
  81. package/controls/Spacing/SpacingButton.js +42 -0
  82. package/controls/Spacing/SpacingContainer.js +32 -0
  83. package/controls/Spacing/SpacingInput.js +42 -0
  84. package/controls/Transforms/Rotate.js +13 -0
  85. package/controls/Transforms/Scale.js +13 -0
  86. package/controls/Transforms/Skew.js +25 -0
  87. package/controls/Transforms/TransformOrigin.js +12 -0
  88. package/controls/Transforms/Transforms.js +98 -0
  89. package/controls/Transforms/Translate.js +26 -0
  90. package/controls/Transitions/Delay.js +13 -0
  91. package/controls/Transitions/Duration.js +13 -0
  92. package/controls/Transitions/Property.js +42 -0
  93. package/controls/Transitions/TimingFunction.js +44 -0
  94. package/controls/Transitions/Transitions.js +20 -0
  95. package/controls/alignment/AlignContent.js +48 -0
  96. package/controls/alignment/AlignItems.js +64 -0
  97. package/controls/alignment/AlignSelf.js +34 -0
  98. package/controls/alignment/JustifyContent.js +44 -0
  99. package/controls/alignment/JustifyItems.js +32 -0
  100. package/controls/alignment/JustifySelf.js +34 -0
  101. package/controls/core/CSSClasses.js +11 -0
  102. package/controls/core/ControlType.js +25 -0
  103. package/controls/core/HTMLTag.js +80 -0
  104. package/controls/core/HoverGroup.js +38 -0
  105. package/controls/core/ID.js +12 -0
  106. package/controls/core/Image.js +95 -0
  107. package/controls/core/MenuItem.js +187 -0
  108. package/controls/core/ObjectFit.js +32 -0
  109. package/controls/core/ObjectPosition.js +65 -0
  110. package/controls/grid-flex/ActAsGridOrFlexItem.js +54 -0
  111. package/controls/grid-flex/ColEnd.js +28 -0
  112. package/controls/grid-flex/ColStart.js +27 -0
  113. package/controls/grid-flex/Columns.js +38 -0
  114. package/controls/grid-flex/FlexDirection.js +27 -0
  115. package/controls/grid-flex/FlexItem.js +106 -0
  116. package/controls/grid-flex/GridItem.js +41 -0
  117. package/controls/grid-flex/Order.js +45 -0
  118. package/controls/grid-flex/RowEnd.js +28 -0
  119. package/controls/grid-flex/RowStart.js +27 -0
  120. package/controls/grid-flex/Rows.js +38 -0
  121. package/controls/index.js +187 -0
  122. package/controls/interactive/ButtonFontAndTextStyles.js +208 -0
  123. package/controls/interactive/Filter.js +54 -0
  124. package/controls/interactive/InputFontAndTextStyles.js +156 -0
  125. package/controls/interactive/Link.js +13 -0
  126. package/controls/typography/HeadingColor.js +112 -0
  127. package/controls/typography/TextColor.js +51 -0
  128. package/controls/typography/TextDecoration.js +99 -0
  129. package/controls/typography/TextFontsAndTextStyles.js +243 -0
  130. package/controls/typography/TextSimple.js +55 -0
  131. package/controls/typography/TextStyles.js +55 -0
  132. package/controls/typography/Typography.js +13 -0
  133. package/index.js +19 -0
  134. package/package.json +55 -0
  135. package/properties/BackgroundType.js +18 -0
  136. package/properties/ButtonSize.js +19 -0
  137. package/properties/ContainerHeights.js +23 -0
  138. package/properties/ContainerWidths.js +27 -0
  139. package/properties/FontWeight.js +16 -0
  140. package/properties/GradientDirection.js +39 -0
  141. package/properties/LetterSpacing.js +13 -0
  142. package/properties/LineHeight.js +13 -0
  143. package/properties/RevealAnimations.js +12 -0
  144. package/properties/Slider.js +10 -0
  145. package/properties/TextAlign.js +23 -0
  146. package/properties/TransformOrigins.js +43 -0
  147. package/properties/TransitionNames.js +20 -0
  148. package/properties/index.js +13 -0
  149. package/shared-hooks/animations/globalAnimations.js +141 -0
  150. package/shared-hooks/animations/globalReveal.js +48 -0
  151. package/shared-hooks/background/globalBackground.js +306 -0
  152. package/shared-hooks/background/globalBgImageFetchPriority.js +34 -0
  153. package/shared-hooks/borders/globalBorders.js +85 -0
  154. package/shared-hooks/borders/globalOutline.js +39 -0
  155. package/shared-hooks/core/addPrefixToTailwindClasses.js +24 -0
  156. package/shared-hooks/core/advancedClasses.js +5 -0
  157. package/shared-hooks/core/classnames.js +92 -0
  158. package/shared-hooks/core/getHoverPrefix.js +21 -0
  159. package/shared-hooks/core/globalHTMLTag.js +17 -0
  160. package/shared-hooks/core/injectPrefixOnDarkModeColors.js +6 -0
  161. package/shared-hooks/effects/globalEffects.js +45 -0
  162. package/shared-hooks/effects/globalFilters.js +80 -0
  163. package/shared-hooks/effects/globalOverlay.js +166 -0
  164. package/shared-hooks/interactive/globalFilter.js +24 -0
  165. package/shared-hooks/interactive/globalLink.js +23 -0
  166. package/shared-hooks/layout/globalActAsGridOrFlexItem.js +66 -0
  167. package/shared-hooks/layout/globalLayout.js +50 -0
  168. package/shared-hooks/navigation/globalMenuItem.js +35 -0
  169. package/shared-hooks/navigation/globalNavItems.js +60 -0
  170. package/shared-hooks/navigation/globalNavTitle.js +23 -0
  171. package/shared-hooks/sizing/aspectRatioClasses.js +20 -0
  172. package/shared-hooks/sizing/globalSizing.js +19 -0
  173. package/shared-hooks/sizing/globalSizingContainer.js +40 -0
  174. package/shared-hooks/sizing/objectClasses.js +9 -0
  175. package/shared-hooks/spacing/globalSpacing.js +13 -0
  176. package/shared-hooks/spacing/globalSpacingMargin.js +11 -0
  177. package/shared-hooks/spacing/globalSpacingPadding.js +11 -0
  178. package/shared-hooks/transforms/globalTransforms.js +78 -0
  179. package/shared-hooks/transitions/getAlpineTransitionAttributesDesktop.js +111 -0
  180. package/shared-hooks/transitions/getAlpineTransitionAttributesMobile.js +110 -0
  181. package/shared-hooks/transitions/globalTransitions.js +48 -0
  182. package/shared-hooks/typography/globalButtonFontAndTextStyles.js +65 -0
  183. package/shared-hooks/typography/globalHeadingColor.js +69 -0
  184. package/shared-hooks/typography/globalInputFontAndTextStyles.js +40 -0
  185. package/shared-hooks/typography/globalTextFontsAndTextStyles.js +47 -0
@@ -0,0 +1,112 @@
1
+ const HeadingColor = [
2
+ {
3
+ globalControl: "ControlType",
4
+ id: "{{value}}Bg",
5
+ segmented: {
6
+ default: "static",
7
+ items: [
8
+ {
9
+ title: "Static",
10
+ value: "static",
11
+ },
12
+ {
13
+ title: "Hover",
14
+ value: "hover",
15
+ },
16
+ ],
17
+ },
18
+ },
19
+ {
20
+ title: "Style",
21
+ id: "globalBgType",
22
+ responsive: false,
23
+ segmented: {
24
+ default: "color",
25
+ items: [
26
+ {
27
+ icon: "paintbrush",
28
+ value: "color",
29
+ },
30
+ {
31
+ icon: "photo",
32
+ value: "image",
33
+ },
34
+ {
35
+ icon: "swatchpalette",
36
+ value: "gradient",
37
+ },
38
+ ],
39
+ },
40
+ },
41
+ {
42
+ visible: "globalControlTypeBg != 'none'",
43
+ divider: {},
44
+ },
45
+ {
46
+ visible: "globalControlTypeBg == 'hover'",
47
+ globalControl: "HoverGroup",
48
+ id: "{{value}}Bg",
49
+ },
50
+ {
51
+ visible: "globalControlTypeBg != 'none' && globalControlTypeBg != 'static'",
52
+ title: "State",
53
+ id: "globalBgState",
54
+ responsive: false,
55
+ segmented: {
56
+ default: "start",
57
+ items: [
58
+ {
59
+ title: "Start",
60
+ value: "start",
61
+ },
62
+ {
63
+ title: "End",
64
+ value: "end",
65
+ },
66
+ ]
67
+ }
68
+ },
69
+ {
70
+ visible: "globalControlTypeBg == 'static' && globalBgType == 'color' || (globalControlTypeBg == 'hover' && globalBgState == 'start' && globalBgType == 'color')",
71
+ globalControl: "TextColor",
72
+ default: {
73
+ name: "text",
74
+ brightness: 50,
75
+ }
76
+ },
77
+ {
78
+ visible: "globalControlTypeBg == 'hover' && globalBgState == 'end' && globalBgType == 'color'",
79
+ title: "Color",
80
+ id: "globalTextColorHover",
81
+ format: "text-{{value}}",
82
+ themeColor: {
83
+ default: {
84
+ name: "text",
85
+ brightness: 200
86
+ }
87
+ },
88
+ },
89
+ {
90
+ visible: "globalControlTypeBg == 'hover' && globalBgState == 'end' && globalBgType == 'color'",
91
+ title: "Opacity",
92
+ id: "globalTextColorOpacityHover",
93
+ responsive: false,
94
+ format: "text-opacity-[{{value}}%] dark:text-opacity-[{{value}}%]",
95
+ slider: {
96
+ default: 100,
97
+ min: 0,
98
+ max: 100,
99
+ round: true,
100
+ snap: true,
101
+ units: "%"
102
+ },
103
+ },
104
+ {
105
+ globalControl: "Background_Gradient",
106
+ },
107
+ {
108
+ globalControl: "Background_Image",
109
+ },
110
+ ];
111
+
112
+ export default HeadingColor;
@@ -0,0 +1,51 @@
1
+ const TextColor = [
2
+ {
3
+ title: "Color",
4
+ id: "globalTextColor",
5
+ format: "text-{{value}}",
6
+ themeColor: {
7
+ default: {
8
+ name: "text",
9
+ brightness: 100,
10
+ },
11
+ },
12
+ },
13
+ {
14
+ title: "Opacity",
15
+ id: "globalTextColorOpacity",
16
+ responsive: false,
17
+ format: "text-opacity-[{{value}}%] dark:text-opacity-[{{value}}%]",
18
+ slider: {
19
+ default: 100,
20
+ use: "Slider",
21
+ units: "%",
22
+ },
23
+ },
24
+ ];
25
+
26
+ export const TextColorHover = [
27
+ {
28
+ title: "Color",
29
+ id: "globalTextColorHover",
30
+ format: "hover:text-{{value}}",
31
+ themeColor: {
32
+ default: {
33
+ name: "text",
34
+ brightness: 300,
35
+ },
36
+ },
37
+ },
38
+ {
39
+ title: "Opacity",
40
+ id: "globalTextColorOpacityHover",
41
+ responsive: false,
42
+ format: "hover:text-opacity-[{{value}}%] dark:hover:text-opacity-[{{value}}%]",
43
+ slider: {
44
+ default: 100,
45
+ use: "Slider",
46
+ units: "%",
47
+ },
48
+ },
49
+ ];
50
+
51
+ export default TextColor;
@@ -0,0 +1,99 @@
1
+ const TextDecoration = [
2
+ {
3
+ title: "Underline",
4
+ id: "textDecoration",
5
+ select: {
6
+ default: "no-underline",
7
+ items: [
8
+ {
9
+ value: "no-underline",
10
+ title: "No Underline",
11
+ },
12
+ {
13
+ value: "underline",
14
+ title: "Underline",
15
+ },
16
+ {
17
+ value: "overline",
18
+ title: "Overline",
19
+ },
20
+ {
21
+ value: "line-through",
22
+ title: "Line Through",
23
+ },
24
+ ],
25
+ },
26
+ },
27
+ {
28
+ visible: "textDecoration != 'no-underline'",
29
+ title: "Thickness",
30
+ id: "textDecorationThickness",
31
+ format: "decoration-[{{value}}px]",
32
+ slider: {
33
+ default: 1,
34
+ use: "Slider",
35
+ max: 30,
36
+ },
37
+ },
38
+ {
39
+ visible: "textDecoration == 'underline'",
40
+ information: {},
41
+ title: "Thickness is currently applied in preview only.",
42
+ },
43
+ {
44
+ visible: "textDecoration == 'underline'",
45
+ title: "Offset",
46
+ id: "textDecorationOffset",
47
+ format: "underline-offset-[{{value}}px]",
48
+ slider: {
49
+ default: 1,
50
+ use: "Slider",
51
+ max: 30,
52
+ },
53
+ },
54
+ {
55
+ visible: "textDecoration != 'no-underline'",
56
+ title: "Style",
57
+ id: "textDecorationStyle",
58
+ format: "decoration-{{value}}",
59
+ select: {
60
+ default: "solid",
61
+ items: [
62
+ {
63
+ value: "solid",
64
+ title: "Solid",
65
+ },
66
+ {
67
+ value: "double",
68
+ title: "Double",
69
+ },
70
+ {
71
+ value: "dotted",
72
+ title: "Dotted",
73
+ },
74
+ {
75
+ value: "dashed",
76
+ title: "Dashed",
77
+ },
78
+ {
79
+ value: "wavy",
80
+ title: "Wavy",
81
+ },
82
+ ],
83
+ },
84
+ },
85
+ {
86
+ visible: "textDecoration != 'no-underline'",
87
+ title: "Color",
88
+ id: "textDecorationColor",
89
+ format: "decoration-{{value}}",
90
+ themeColor: {
91
+ default: {
92
+ name: "gray",
93
+ brightness: 800,
94
+ },
95
+ },
96
+ },
97
+ ];
98
+
99
+ export default TextDecoration;
@@ -0,0 +1,243 @@
1
+ const TextFontsAndTextStyles = [
2
+ {
3
+ title: "Font",
4
+ id: "globalTextFontFamily",
5
+ themeFont: {
6
+ default: {
7
+ base: {
8
+ name: "body",
9
+ },
10
+ },
11
+ },
12
+ },
13
+ {
14
+ title: "Size",
15
+ id: "globalTextFontSize",
16
+ themeTextStyle: {
17
+ default: {
18
+ base: {
19
+ name: "base",
20
+ },
21
+ },
22
+ },
23
+ },
24
+ {
25
+ title: "Weight",
26
+ id: "globalTextFontWeight",
27
+ format: "font-[{{value}}]",
28
+ slider: {
29
+ default: "400",
30
+ items: [
31
+ { value: "100", title: "Thin" },
32
+ { value: "200", title: "Extra Light" },
33
+ { value: "300", title: "Light" },
34
+ { value: "400", title: "Normal" },
35
+ { value: "500", title: "Medium" },
36
+ { value: "600", title: "Semi Bold" },
37
+ { value: "700", title: "Bold" },
38
+ { value: "800", title: "Extra Bold" },
39
+ { value: "900", title: "Black" },
40
+ ],
41
+ },
42
+ },
43
+ {
44
+ title: "Spacing",
45
+ id: "globalTextLetterSpacing",
46
+ format: "tracking-{{value}}",
47
+ slider: {
48
+ default: "normal",
49
+ items: [
50
+ { value: "tighter", title: "Tighter" },
51
+ { value: "tight", title: "Tight" },
52
+ { value: "normal", title: "Normal" },
53
+ { value: "wide", title: "Wide" },
54
+ { value: "wider", title: "Wider" },
55
+ { value: "widest", title: "Widest" },
56
+ ],
57
+ },
58
+ },
59
+ {
60
+ title: "Line Height",
61
+ id: "globalTextLineHeight",
62
+ format: "leading-{{value}}",
63
+ slider: {
64
+ default: "normal",
65
+ items: [
66
+ { value: "none", title: "None" },
67
+ { value: "tight", title: "Tight" },
68
+ { value: "snug", title: "Snug" },
69
+ { value: "normal", title: "Normal" },
70
+ { value: "relaxed", title: "Relaxed" },
71
+ { value: "loose", title: "Loose" },
72
+ ],
73
+ },
74
+ },
75
+ {
76
+ divider: {},
77
+ },
78
+ {
79
+ title: "Italic",
80
+ id: "globalTextItalic",
81
+ switch: {
82
+ falseValue: "not-italic",
83
+ trueValue: "italic",
84
+ default: false,
85
+ },
86
+ },
87
+ {
88
+ title: "Text Shadow",
89
+ id: "globalTextTextShadow",
90
+ disabled: {
91
+ id: "bgType",
92
+ value: "image",
93
+ },
94
+ themeShadow: {
95
+ mode: "text",
96
+ default: {
97
+ name: "none",
98
+ },
99
+ },
100
+ },
101
+ {
102
+ title: "Case",
103
+ id: "globalTextTextTransform",
104
+ select: {
105
+ default: "normal-case",
106
+ items: [
107
+ {
108
+ value: "normal-case",
109
+ title: "None",
110
+ },
111
+ {
112
+ value: "uppercase",
113
+ title: "Uppercase",
114
+ },
115
+ {
116
+ value: "lowercase",
117
+ title: "Lowercase",
118
+ },
119
+ {
120
+ value: "capitalize",
121
+ title: "Capitalize",
122
+ },
123
+ {
124
+ title: "Small Caps",
125
+ value: "[font-variant-caps:small-caps]",
126
+ },
127
+ ],
128
+ },
129
+ },
130
+ {
131
+ title: "Whitespace",
132
+ id: "globalTextWhiteSpace",
133
+ format: "whitespace-{{value}}",
134
+ select: {
135
+ default: "none",
136
+ items: [
137
+ { value: "none", title: "None" },
138
+ { value: "normal", title: "Normal" },
139
+ { value: "nowrap", title: "Nowrap" },
140
+ { value: "pre", title: "Pre" },
141
+ { value: "pre-line", title: "Pre Line" },
142
+ { value: "pre-wrap", title: "Pre Wrap" },
143
+ { value: "break-spaces", title: "Break Spaces" },
144
+ ],
145
+ },
146
+ },
147
+ {
148
+ divider: {},
149
+ },
150
+ {
151
+ title: "Underline",
152
+ id: "globalTextTextDecoration",
153
+ select: {
154
+ default: "no-underline",
155
+ items: [
156
+ {
157
+ value: "no-underline",
158
+ title: "No Underline",
159
+ },
160
+ {
161
+ value: "underline",
162
+ title: "Underline",
163
+ },
164
+ {
165
+ value: "overline",
166
+ title: "Overline",
167
+ },
168
+ {
169
+ value: "line-through",
170
+ title: "Line Through",
171
+ },
172
+ ],
173
+ },
174
+ },
175
+ {
176
+ visible: "globalTextTextDecoration != 'no-underline'",
177
+ title: "Style",
178
+ id: "globalTextTextDecorationStyle",
179
+ format: "decoration-{{value}}",
180
+ select: {
181
+ default: "solid",
182
+ items: [
183
+ {
184
+ value: "solid",
185
+ title: "Solid",
186
+ },
187
+ {
188
+ value: "double",
189
+ title: "Double",
190
+ },
191
+ {
192
+ value: "dotted",
193
+ title: "Dotted",
194
+ },
195
+ {
196
+ value: "dashed",
197
+ title: "Dashed",
198
+ },
199
+ {
200
+ value: "wavy",
201
+ title: "Wavy",
202
+ },
203
+ ],
204
+ },
205
+ },
206
+ {
207
+ visible: "globalTextTextDecoration == 'underline'",
208
+ title: "Offset",
209
+ id: "globalTextTextDecorationOffset",
210
+ format: "underline-offset-[{{value}}px]",
211
+ slider: {
212
+ default: 1,
213
+ use: "Slider",
214
+ max: 30,
215
+ },
216
+ },
217
+ {
218
+ visible: "globalTextTextDecoration != 'no-underline'",
219
+ title: "Color",
220
+ id: "globalTextTextDecorationColor",
221
+ format: "decoration-{{value}}",
222
+ themeColor: {
223
+ default: {
224
+ name: "text",
225
+ brightness: 100,
226
+ },
227
+ },
228
+ },
229
+ {
230
+ visible: "globalTextTextDecoration != 'no-underline'",
231
+ title: "Opacity",
232
+ id: "globalTextTextDecorationOpacity",
233
+ format: "[{{value}}%]",
234
+ responsive: false,
235
+ slider: {
236
+ default: 100,
237
+ use: "Slider",
238
+ units: "%",
239
+ },
240
+ },
241
+ ];
242
+
243
+ export default TextFontsAndTextStyles;
@@ -0,0 +1,55 @@
1
+ const TextSimple = [
2
+ {
3
+ title: "Align",
4
+ id: "textSimpleTextAlign",
5
+ segmented: {
6
+ use: "TextAlign",
7
+ },
8
+ },
9
+ {
10
+ title: "Color",
11
+ id: "textSimpleTextColor",
12
+ format: "text-{{value}}",
13
+ themeColor: {
14
+ default: {
15
+ name: "text",
16
+ brightness: 100,
17
+ },
18
+ },
19
+ },
20
+ {
21
+ title: "Opacity",
22
+ id: "textSimpleTextColorOpacity",
23
+ format: "[{{value}}%]",
24
+ responsive: false,
25
+ slider: {
26
+ default: 100,
27
+ use: "Slider",
28
+ units: "%",
29
+ },
30
+ },
31
+ {
32
+ title: "Font Family",
33
+ id: "textSimpleFonts",
34
+ themeFont: {
35
+ default: {
36
+ base: {
37
+ name: "body",
38
+ },
39
+ },
40
+ },
41
+ },
42
+ {
43
+ title: "Text Style",
44
+ id: "textSimpleTextStyles",
45
+ themeTextStyle: {
46
+ default: {
47
+ base: {
48
+ name: "base",
49
+ },
50
+ },
51
+ },
52
+ },
53
+ ];
54
+
55
+ export default TextSimple;
@@ -0,0 +1,55 @@
1
+ const TextStyles = [
2
+ {
3
+ title: "Weight",
4
+ id: "textStylesFontWeight",
5
+ format: "font-[{{value}}]",
6
+ slider: {
7
+ default: "400",
8
+ items: [
9
+ { value: "100", title: "Thin" },
10
+ { value: "200", title: "Extra Light" },
11
+ { value: "300", title: "Light" },
12
+ { value: "400", title: "Normal" },
13
+ { value: "500", title: "Medium" },
14
+ { value: "600", title: "Semi Bold" },
15
+ { value: "700", title: "Bold" },
16
+ { value: "800", title: "Extra Bold" },
17
+ { value: "900", title: "Black" },
18
+ ],
19
+ },
20
+ },
21
+ {
22
+ title: "Letter Spacing",
23
+ id: "textStylesLetterSpacing",
24
+ format: "tracking-{{value}}",
25
+ slider: {
26
+ default: "normal",
27
+ items: [
28
+ { value: "tighter", title: "Tighter" },
29
+ { value: "tight", title: "Tight" },
30
+ { value: "normal", title: "Normal" },
31
+ { value: "wide", title: "Wide" },
32
+ { value: "wider", title: "Wider" },
33
+ { value: "widest", title: "Widest" },
34
+ ],
35
+ },
36
+ },
37
+ {
38
+ title: "Line Height",
39
+ id: "textStylesLineHeight",
40
+ format: "leading-{{value}}",
41
+ slider: {
42
+ default: "normal",
43
+ items: [
44
+ { value: "none", title: "None" },
45
+ { value: "tight", title: "Tight" },
46
+ { value: "snug", title: "Snug" },
47
+ { value: "normal", title: "Normal" },
48
+ { value: "relaxed", title: "Relaxed" },
49
+ { value: "loose", title: "Loose" },
50
+ ],
51
+ },
52
+ },
53
+ ];
54
+
55
+ export default TextStyles;
@@ -0,0 +1,13 @@
1
+ const Typography = {
2
+ title: "Style",
3
+ id: "globalTypography",
4
+ themeTypography: {
5
+ default: {
6
+ base: {
7
+ name: "article",
8
+ },
9
+ },
10
+ },
11
+ };
12
+
13
+ export default Typography;
package/index.js ADDED
@@ -0,0 +1,19 @@
1
+ /**
2
+ * rw-elements-tools
3
+ *
4
+ * Build tools for RapidWeaver element packs.
5
+ *
6
+ * @module rw-elements-tools
7
+ */
8
+
9
+ // Re-export controls and properties for programmatic access
10
+ export * as Controls from './controls/index.js';
11
+ export * as Properties from './properties/index.js';
12
+
13
+ // Export configuration utilities
14
+ export { resolveConfig, getPackagePath } from './config.js';
15
+
16
+ // Export build functions for programmatic use
17
+ export { buildProperties, startWatch as watchProperties } from './build-properties.js';
18
+ export { buildAll as buildHooks, startWatch as watchHooks } from './build-shared-hooks.js';
19
+
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "rw-elements-tools",
3
+ "version": "1.2.0",
4
+ "description": "Build tools for RapidWeaver Elements packs - generates properties.json and hooks.js files",
5
+ "author": "Elements Platform",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "bin": {
9
+ "rw-build": "./bin/cli.js"
10
+ },
11
+ "main": "./index.js",
12
+ "exports": {
13
+ ".": "./index.js",
14
+ "./controls": "./controls/index.js",
15
+ "./properties": "./properties/index.js",
16
+ "./config": "./config.js"
17
+ },
18
+ "files": [
19
+ "bin/",
20
+ "controls/",
21
+ "properties/",
22
+ "shared-hooks/",
23
+ "build-properties.js",
24
+ "build-shared-hooks.js",
25
+ "config.js",
26
+ "index.js",
27
+ "README.md"
28
+ ],
29
+ "keywords": [
30
+ "rapidweaver",
31
+ "elements",
32
+ "build-tools",
33
+ "properties",
34
+ "controls"
35
+ ],
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/realmacsoftware/RWElementsPacksTools.git"
39
+ },
40
+ "bugs": {
41
+ "url": "https://github.com/realmacsoftware/RWElementsPacksTools/issues"
42
+ },
43
+ "homepage": "https://github.com/realmacsoftware/RWElementsPacksTools#readme",
44
+ "engines": {
45
+ "node": ">=16.0.0"
46
+ },
47
+ "dependencies": {
48
+ "esbuild": "^0.21.5",
49
+ "glob": "^10.3.12",
50
+ "lodash": "^4.17.21"
51
+ },
52
+ "scripts": {
53
+ "prepublishOnly": "echo 'Ready to publish rw-elements-tools'"
54
+ }
55
+ }