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.
Files changed (7) hide show
  1. package/README.md +114 -19
  2. package/es.js +383 -162
  3. package/index.js +383 -162
  4. package/index.mjs +383 -162
  5. package/package.json +1 -1
  6. package/test.html +52 -10
  7. package/test.js +13 -6
package/README.md CHANGED
@@ -76,7 +76,7 @@ render(Example())
76
76
  // </div>
77
77
  ```
78
78
 
79
- # Installation
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
- # Syntax
96
- ```coffeescript [specscript]
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