arche 0.3.10 → 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 -19
- package/es.js +383 -162
- package/index.js +383 -162
- package/index.mjs +383 -162
- package/package.json +1 -1
- package/test.html +52 -10
- package/test.js +13 -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,25 +92,9 @@ browser module
|
|
|
92
92
|
import Arche from 'https://unpkg.com/arche/es.js'
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
Arche() -> DocumentElement
|
|
98
|
-
Arche(document Document) -> DocumentElement
|
|
99
|
-
Arche(React {
|
|
100
|
-
createElement: (type, props?, children?)=>ReactElement,
|
|
101
|
-
}, options? {
|
|
102
|
-
styled?: {
|
|
103
|
-
div: function,
|
|
104
|
-
p: funcion,
|
|
105
|
-
span: function,
|
|
106
|
-
// etc
|
|
107
|
-
},
|
|
108
|
-
styledMemoizationCap?: number, // defaults to 1000
|
|
109
|
-
}) -> ReactElement
|
|
110
|
-
```
|
|
95
|
+
## Usage
|
|
96
|
+
Set Arche elements globally for a better developer experience.
|
|
111
97
|
|
|
112
|
-
# Usage
|
|
113
|
-
Set Arche elements globally for a great developer experience.
|
|
114
98
|
```javascript
|
|
115
99
|
// global.js
|
|
116
100
|
|
|
@@ -129,6 +113,77 @@ window.Svg = ReactElement('svg')
|
|
|
129
113
|
window.Path = ReactElement('path')
|
|
130
114
|
```
|
|
131
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
|
+
|
|
132
187
|
## Using styled
|
|
133
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)
|
|
134
189
|
|
|
@@ -151,6 +206,46 @@ const MyComponent = ReactElement(props => {
|
|
|
151
206
|
})
|
|
152
207
|
```
|
|
153
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
|
+
|
|
154
249
|
## Using React Context
|
|
155
250
|
To use React Context with Arche, wrap `YourContext.Provider` with `ReactElement` and supply `value` as a prop, specifying children in the next argument.
|
|
156
251
|
|