arche 0.3.9 → 0.3.11
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.
- package/README.md +114 -17
- package/es.js +391 -160
- package/index.js +391 -160
- package/index.mjs +391 -160
- package/package.json +1 -1
- package/test.html +52 -10
- package/test.js +28 -6
package/README.md
CHANGED
|
@@ -76,7 +76,7 @@ render(Example())
|
|
|
76
76
|
// </div>
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
## Installation
|
|
80
80
|
with `npm`
|
|
81
81
|
```bash
|
|
82
82
|
npm i arche
|
|
@@ -92,23 +92,9 @@ browser module
|
|
|
92
92
|
import Arche from 'https://unpkg.com/arche/es.js'
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
Arche(React {
|
|
98
|
-
createElement: (type, props?, children?)=>ReactElement,
|
|
99
|
-
}, options? {
|
|
100
|
-
styled?: {
|
|
101
|
-
div: function,
|
|
102
|
-
p: funcion,
|
|
103
|
-
span: function,
|
|
104
|
-
// etc
|
|
105
|
-
},
|
|
106
|
-
styledMemoizationCap?: number, // defaults to 1000
|
|
107
|
-
}) -> ReactElement
|
|
108
|
-
```
|
|
95
|
+
## Usage
|
|
96
|
+
Set Arche elements globally for a better developer experience.
|
|
109
97
|
|
|
110
|
-
# Usage
|
|
111
|
-
Set Arche elements globally for a great developer experience.
|
|
112
98
|
```javascript
|
|
113
99
|
// global.js
|
|
114
100
|
|
|
@@ -127,6 +113,77 @@ window.Svg = ReactElement('svg')
|
|
|
127
113
|
window.Path = ReactElement('path')
|
|
128
114
|
```
|
|
129
115
|
|
|
116
|
+
## Syntax
|
|
117
|
+
```coffeescript [specscript]
|
|
118
|
+
Arche() -> DocumentElement
|
|
119
|
+
Arche(document Document) -> DocumentElement
|
|
120
|
+
|
|
121
|
+
DocumentElement(elementType string) -> Element
|
|
122
|
+
DocumentElement(elementType string, props object, text string) -> Element
|
|
123
|
+
|
|
124
|
+
Arche(React {
|
|
125
|
+
createElement: (
|
|
126
|
+
elementType string,
|
|
127
|
+
props? object,
|
|
128
|
+
children? string|Array<React.Element|string>
|
|
129
|
+
)=>ReactElement
|
|
130
|
+
}) -> ReactElement
|
|
131
|
+
|
|
132
|
+
ReactElement(elementType string, props object, text string) -> React.Element
|
|
133
|
+
|
|
134
|
+
ReactElement(
|
|
135
|
+
elementType string,
|
|
136
|
+
props object,
|
|
137
|
+
children Array<React.Element|string>
|
|
138
|
+
) -> React.Element
|
|
139
|
+
|
|
140
|
+
ReactElement(elementType string) -> TypedReactElement function
|
|
141
|
+
|
|
142
|
+
TypedReactElement(props object, text string) -> React.Element
|
|
143
|
+
TypedReactElement(text string)-> React.Element
|
|
144
|
+
TypedReactElement(children Array<React.Element|string>)-> React.Element
|
|
145
|
+
|
|
146
|
+
ReactElement.A -> TypedReactElement
|
|
147
|
+
ReactElement.P -> TypedReactElement
|
|
148
|
+
ReactElement.B -> TypedReactElement
|
|
149
|
+
ReactElement.Q -> TypedReactElement
|
|
150
|
+
ReactElement.I -> TypedReactElement
|
|
151
|
+
ReactElement.Ul -> TypedReactElement
|
|
152
|
+
ReactElement.Ol -> TypedReactElement
|
|
153
|
+
ReactElement.Li -> TypedReactElement
|
|
154
|
+
ReactElement.H1 -> TypedReactElement
|
|
155
|
+
ReactElement.H2 -> TypedReactElement
|
|
156
|
+
ReactElement.H3 -> TypedReactElement
|
|
157
|
+
ReactElement.H4 -> TypedReactElement
|
|
158
|
+
ReactElement.H5 -> TypedReactElement
|
|
159
|
+
ReactElement.H6 -> TypedReactElement
|
|
160
|
+
ReactElement.Hr -> TypedReactElement
|
|
161
|
+
ReactElement.Br -> TypedReactElement
|
|
162
|
+
ReactElement.Script -> TypedReactElement
|
|
163
|
+
ReactElement.Html -> TypedReactElement
|
|
164
|
+
ReactElement.Body -> TypedReactElement
|
|
165
|
+
ReactElement.Nav -> TypedReactElement
|
|
166
|
+
ReactElement.Section -> TypedReactElement
|
|
167
|
+
ReactElement.Article -> TypedReactElement
|
|
168
|
+
ReactElement.Footer -> TypedReactElement
|
|
169
|
+
ReactElement.Span -> TypedReactElement
|
|
170
|
+
ReactElement.Div -> TypedReactElement
|
|
171
|
+
ReactElement.Img -> TypedReactElement
|
|
172
|
+
ReactElement.Video -> TypedReactElement
|
|
173
|
+
ReactElement.Form -> TypedReactElement
|
|
174
|
+
ReactElement.Fieldset -> TypedReactElement
|
|
175
|
+
ReactElement.Input -> TypedReactElement
|
|
176
|
+
ReactElement.Label -> TypedReactElement
|
|
177
|
+
ReactElement.Textarea -> TypedReactElement
|
|
178
|
+
ReactElement.Select -> TypedReactElement
|
|
179
|
+
ReactElement.Option -> TypedReactElement
|
|
180
|
+
ReactElement.Button -> TypedReactElement
|
|
181
|
+
ReactElement.Iframe -> TypedReactElement
|
|
182
|
+
ReactElement.Blockquote -> TypedReactElement
|
|
183
|
+
ReactElement.Code -> TypedReactElement
|
|
184
|
+
ReactElement.Pre -> TypedReactElement
|
|
185
|
+
```
|
|
186
|
+
|
|
130
187
|
## Using styled
|
|
131
188
|
Arche accepts a `styled` option from css-in-js libraries like [Styled Components](https://styled-components.com/) to enable a `css` prop on the base elements. This does not apply to composite components (those created with `ReactElement(props => {...})` syntax)
|
|
132
189
|
|
|
@@ -149,6 +206,46 @@ const MyComponent = ReactElement(props => {
|
|
|
149
206
|
})
|
|
150
207
|
```
|
|
151
208
|
|
|
209
|
+
## Syntax with styled
|
|
210
|
+
```coffeescript [specscript]
|
|
211
|
+
strings Array<string>
|
|
212
|
+
values Array<any>
|
|
213
|
+
tagFunctionArgs Array<strings, ...values>
|
|
214
|
+
|
|
215
|
+
type Styled = {
|
|
216
|
+
h1: (...tagFunctionArgs)=>React.Element,
|
|
217
|
+
h2: (...tagFunctionArgs)=>React.Element,
|
|
218
|
+
h3: (...tagFunctionArgs)=>React.Element,
|
|
219
|
+
h4: (...tagFunctionArgs)=>React.Element,
|
|
220
|
+
h5: (...tagFunctionArgs)=>React.Element,
|
|
221
|
+
div: (...tagFunctionArgs)=>React.Element,
|
|
222
|
+
button: (...tagFunctionArgs)=>React.Element,
|
|
223
|
+
a: (...tagFunctionArgs)=>React.Element,
|
|
224
|
+
p: (...tagFunctionArgs)=>React.Element,
|
|
225
|
+
span: (...tagFunctionArgs)=>React.Element,
|
|
226
|
+
img: (...tagFunctionArgs)=>React.Element,
|
|
227
|
+
ul: (...tagFunctionArgs)=>React.Element,
|
|
228
|
+
ol: (...tagFunctionArgs)=>React.Element,
|
|
229
|
+
li: (...tagFunctionArgs)=>React.Element,
|
|
230
|
+
form: (...tagFunctionArgs)=>React.Element,
|
|
231
|
+
article: (...tagFunctionArgs)=>React.Element,
|
|
232
|
+
main: (...tagFunctionArgs)=>React.Element,
|
|
233
|
+
section: (...tagFunctionArgs)=>React.Element,
|
|
234
|
+
nav: (...tagFunctionArgs)=>React.Element,
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
Arche(React {
|
|
238
|
+
createElement: (
|
|
239
|
+
elementType string,
|
|
240
|
+
props? object,
|
|
241
|
+
children? string|Array<React.Element|string>,
|
|
242
|
+
)=>ReactElement
|
|
243
|
+
}, options {
|
|
244
|
+
styled: Styled,
|
|
245
|
+
styledMemoizationCap?: number
|
|
246
|
+
}) -> ReactElement
|
|
247
|
+
```
|
|
248
|
+
|
|
152
249
|
## Using React Context
|
|
153
250
|
To use React Context with Arche, wrap `YourContext.Provider` with `ReactElement` and supply `value` as a prop, specifying children in the next argument.
|
|
154
251
|
|