css-in-props 3.14.0 → 3.14.3

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 (86) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +1 -1
  3. package/dist/cjs/index.js +1 -21
  4. package/dist/cjs/package.json +1 -0
  5. package/dist/cjs/src/index.js +1 -0
  6. package/dist/cjs/src/props/animation.js +1 -0
  7. package/dist/cjs/src/props/block.js +1 -0
  8. package/dist/cjs/src/props/defaults.js +1 -0
  9. package/dist/cjs/src/props/flex.js +1 -0
  10. package/dist/cjs/src/props/font.js +1 -0
  11. package/dist/cjs/src/props/grid.js +1 -0
  12. package/dist/cjs/src/props/index.js +1 -0
  13. package/dist/cjs/src/props/misc.js +1 -0
  14. package/dist/cjs/src/props/position.js +1 -0
  15. package/dist/cjs/src/props/theme.js +1 -0
  16. package/dist/cjs/src/props/timing.js +1 -0
  17. package/dist/cjs/src/set.js +1 -0
  18. package/dist/cjs/src/transform/executors.js +1 -0
  19. package/dist/cjs/src/transform/index.js +1 -0
  20. package/dist/cjs/src/transform/transformers.js +1 -0
  21. package/dist/esm/index.js +1 -4
  22. package/dist/esm/src/index.js +1 -0
  23. package/dist/esm/src/props/animation.js +1 -0
  24. package/dist/esm/src/props/block.js +1 -0
  25. package/dist/esm/src/props/defaults.js +1 -0
  26. package/dist/esm/src/props/flex.js +1 -0
  27. package/dist/esm/src/props/font.js +1 -0
  28. package/dist/esm/src/props/grid.js +1 -0
  29. package/dist/esm/src/props/index.js +1 -0
  30. package/dist/esm/src/props/misc.js +1 -0
  31. package/dist/esm/src/props/position.js +1 -0
  32. package/dist/esm/src/props/theme.js +1 -0
  33. package/dist/esm/src/props/timing.js +1 -0
  34. package/dist/esm/src/set.js +1 -0
  35. package/dist/esm/src/transform/executors.js +1 -0
  36. package/dist/esm/src/transform/index.js +1 -0
  37. package/dist/esm/src/transform/transformers.js +1 -0
  38. package/package.json +19 -20
  39. package/dist/cjs/props/animation.js +0 -126
  40. package/dist/cjs/props/block.js +0 -173
  41. package/dist/cjs/props/defaults.js +0 -340
  42. package/dist/cjs/props/flex.js +0 -44
  43. package/dist/cjs/props/font.js +0 -36
  44. package/dist/cjs/props/grid.js +0 -39
  45. package/dist/cjs/props/index.js +0 -55
  46. package/dist/cjs/props/misc.js +0 -42
  47. package/dist/cjs/props/position.js +0 -51
  48. package/dist/cjs/props/theme.js +0 -147
  49. package/dist/cjs/props/timing.js +0 -42
  50. package/dist/cjs/set.js +0 -36
  51. package/dist/cjs/transform/executors.js +0 -131
  52. package/dist/cjs/transform/index.js +0 -19
  53. package/dist/cjs/transform/transformers.js +0 -156
  54. package/dist/esm/props/animation.js +0 -106
  55. package/dist/esm/props/block.js +0 -159
  56. package/dist/esm/props/defaults.js +0 -321
  57. package/dist/esm/props/flex.js +0 -24
  58. package/dist/esm/props/font.js +0 -16
  59. package/dist/esm/props/grid.js +0 -19
  60. package/dist/esm/props/index.js +0 -34
  61. package/dist/esm/props/misc.js +0 -22
  62. package/dist/esm/props/position.js +0 -31
  63. package/dist/esm/props/theme.js +0 -137
  64. package/dist/esm/props/timing.js +0 -26
  65. package/dist/esm/set.js +0 -16
  66. package/dist/esm/transform/executors.js +0 -111
  67. package/dist/esm/transform/index.js +0 -2
  68. package/dist/esm/transform/transformers.js +0 -136
  69. package/dist/iife/index.js +0 -1147
  70. package/index.js +0 -1
  71. package/src/index.js +0 -6
  72. package/src/props/animation.js +0 -119
  73. package/src/props/block.js +0 -183
  74. package/src/props/defaults.js +0 -318
  75. package/src/props/flex.js +0 -30
  76. package/src/props/font.js +0 -16
  77. package/src/props/grid.js +0 -21
  78. package/src/props/index.js +0 -35
  79. package/src/props/misc.js +0 -23
  80. package/src/props/position.js +0 -34
  81. package/src/props/theme.js +0 -155
  82. package/src/props/timing.js +0 -26
  83. package/src/set.js +0 -16
  84. package/src/transform/executors.js +0 -123
  85. package/src/transform/index.js +0 -4
  86. package/src/transform/transformers.js +0 -178
package/index.js DELETED
@@ -1 +0,0 @@
1
- export * from './src/index.js'
package/src/index.js DELETED
@@ -1,6 +0,0 @@
1
- 'use strict'
2
-
3
- export * from './transform/index.js'
4
- export * from './set.js'
5
- export * from './props/index.js'
6
- export * from './props/defaults.js'
@@ -1,119 +0,0 @@
1
- 'use strict'
2
-
3
- import { isObject, isString } from '@symbo.ls/utils'
4
- import { keyframes as cssKeyframes } from '@symbo.ls/css'
5
- import { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'
6
-
7
- const TIMING_FUNCTIONS = ['ease', 'linear', 'ease-in', 'ease-out', 'ease-in-out', 'step-start', 'step-end']
8
- const FILL_MODES = ['none', 'forwards', 'backwards', 'both']
9
- const DIRECTIONS = ['normal', 'reverse', 'alternate', 'alternate-reverse']
10
- const PLAY_STATES = ['running', 'paused']
11
- const isDuration = v => /^[\d.]+m?s$/.test(v)
12
-
13
- let _animCounter = 0
14
- const applyAnimationProps = (animation, element) => {
15
- const { animation: ANIMATION } = (element.context && element.context.designSystem) || {}
16
- if (isObject(animation)) {
17
- const name = `smbls-anim-${_animCounter++}`
18
- return { animationName: cssKeyframes(name, animation) }
19
- }
20
- const record = ANIMATION && ANIMATION[animation]
21
- if (isObject(record)) {
22
- return cssKeyframes(animation, record)
23
- }
24
- return animation
25
- }
26
-
27
- /**
28
- * Parse CSS animation shorthand string into individual properties.
29
- * Identifies the animation name by looking it up in the ANIMATION registry.
30
- * Other tokens are classified by type: duration, timing-function, iteration-count, etc.
31
- */
32
- const parseAnimationShorthand = (val, el) => {
33
- const { animation: ANIMATION } = el.context && el.context.designSystem || {}
34
- const tokens = val.split(/\s+/)
35
- let name = null
36
- const durations = []
37
- let timingFunction = null
38
- let iterationCount = null
39
- let direction = null
40
- let fillMode = null
41
- let playState = null
42
-
43
- for (const token of tokens) {
44
- if (ANIMATION && ANIMATION[token]) {
45
- name = token
46
- } else if (isDuration(token)) {
47
- durations.push(token)
48
- } else if (TIMING_FUNCTIONS.includes(token) || token.startsWith('cubic-bezier') || token.startsWith('steps(')) {
49
- timingFunction = token
50
- } else if (token === 'infinite' || /^\d+$/.test(token)) {
51
- iterationCount = token === 'infinite' ? token : Number(token)
52
- } else if (DIRECTIONS.includes(token)) {
53
- direction = token
54
- } else if (FILL_MODES.includes(token)) {
55
- fillMode = token
56
- } else if (PLAY_STATES.includes(token)) {
57
- playState = token
58
- } else if (!name) {
59
- // Fallback: treat unknown token as animation name
60
- name = token
61
- }
62
- }
63
-
64
- return { name, durations, timingFunction, iterationCount, direction, fillMode, playState }
65
- }
66
-
67
- export const ANIMATION_PROPS = {
68
- animation: (val, el) => {
69
- // Support CSS shorthand: 'animationName 2s linear infinite'
70
- if (isString(val) && val.includes(' ')) {
71
- const parsed = parseAnimationShorthand(val, el)
72
- return {
73
- animationName: applyAnimationProps(parsed.name || val, el),
74
- animationDuration: parsed.durations[0] || getTimingByKey(el.animationDuration || 'A').timing,
75
- animationDelay: parsed.durations[1] || getTimingByKey(el.animationDelay || '0s').timing,
76
- animationTimingFunction: parsed.timingFunction || getTimingFunction(el.animationTimingFunction || 'ease'),
77
- animationFillMode: parsed.fillMode || el.animationFillMode || 'both',
78
- animationIterationCount: parsed.iterationCount != null ? parsed.iterationCount : (el.animationIterationCount || 1),
79
- animationPlayState: parsed.playState || el.animationPlayState,
80
- animationDirection: parsed.direction || el.animationDirection
81
- }
82
- }
83
- // Single name (no spaces) — original behavior
84
- return {
85
- animationName: applyAnimationProps(val, el),
86
- animationDuration: getTimingByKey(el.animationDuration || 'A').timing,
87
- animationDelay: getTimingByKey(el.animationDelay || '0s').timing,
88
- animationTimingFunction: getTimingFunction(el.animationTimingFunction || 'ease'),
89
- animationFillMode: el.animationFillMode || 'both',
90
- animationIterationCount: el.animationIterationCount || 1,
91
- animationPlayState: el.animationPlayState,
92
- animationDirection: el.animationDirection
93
- }
94
- },
95
- animationName: (val, el) => ({
96
- animationName: applyAnimationProps(val, el)
97
- }),
98
- animationDuration: (val) => ({
99
- animationDuration: getTimingByKey(val).timing
100
- }),
101
- animationDelay: (val) => ({
102
- animationDelay: getTimingByKey(val).timing
103
- }),
104
- animationTimingFunction: (val) => ({
105
- animationTimingFunction: getTimingFunction(val)
106
- }),
107
- animationIterationCount: (val) => ({
108
- animationIterationCount: val
109
- }),
110
- animationFillMode: (val) => ({
111
- animationFillMode: val
112
- }),
113
- animationPlayState: (val) => ({
114
- animationPlayState: val
115
- }),
116
- animationDirection: (val) => ({
117
- animationDirection: val
118
- })
119
- }
@@ -1,183 +0,0 @@
1
- 'use strict'
2
-
3
- import { isUndefined, isString } from '@symbo.ls/utils'
4
-
5
- import {
6
- getSpacingBasedOnRatio,
7
- transformSize,
8
- transformBorderRadius,
9
- transformSizeRatio,
10
- transfromGap
11
- } from '@symbo.ls/scratch'
12
-
13
- export const BLOCK_PROPS = {
14
- show: (val) => !val ? ({ display: 'none !important' }) : undefined,
15
-
16
- hide: (val) => val ? ({ display: 'none !important' }) : undefined,
17
-
18
- height: (val, el) => transformSizeRatio('height', val, el),
19
- width: (val, el) => transformSizeRatio('width', val, el),
20
-
21
- boxSizing: (val) => !isUndefined(val)
22
- ? ({ boxSizing: val })
23
- : { boxSizing: 'border-box' },
24
-
25
- boxSize: (val) => {
26
- if (!isString(val)) return
27
- const [height, width] = val.split(' ')
28
- return {
29
- ...transformSize('height', height),
30
- ...transformSize('width', width || height)
31
- }
32
- },
33
-
34
- inlineSize: (val, el) => transformSizeRatio('inlineSize', val, el),
35
- blockSize: (val, el) => transformSizeRatio('blockSize', val, el),
36
-
37
- minWidth: (val, el) => transformSizeRatio('minWidth', val, el),
38
- maxWidth: (val, el) => transformSizeRatio('maxWidth', val, el),
39
- widthRange: (val) => {
40
- if (!isString(val)) return
41
- const [minWidth, maxWidth] = val.split(' ')
42
- return {
43
- ...transformSize('minWidth', minWidth),
44
- ...transformSize('maxWidth', maxWidth || minWidth)
45
- }
46
- },
47
-
48
- minHeight: (val, el) => transformSizeRatio('minHeight', val, el),
49
- maxHeight: (val, el) => transformSizeRatio('maxHeight', val, el),
50
- heightRange: (val) => {
51
- if (!isString(val)) return
52
- const [minHeight, maxHeight] = val.split(' ')
53
- return {
54
- ...transformSize('minHeight', minHeight),
55
- ...transformSize('maxHeight', maxHeight || minHeight)
56
- }
57
- },
58
-
59
- size: (val) => {
60
- if (!isString(val)) return
61
- const [inlineSize, blockSize] = val.split(' ')
62
- return {
63
- ...transformSizeRatio('inlineSize', inlineSize),
64
- ...transformSizeRatio('blockSize', blockSize || inlineSize)
65
- }
66
- },
67
-
68
- minBlockSize: (val, el) => transformSizeRatio('minBlockSize', val, el),
69
- minInlineSize: (val, el) => transformSizeRatio('minInlineSize', val, el),
70
-
71
- maxBlockSize: (val, el) => transformSizeRatio('maxBlockSize', val, el),
72
- maxInlineSize: (val, el) => transformSizeRatio('maxInlineSize', val, el),
73
-
74
- minSize: (val) => {
75
- if (!isString(val)) return
76
- const [minInlineSize, minBlockSize] = val.split(' ')
77
- return {
78
- ...transformSize('minInlineSize', minInlineSize),
79
- ...transformSize('minBlockSize', minBlockSize || minInlineSize)
80
- }
81
- },
82
-
83
- maxSize: (val) => {
84
- if (!isString(val)) return
85
- const [maxInlineSize, maxBlockSize] = val.split(' ')
86
- return {
87
- ...transformSize('maxInlineSize', maxInlineSize),
88
- ...transformSize('maxBlockSize', maxBlockSize || maxInlineSize)
89
- }
90
- },
91
-
92
- borderWidth: (val, el) => transformSizeRatio('borderWidth', val, el),
93
-
94
- padding: (val, el) => transformSizeRatio('padding', val, el),
95
- scrollPadding: (val, el) => transformSizeRatio('scrollPadding', val, el),
96
- paddingInline: (val) => {
97
- if (!isString(val)) return
98
- const [paddingInlineStart, paddingInlineEnd] = val.split(' ')
99
- return {
100
- ...transformSize('paddingInlineStart', paddingInlineStart),
101
- ...transformSize('paddingInlineEnd', paddingInlineEnd || paddingInlineStart)
102
- }
103
- },
104
- paddingBlock: (val) => {
105
- if (!isString(val)) return
106
- const [paddingBlockStart, paddingBlockEnd] = val.split(' ')
107
- return {
108
- ...transformSize('paddingBlockStart', paddingBlockStart),
109
- ...transformSize('paddingBlockEnd', paddingBlockEnd || paddingBlockStart)
110
- }
111
- },
112
- paddingTop: (val, el) => transformSizeRatio('paddingBlockStart', val, el),
113
- paddingBottom: (val, el) => transformSizeRatio('paddingBlockEnd', val, el),
114
- paddingLeft: (val, el) => transformSizeRatio('paddingInlineStart', val, el),
115
- paddingRight: (val, el) => transformSizeRatio('paddingInlineEnd', val, el),
116
-
117
- paddingBlockStart: (val, el) => transformSizeRatio('paddingBlockStart', val, el),
118
- paddingBlockEnd: (val, el) => transformSizeRatio('paddingBlockEnd', val, el),
119
- paddingInlineStart: (val, el) => transformSizeRatio('paddingInlineStart', val, el),
120
- paddingInlineEnd: (val, el) => transformSizeRatio('paddingInlineEnd', val, el),
121
-
122
- margin: (val, el) => transformSizeRatio('margin', val, el),
123
- marginInline: (val) => {
124
- if (!isString(val)) return
125
- const [marginInlineStart, marginInlineEnd] = val.split(' ')
126
- return {
127
- ...transformSize('marginInlineStart', marginInlineStart),
128
- ...transformSize('marginInlineEnd', marginInlineEnd || marginInlineStart)
129
- }
130
- },
131
- marginBlock: (val, el) => {
132
- if (!isString(el.marginBlock)) return
133
- const [marginBlockStart, marginBlockEnd] = el.marginBlock.split(' ')
134
- return {
135
- ...transformSize('marginBlockStart', marginBlockStart),
136
- ...transformSize('marginBlockEnd', marginBlockEnd || marginBlockStart)
137
- }
138
- },
139
- marginTop: (val, el) => transformSizeRatio('marginBlockStart', val, el),
140
- marginBottom: (val, el) => transformSizeRatio('marginBlockEnd', val, el),
141
- marginLeft: (val, el) => transformSizeRatio('marginInlineStart', val, el),
142
- marginRight: (val, el) => transformSizeRatio('marginInlineEnd', val, el),
143
-
144
- marginInlineStart: (val, el) => transformSizeRatio('marginInlineStart', val, el),
145
- marginInlineEnd: (val, el) => transformSizeRatio('marginInlineEnd', val, el),
146
- marginBlockStart: (val, el) => transformSizeRatio('marginBlockStart', val, el),
147
- marginBlockEnd: (val, el) => transformSizeRatio('marginBlockEnd', val, el),
148
-
149
- gap: (val) => ({
150
- gap: transfromGap(val)
151
- }),
152
-
153
- columnGap: (val, el) => getSpacingBasedOnRatio(el, 'columnGap', val),
154
- rowGap: (val, el) => getSpacingBasedOnRatio(el, 'rowGap', val),
155
-
156
- flexWrap: (val) => ({
157
- display: 'flex',
158
- flexWrap: val
159
- }),
160
- flexFlow: (val, el) => {
161
- const reverse = el.reverse
162
- if (!isString(val)) return
163
- let [direction, wrap] = (val || 'row').split(' ')
164
- if (val.startsWith('x') || val === 'row') direction = 'row'
165
- if (val.startsWith('y') || val === 'column') direction = 'column'
166
- return {
167
- display: 'flex',
168
- flexFlow: (direction || '') + (!direction.includes('-reverse') && reverse ? '-reverse' : '') + ' ' + (wrap || '')
169
- }
170
- },
171
- flexAlign: (val) => {
172
- if (!isString(val)) return
173
- const [alignItems, justifyContent] = val.split(' ')
174
- return {
175
- display: 'flex',
176
- alignItems,
177
- justifyContent
178
- }
179
- },
180
-
181
- round: (val, el) => transformBorderRadius(val ?? el.borderRadius, el, 'round'),
182
- borderRadius: (val, el) => transformBorderRadius(val ?? el.round, el, 'borderRadius')
183
- }
@@ -1,318 +0,0 @@
1
- export const DEFAULT_CSS_PROPERTIES_LIST = new Set([
2
- 'accentColor',
3
- 'alignContent',
4
- 'alignItems',
5
- 'alignSelf',
6
- 'alignmentBaseline',
7
- 'all',
8
- 'animation',
9
- 'animationDelay',
10
- 'animationDirection',
11
- 'animationDuration',
12
- 'animationFillMode',
13
- 'animationIterationCount',
14
- 'animationName',
15
- 'animationPlayState',
16
- 'animationTimingFunction',
17
- 'appearance',
18
- 'aspectRatio',
19
- 'backdropFilter',
20
- 'backfaceVisibility',
21
- 'background',
22
- 'backgroundAttachment',
23
- 'backgroundBlendMode',
24
- 'backgroundClip',
25
- 'backgroundColor',
26
- 'backgroundImage',
27
- 'backgroundOrigin',
28
- 'backgroundPosition',
29
- 'backgroundPositionX',
30
- 'backgroundPositionY',
31
- 'backgroundRepeat',
32
- 'backgroundRepeatX',
33
- 'backgroundRepeatY',
34
- 'backgroundSize',
35
- 'baselineShift',
36
- 'blockSize',
37
- 'border',
38
- 'borderBlock',
39
- 'borderBlockColor',
40
- 'borderBlockEnd',
41
- 'borderBlockEndColor',
42
- 'borderBlockEndStyle',
43
- 'borderBlockEndWidth',
44
- 'borderBlockStart',
45
- 'borderBlockStartColor',
46
- 'borderBlockStartStyle',
47
- 'borderBlockStartWidth',
48
- 'borderBlockStyle',
49
- 'borderBlockWidth',
50
- 'borderBottom',
51
- 'borderBottomColor',
52
- 'borderBottomLeftRadius',
53
- 'borderBottomRightRadius',
54
- 'borderBottomStyle',
55
- 'borderBottomWidth',
56
- 'borderCollapse',
57
- 'borderColor',
58
- 'borderImage',
59
- 'borderImageOutset',
60
- 'borderImageRepeat',
61
- 'borderImageSlice',
62
- 'borderImageSource',
63
- 'borderImageWidth',
64
- 'borderLeft',
65
- 'borderLeftColor',
66
- 'borderLeftStyle',
67
- 'borderLeftWidth',
68
- 'borderRadius',
69
- 'borderRight',
70
- 'borderRightColor',
71
- 'borderRightStyle',
72
- 'borderRightWidth',
73
- 'borderSpacing',
74
- 'borderStyle',
75
- 'borderTop',
76
- 'borderTopColor',
77
- 'borderTopLeftRadius',
78
- 'borderTopRightRadius',
79
- 'borderTopStyle',
80
- 'borderTopWidth',
81
- 'borderWidth',
82
- 'bottom',
83
- 'boxDecorationBreak',
84
- 'boxShadow',
85
- 'boxSizing',
86
- 'breakAfter',
87
- 'breakBefore',
88
- 'breakInside',
89
- 'captionSide',
90
- 'caretColor',
91
- 'clear',
92
- 'clip',
93
- 'clipPath',
94
- 'color',
95
- 'colorAdjust',
96
- 'colorInterpolation',
97
- 'colorInterpolationFilters',
98
- 'colorRendering',
99
- 'columnCount',
100
- 'columnFill',
101
- 'columnGap',
102
- 'columnRule',
103
- 'columnRuleColor',
104
- 'columnRuleStyle',
105
- 'columnRuleWidth',
106
- 'columnSpan',
107
- 'columnWidth',
108
- 'columns',
109
- 'contain',
110
- 'content',
111
- 'counterIncrement',
112
- 'counterReset',
113
- 'cursor',
114
- 'direction',
115
- 'display',
116
- 'emptyCells',
117
- 'filter',
118
- 'flex',
119
- 'flexBasis',
120
- 'flexDirection',
121
- 'flexFlow',
122
- 'flexGrow',
123
- 'flexShrink',
124
- 'flexWrap',
125
- 'float',
126
- 'font',
127
- 'fontFamily',
128
- 'fontFeatureSettings',
129
- 'fontKerning',
130
- 'fontLanguageOverride',
131
- 'fontSize',
132
- 'fontSizeAdjust',
133
- 'fontStretch',
134
- 'fontStyle',
135
- 'fontVariant',
136
- 'fontVariantAlternates',
137
- 'fontVariantCaps',
138
- 'fontVariantEastAsian',
139
- 'fontVariantNumeric',
140
- 'fontVariantPosition',
141
- 'fontWeight',
142
- 'fontVariationSettings',
143
- 'fontSynthesis',
144
- 'forcedColorAdjust',
145
- 'gap',
146
- 'grid',
147
- 'gridArea',
148
- 'gridAutoColumns',
149
- 'gridAutoFlow',
150
- 'gridAutoRows',
151
- 'gridColumn',
152
- 'gridColumnEnd',
153
- 'gridColumnGap',
154
- 'gridColumnStart',
155
- 'gridGap',
156
- 'gridRow',
157
- 'gridRowEnd',
158
- 'gridRowGap',
159
- 'gridRowStart',
160
- 'gridTemplate',
161
- 'gridTemplateAreas',
162
- 'gridTemplateColumns',
163
- 'gridTemplateRows',
164
- 'height',
165
- 'hyphens',
166
- 'imageOrientation',
167
- 'imageRendering',
168
- 'imeMode',
169
- 'inset',
170
- 'insetBlock',
171
- 'insetBlockEnd',
172
- 'insetBlockStart',
173
- 'insetInline',
174
- 'insetInlineEnd',
175
- 'insetInlineStart',
176
- 'initialLetter',
177
- 'isolation',
178
- 'justifyContent',
179
- 'justifyItems',
180
- 'justifySelf',
181
- 'left',
182
- 'letterSpacing',
183
- 'lineBreak',
184
- 'lineClamp',
185
- 'lineHeight',
186
- 'listStyle',
187
- 'listStyleImage',
188
- 'listStylePosition',
189
- 'listStyleType',
190
- 'margin',
191
- 'marginBottom',
192
- 'marginLeft',
193
- 'marginRight',
194
- 'marginTop',
195
- 'marginBlock',
196
- 'marginBlockEnd',
197
- 'marginBlockStart',
198
- 'marginInline',
199
- 'marginInlineEnd',
200
- 'marginInlineStart',
201
- 'mask',
202
- 'maskBorder',
203
- 'maskBorderImage',
204
- 'maskBorderOutset',
205
- 'maskBorderRepeat',
206
- 'maskBorderSlice',
207
- 'maskBorderSource',
208
- 'maskBorderWidth',
209
- 'maskClip',
210
- 'maskComposite',
211
- 'maskImage',
212
- 'maskOrigin',
213
- 'maskPosition',
214
- 'maskRepeat',
215
- 'maskSize',
216
- 'maskType',
217
- 'maxBlockSize',
218
- 'maxHeight',
219
- 'maxInlineSize',
220
- 'maxWidth',
221
- 'minBlockSize',
222
- 'minHeight',
223
- 'minInlineSize',
224
- 'minWidth',
225
- 'mixBlendMode',
226
- 'objectFit',
227
- 'objectPosition',
228
- 'objectViewBox',
229
- 'offset',
230
- 'offsetDistance',
231
- 'offsetPath',
232
- 'offsetRotate',
233
- 'opacity',
234
- 'order',
235
- 'orientation',
236
- 'outline',
237
- 'outlineColor',
238
- 'outlineOffset',
239
- 'outlineStyle',
240
- 'outlineWidth',
241
- 'overflow',
242
- 'overflowAnchor',
243
- 'overflowClip',
244
- 'overflowScrolling',
245
- 'overflowWrap',
246
- 'overflowX',
247
- 'overflowY',
248
- 'padding',
249
- 'paddingBottom',
250
- 'paddingLeft',
251
- 'paddingRight',
252
- 'paddingTop',
253
- 'pageBreakAfter',
254
- 'pageBreakBefore',
255
- 'pageBreakInside',
256
- 'paintOrder',
257
- 'perspective',
258
- 'perspectiveOrigin',
259
- 'placeContent',
260
- 'placeItems',
261
- 'placeSelf',
262
- 'pointerEvents',
263
- 'position',
264
- 'resize',
265
- 'right',
266
- 'rotate',
267
- 'rowGap',
268
- 'scrollBehavior',
269
- 'scrollPadding',
270
- 'scrollSnapAlign',
271
- 'scrollSnapType',
272
- 'scrollbarColor',
273
- 'scrollbarWidth',
274
- 'shapeImageThreshold',
275
- 'shapeMargin',
276
- 'shapeOutside',
277
- 'tabSize',
278
- 'tableLayout',
279
- 'textAlign',
280
- 'textAlignLast',
281
- 'textDecoration',
282
- 'textDecorationColor',
283
- 'textDecorationLine',
284
- 'textDecorationSkipInk',
285
- 'textDecorationStyle',
286
- 'textDecorationThickness',
287
- 'textIndent',
288
- 'textOverflow',
289
- 'textShadow',
290
- 'textTransform',
291
- 'textUnderlineOffset',
292
- 'top',
293
- 'transform',
294
- 'transformOrigin',
295
- 'transformStyle',
296
- 'transition',
297
- 'transitionDelay',
298
- 'transitionDuration',
299
- 'transitionProperty',
300
- 'transitionTimingFunction',
301
- 'translate',
302
- 'translateX',
303
- 'translateY',
304
- 'translateZ',
305
- 'unicodeBidi',
306
- 'userSelect',
307
- 'verticalAlign',
308
- 'visibility',
309
- 'whiteSpace',
310
- 'widows',
311
- 'width',
312
- 'willChange',
313
- 'wordBreak',
314
- 'wordSpacing',
315
- 'wordWrap',
316
- 'writingMode',
317
- 'zIndex'
318
- ])
package/src/props/flex.js DELETED
@@ -1,30 +0,0 @@
1
- 'use strict'
2
-
3
- import { isString } from '@symbo.ls/utils'
4
-
5
- export const FLEX_PROPS = {
6
- flow: (value, el) => {
7
- const reverse = el.reverse
8
- if (!isString(value)) return
9
- let [direction, wrap] = (value || 'row').split(' ')
10
- if (value.startsWith('x') || value === 'row') direction = 'row'
11
- if (value.startsWith('y') || value === 'column') direction = 'column'
12
- return {
13
- display: 'flex',
14
- flexFlow:
15
- (direction || '') +
16
- (!direction.includes('-reverse') && reverse ? '-reverse' : '') +
17
- ' ' +
18
- (wrap || '')
19
- }
20
- },
21
-
22
- wrap: (value, el) => {
23
- return { display: 'flex', flexWrap: value }
24
- },
25
-
26
- align: (value, el) => {
27
- const [alignItems, justifyContent] = value.split(' ')
28
- return { display: 'flex', alignItems, justifyContent }
29
- }
30
- }
package/src/props/font.js DELETED
@@ -1,16 +0,0 @@
1
- 'use strict'
2
-
3
- import { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'
4
-
5
- export const FONT_PROPS = {
6
- fontSize: (value) => {
7
- return getFontSizeByKey(value) || value
8
- },
9
- fontFamily: (value) => ({
10
- fontFamily: getFontFamily(value) || value
11
- }),
12
- fontWeight: (value) => ({
13
- fontWeight: value,
14
- fontVariationSettings: '"wght" ' + value
15
- })
16
- }
package/src/props/grid.js DELETED
@@ -1,21 +0,0 @@
1
- 'use strict'
2
-
3
- export const GRID_PROPS = {
4
- area: (value) => ({ gridArea: value }),
5
- template: (value) => ({ gridTemplate: value }),
6
- templateAreas: (value) => ({ gridTemplateAreas: value }),
7
-
8
- column: (value) => ({ gridColumn: value }),
9
- columns: (value) => ({ gridTemplateColumns: value }),
10
- templateColumns: (value) => ({ gridTemplateColumns: value }),
11
- autoColumns: (value) => ({ gridAutoColumns: value }),
12
- columnStart: (value) => ({ gridColumnStart: value }),
13
-
14
- row: (value) => ({ gridRow: value }),
15
- rows: (value) => ({ gridTemplateRows: value }),
16
- templateRows: (value) => ({ gridTemplateRows: value }),
17
- autoRows: (value) => ({ gridAutoRows: value }),
18
- rowStart: (value) => ({ gridRowStart: value }),
19
-
20
- autoFlow: (value) => ({ gridAutoFlow: value })
21
- }