bernova 0.0.2

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 (125) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1778 -0
  3. package/dist/bin/bernova.js +2 -0
  4. package/dist/bin/buildstyle.js +2 -0
  5. package/dist/bin/createConfigFile.js +2 -0
  6. package/dist/bin/declareCssType.js +1 -0
  7. package/dist/index.js +1 -0
  8. package/dist/src/app.js +1 -0
  9. package/dist/src/constants/compilerType.js +1 -0
  10. package/dist/src/constants/cssAdvancedSelectors.js +1 -0
  11. package/dist/src/constants/cssProps.js +1 -0
  12. package/dist/src/constants/cssPseudoClasses.js +1 -0
  13. package/dist/src/constants/cssPseudoElements.js +1 -0
  14. package/dist/src/constants/index.js +1 -0
  15. package/dist/src/constants/resetCss.js +1 -0
  16. package/dist/src/index.d.ts +31 -0
  17. package/dist/src/index.js +1 -0
  18. package/dist/src/lib/compileConfig.js +1 -0
  19. package/dist/src/lib/compileThemes.js +1 -0
  20. package/dist/src/lib/copyLocalFonts/copyLocalFonts.utils.js +1 -0
  21. package/dist/src/lib/copyLocalFonts/generateCssFonts.utils.js +1 -0
  22. package/dist/src/lib/extractDocFragment/extractDocFragment.utils.js +1 -0
  23. package/dist/src/lib/fileExists/fileExists.utils.js +1 -0
  24. package/dist/src/lib/generateBaseCss/generateBaseCss.utils.js +1 -0
  25. package/dist/src/lib/generateCss/generateCSS.utils.js +1 -0
  26. package/dist/src/lib/generateCss/helpers/advanceselector/advancedSelectorHandler.utils.js +1 -0
  27. package/dist/src/lib/generateCss/helpers/attribute/attributeHandler.utils.js +1 -0
  28. package/dist/src/lib/generateCss/helpers/classnames/formatClassName.utils.js +1 -0
  29. package/dist/src/lib/generateCss/helpers/classnames/handlerRegister.utils.js +1 -0
  30. package/dist/src/lib/generateCss/helpers/cssVars/generateVars.utils.js +1 -0
  31. package/dist/src/lib/generateCss/helpers/dynamicValues/dynamicValues.utils.js +1 -0
  32. package/dist/src/lib/generateCss/helpers/dynamicValues/processDynamic.utils.js +1 -0
  33. package/dist/src/lib/generateCss/helpers/filterGenerateCss.utils.js +1 -0
  34. package/dist/src/lib/generateCss/helpers/foreign/foreignHandler.utils.js +1 -0
  35. package/dist/src/lib/generateCss/helpers/generateCssStyles.utils.js +1 -0
  36. package/dist/src/lib/generateCss/helpers/index.js +1 -0
  37. package/dist/src/lib/generateCss/helpers/mediaqueries/generateMediaQueries.utils.js +1 -0
  38. package/dist/src/lib/generateCss/helpers/mediaqueries/mediaQueriesHandler.utils.js +1 -0
  39. package/dist/src/lib/generateCss/helpers/other/declareCssType.utils.js +1 -0
  40. package/dist/src/lib/generateCss/helpers/other/generateGlobalStyles.utils.js +1 -0
  41. package/dist/src/lib/generateCss/helpers/pseudo/pseudoHandler.utils.js +1 -0
  42. package/dist/src/lib/generateCss/helpers/rulename/formatRuleName.utils.js +1 -0
  43. package/dist/src/lib/generateCss/helpers/utils/extractValues.utils.js +1 -0
  44. package/dist/src/lib/generateCss/helpers/utils/formattedStatKey.utils.js +1 -0
  45. package/dist/src/lib/generateCss/helpers/utils/index.js +1 -0
  46. package/dist/src/lib/generateCss/helpers/utils/processCss.utils.js +1 -0
  47. package/dist/src/lib/generateCss/helpers/utils/separateStyles.utils.js +1 -0
  48. package/dist/src/lib/generateCss/helpers/utils/validatePreviouslyExists.utils.js +1 -0
  49. package/dist/src/lib/generateCssDoc/generateCssDoc.util.js +1 -0
  50. package/dist/src/lib/generateProvider/generateProvider.utils.js +1 -0
  51. package/dist/src/lib/generateProvider/template/providerTemplate.d.ts +60 -0
  52. package/dist/src/lib/generateProvider/template/providerTemplate.js +1 -0
  53. package/dist/src/lib/generateThemeRegister/generateThemeRegister.utils.js +1 -0
  54. package/dist/src/lib/generateTools/generateTools.utils.js +1 -0
  55. package/dist/src/lib/generateTypesTools/generateTypesTools.utils.js +1 -0
  56. package/dist/src/lib/handlerForeignThemes/handlerForeignThemes.utils.js +1 -0
  57. package/dist/src/lib/index.js +1 -0
  58. package/dist/src/lib/processMediaConfig/processMediaConfig.util.js +1 -0
  59. package/dist/src/lib/readFile/readFile.utils.js +1 -0
  60. package/dist/src/lib/simplifyName/simplifyName.utils.js +1 -0
  61. package/dist/src/lib/typingStyles/index.js +1 -0
  62. package/dist/src/lib/typingStyles/typingStyles.utils.js +1 -0
  63. package/dist/src/lib/writeDoc/writeDoc.utils.js +1 -0
  64. package/package.json +80 -0
  65. package/src/app.js +176 -0
  66. package/src/constants/__tests__/compilerType.test.js +20 -0
  67. package/src/constants/__tests__/cssAdvancedSelectors.test.js +38 -0
  68. package/src/constants/__tests__/cssProps.test.js +331 -0
  69. package/src/constants/__tests__/cssPseudoClasses.test.js +48 -0
  70. package/src/constants/compilerType.js +14 -0
  71. package/src/constants/cssAdvancedSelectors.js +32 -0
  72. package/src/constants/cssProps.js +325 -0
  73. package/src/constants/cssPseudoClasses.js +138 -0
  74. package/src/constants/cssPseudoElements.js +83 -0
  75. package/src/constants/index.js +15 -0
  76. package/src/constants/resetCss.js +171 -0
  77. package/src/index.d.ts +31 -0
  78. package/src/index.js +20 -0
  79. package/src/lib/compileConfig.js +59 -0
  80. package/src/lib/compileThemes.js +118 -0
  81. package/src/lib/copyLocalFonts/copyLocalFonts.utils.js +42 -0
  82. package/src/lib/copyLocalFonts/generateCssFonts.utils.js +56 -0
  83. package/src/lib/extractDocFragment/extractDocFragment.utils.js +25 -0
  84. package/src/lib/fileExists/fileExists.utils.js +31 -0
  85. package/src/lib/generateBaseCss/generateBaseCss.utils.js +51 -0
  86. package/src/lib/generateCss/generateCSS.utils.js +42 -0
  87. package/src/lib/generateCss/helpers/advanceselector/advancedSelectorHandler.utils.js +22 -0
  88. package/src/lib/generateCss/helpers/attribute/attributeHandler.utils.js +47 -0
  89. package/src/lib/generateCss/helpers/classnames/formatClassName.utils.js +28 -0
  90. package/src/lib/generateCss/helpers/classnames/handlerRegister.utils.js +124 -0
  91. package/src/lib/generateCss/helpers/cssVars/generateVars.utils.js +73 -0
  92. package/src/lib/generateCss/helpers/dynamicValues/dynamicValues.utils.js +72 -0
  93. package/src/lib/generateCss/helpers/dynamicValues/processDynamic.utils.js +10 -0
  94. package/src/lib/generateCss/helpers/filterGenerateCss.utils.js +73 -0
  95. package/src/lib/generateCss/helpers/foreign/foreignHandler.utils.js +85 -0
  96. package/src/lib/generateCss/helpers/generateCssStyles.utils.js +249 -0
  97. package/src/lib/generateCss/helpers/index.js +53 -0
  98. package/src/lib/generateCss/helpers/mediaqueries/generateMediaQueries.utils.js +9 -0
  99. package/src/lib/generateCss/helpers/mediaqueries/mediaQueriesHandler.utils.js +181 -0
  100. package/src/lib/generateCss/helpers/other/declareCssType.utils.js +120 -0
  101. package/src/lib/generateCss/helpers/other/generateGlobalStyles.utils.js +30 -0
  102. package/src/lib/generateCss/helpers/pseudo/pseudoHandler.utils.js +56 -0
  103. package/src/lib/generateCss/helpers/rulename/formatRuleName.utils.js +163 -0
  104. package/src/lib/generateCss/helpers/utils/extractValues.utils.js +44 -0
  105. package/src/lib/generateCss/helpers/utils/formattedStatKey.utils.js +43 -0
  106. package/src/lib/generateCss/helpers/utils/index.js +15 -0
  107. package/src/lib/generateCss/helpers/utils/processCss.utils.js +93 -0
  108. package/src/lib/generateCss/helpers/utils/separateStyles.utils.js +43 -0
  109. package/src/lib/generateCss/helpers/utils/validatePreviouslyExists.utils.js +61 -0
  110. package/src/lib/generateCssDoc/generateCssDoc.util.js +47 -0
  111. package/src/lib/generateProvider/generateProvider.utils.js +283 -0
  112. package/src/lib/generateProvider/template/providerTemplate.d.ts +60 -0
  113. package/src/lib/generateProvider/template/providerTemplate.js +160 -0
  114. package/src/lib/generateThemeRegister/generateThemeRegister.utils.js +136 -0
  115. package/src/lib/generateTools/generateTools.utils.js +181 -0
  116. package/src/lib/generateTypesTools/generateTypesTools.utils.js +59 -0
  117. package/src/lib/handlerForeignThemes/handlerForeignThemes.utils.js +96 -0
  118. package/src/lib/index.js +61 -0
  119. package/src/lib/processMediaConfig/processMediaConfig.util.js +32 -0
  120. package/src/lib/readFile/readFile.utils.js +110 -0
  121. package/src/lib/simplifyName/__tests__/simplifyName.utils.test.js +87 -0
  122. package/src/lib/simplifyName/simplifyName.utils.js +28 -0
  123. package/src/lib/typingStyles/index.js +3 -0
  124. package/src/lib/typingStyles/typingStyles.utils.js +144 -0
  125. package/src/lib/writeDoc/writeDoc.utils.js +30 -0
@@ -0,0 +1,325 @@
1
+ // Note: CSS animations properties may be added in future versions
2
+ const cssProps = {
3
+ // Scrollbar properties
4
+ scrollbar_width: 'scrollbar-width',
5
+ scrollbar_color: 'scrollbar-color',
6
+ scrollbar_gutter: 'scrollbar-gutter',
7
+ scroll_behavior: 'scroll-behavior',
8
+ scroll_margin: 'scroll-margin',
9
+ scroll_padding: 'scroll-padding',
10
+ scroll_snap_align: 'scroll-snap-align',
11
+ scroll_snap_stop: 'scroll-snap-stop',
12
+ scroll_snap_type: 'scroll-snap-type',
13
+ webkit_scrollbar: 'webkit-scrollbar',
14
+ scroll_container: 'scroll-container',
15
+ scrollbar_aria_role: 'scrollbar-aria-role',
16
+
17
+ // Background properties
18
+ background: 'background',
19
+ background_color: 'background-color',
20
+ background_image: 'background-image',
21
+ background_position: 'background-position',
22
+ background_repeat: 'background-repeat',
23
+ background_size: 'background-size',
24
+ background_attachment: 'background-attachment',
25
+ background_blend_mode: 'background-blend-mode',
26
+ background_clip: 'background-clip',
27
+ background_origin: 'background-origin',
28
+
29
+ // Border properties
30
+ border: 'border',
31
+ border_top: 'border-top',
32
+ border_right: 'border-right',
33
+ border_bottom: 'border-bottom',
34
+ border_left: 'border-left',
35
+ border_radius: 'border-radius',
36
+ border_width: 'border-width',
37
+ border_left_width: 'border-left-width',
38
+ border_right_width: 'border-right-width',
39
+ border_top_width: 'border-top-width',
40
+ border_bottom_width: 'border-bottom-width',
41
+ border_color: 'border-color',
42
+ border_left_color: 'border-left-color',
43
+ border_right_color: 'border-right-color',
44
+ border_top_color: 'border-top-color',
45
+ border_bottom_color: 'border-bottom-color',
46
+ border_top_left_radius: 'border-top-left-radius',
47
+ border_top_right_radius: 'border-top-right-radius',
48
+ border_bottom_left_radius: 'border-bottom-left-radius',
49
+ border_bottom_right_radius: 'border-bottom-right-radius',
50
+ border_style: 'border-style',
51
+ border_left_style: 'border-left-style',
52
+ border_top_style: 'border-top-style',
53
+ border_right_style: 'border-right-style',
54
+ border_bottom_style: 'border-bottom-style',
55
+
56
+ // Outline properties
57
+ outline: 'outline',
58
+ outline_style: 'outline-style',
59
+ outline_color: 'outline-color',
60
+ outline_width: 'outline-width',
61
+ outline_offset: 'outline-offset',
62
+
63
+ // Display properties
64
+ display: 'display',
65
+ opacity: 'opacity',
66
+ visibility: 'visibility',
67
+
68
+ // Overflow properties
69
+ overflow: 'overflow',
70
+ overflow_x: 'overflow-x',
71
+ overflow_y: 'overflow-y',
72
+ overflow_block: 'overflow-block',
73
+ overflow_inline: 'overflow-inline',
74
+ overflow_clip_margin: 'overflow-clip-margin',
75
+
76
+ // Flexbox properties
77
+ flex: 'flex',
78
+ flex_direction: 'flex-direction',
79
+ flex_wrap: 'flex-wrap',
80
+ flex_flow: 'flex-flow',
81
+ flex_grow: 'flex-grow',
82
+ flex_shrink: 'flex-shrink',
83
+ flex_basis: 'flex-basis',
84
+ justify_content: 'justify-content',
85
+ justify_items: 'justify-items',
86
+ align_items: 'align-items',
87
+ align_self: 'align-self',
88
+ align_content: 'align-content',
89
+ order: 'order',
90
+ gap: 'gap',
91
+ row_gap: 'row-gap',
92
+ column_gap: 'column-gap',
93
+
94
+ // Grid properties
95
+ grid: 'grid',
96
+ grid_area: 'grid-area',
97
+ grid_template: 'grid-template',
98
+ grid_template_areas: 'grid-template-areas',
99
+ grid_template_rows: 'grid-template-rows',
100
+ grid_template_columns: 'grid-template-columns',
101
+ grid_row: 'grid-row',
102
+ grid_row_start: 'grid-row-start',
103
+ grid_row_end: 'grid-row-end',
104
+ grid_column: 'grid-column',
105
+ grid_column_start: 'grid-column-start',
106
+ grid_column_end: 'grid-column-end',
107
+ grid_gap: 'grid-gap',
108
+ grid_row_gap: 'grid-row-gap',
109
+ grid_column_gap: 'grid-column-gap',
110
+ grid_auto_flow: 'grid-auto-flow',
111
+ grid_auto_rows: 'grid-auto-rows',
112
+ grid_auto_columns: 'grid-auto-columns',
113
+
114
+ // Margin properties
115
+ margin: 'margin',
116
+ margin_left: 'margin-left',
117
+ margin_right: 'margin-right',
118
+ margin_top: 'margin-top',
119
+ margin_bottom: 'margin-bottom',
120
+
121
+ // Padding properties
122
+ padding: 'padding',
123
+ padding_left: 'padding-left',
124
+ padding_right: 'padding-right',
125
+ padding_top: 'padding-top',
126
+ padding_bottom: 'padding-bottom',
127
+
128
+ // Box properties
129
+ box_sizing: 'box-sizing',
130
+ box_shadow: 'box-shadow',
131
+
132
+ // Size properties
133
+ width: 'width',
134
+ min_width: 'min-width',
135
+ max_width: 'max-width',
136
+ height: 'height',
137
+ min_height: 'min-height',
138
+ max_height: 'max-height',
139
+
140
+ // Position properties
141
+ position: 'position',
142
+ top: 'top',
143
+ right: 'right',
144
+ bottom: 'bottom',
145
+ left: 'left',
146
+ z_index: 'z-index',
147
+
148
+ // Float properties
149
+ float: 'float',
150
+ clear: 'clear',
151
+
152
+ // Transform properties
153
+ transform: 'transform',
154
+ transform_origin: 'transform-origin',
155
+ transform_style: 'transform-style',
156
+ translate: 'translate',
157
+
158
+ // Font properties
159
+ font: 'font',
160
+ font_family: 'font-family',
161
+ font_size: 'font-size',
162
+ font_weight: 'font-weight',
163
+ font_style: 'font-style',
164
+ font_variant: 'font-variant',
165
+ font_stretch: 'font-stretch',
166
+ font_size_adjust: 'font-size-adjust',
167
+ font_synthesis: 'font-synthesis',
168
+ font_feature_settings: 'font-feature-settings',
169
+ font_kerning: 'font-kerning',
170
+ font_language_override: 'font-language-override',
171
+ font_optical_sizing: 'font-optical-sizing',
172
+ font_variant_alternates: 'font-variant-alternates',
173
+ font_variant_caps: 'font-variant-caps',
174
+ font_variant_east_asian: 'font-variant-east-asian',
175
+ font_variant_ligatures: 'font-variant-ligatures',
176
+ font_variant_numeric: 'font-variant-numeric',
177
+ font_variant_position: 'font-variant-position',
178
+
179
+ // Text properties
180
+ line_height: 'line-height',
181
+ letter_spacing: 'letter-spacing',
182
+ text_align: 'text-align',
183
+ text_decoration: 'text-decoration',
184
+ text_transform: 'text-transform',
185
+ white_space: 'white-space',
186
+ word_break: 'word-break',
187
+ word_wrap: 'word-wrap',
188
+ text_overflow: 'text-overflow',
189
+ text_shadow: 'text-shadow',
190
+ text_indent: 'text-indent',
191
+ text_justify: 'text-justify',
192
+ text_orientation: 'text-orientation',
193
+ text_rendering: 'text-rendering',
194
+ text_size_adjust: 'text-size-adjust',
195
+ text_combine_upright: 'text-combine-upright',
196
+ text_emphasis: 'text-emphasis',
197
+ text_emphasis_color: 'text-emphasis-color',
198
+ text_emphasis_position: 'text-emphasis-position',
199
+ text_emphasis_style: 'text-emphasis-style',
200
+ text_decoration_color: 'text-decoration-color',
201
+ text_decoration_line: 'text-decoration-line',
202
+ text_decoration_skip: 'text-decoration-skip',
203
+ text_decoration_skip_ink: 'text-decoration-skip-ink',
204
+ text_decoration_style: 'text-decoration-style',
205
+ text_underline_position: 'text-underline-position',
206
+ list_style: 'list-style',
207
+ list_style_type: 'list-style-type',
208
+ list_style_position: 'list-style-position',
209
+ list_style_image: 'list-style-image',
210
+
211
+ // Color properties
212
+ color: 'color',
213
+ accent_color: 'accent-color',
214
+
215
+ // Cursor properties
216
+ cursor: 'cursor',
217
+ pointer_events: 'pointer-events',
218
+
219
+ // Miscellaneous properties
220
+ vertical_align: 'vertical-align',
221
+ inset: 'inset',
222
+ inset_block: 'inset-block',
223
+ inset_block_start: 'inset-block-start',
224
+ inset_block_end: 'inset-block-end',
225
+ inset_inline: 'inset-inline',
226
+ inset_inline_start: 'inset-inline-start',
227
+ inset_inline_end: 'inset-inline-end',
228
+ // transitions
229
+ transition: 'transition',
230
+ transition_property: 'transition-property',
231
+ transition_duration: 'transition-duration',
232
+ transition_timing_function: 'transition-timing-function',
233
+ transition_delay: 'transition-delay',
234
+ // animation
235
+ animation: 'animation',
236
+ animation_name: 'animation-name',
237
+ animation_duration: 'animation-duration',
238
+ animation_timing_function: 'animation-timing-function',
239
+ animation_delay: 'animation-delay',
240
+ animation_iteration_count: 'animation-iteration-count',
241
+ animation_direction: 'animation-direction',
242
+ animation_fill_mode: 'animation-fill-mode',
243
+ animation_play_state: 'animation-play-state',
244
+ animation_timeline: 'animation-timeline',
245
+ // customizations
246
+ appearance: 'appearance',
247
+ user_select: 'user-select',
248
+ aspect_ratio: 'aspect-ratio',
249
+ resize: 'resize',
250
+ caret: 'caret',
251
+ caret_animation: 'caret-animation',
252
+ caret_shape: 'caret-shape',
253
+ caret_color: 'caret-color',
254
+ backdrop_filter: 'backdrop-filter',
255
+ backface_visibility: 'backface-visibility',
256
+ block_size: 'block-size',
257
+ writing_mode: 'writing-mode',
258
+ break_before: 'break-before',
259
+ break_after: 'break-after',
260
+ break_inside: 'break-inside',
261
+ clip: 'clip',
262
+ clip_path: 'clip-path',
263
+ clip_rule: 'clip-rule',
264
+ filter: 'filter',
265
+ float_offset: 'float-offset',
266
+ float_defer: 'float-defer',
267
+ hyphens: 'hyphens',
268
+ image_rendering: 'image-rendering',
269
+ image_orientation: 'image-orientation',
270
+ image_resolution: 'image-resolution',
271
+ isolation: 'isolation',
272
+ mix_blend_mode: 'mix-blend-mode',
273
+ object_fit: 'object-fit',
274
+ object_position: 'object-position',
275
+ overscroll_behavior: 'overscroll-behavior',
276
+ overscroll_behavior_x: 'overscroll-behavior-x',
277
+ overscroll_behavior_y: 'overscroll-behavior-y',
278
+ perspective: 'perspective',
279
+ perspective_origin: 'perspective-origin',
280
+ scroll_snap_margin: 'scroll-snap-margin',
281
+ scroll_snap_align: 'scroll-snap-align',
282
+ caption_side: 'caption-side',
283
+ empty_cells: 'empty-cells',
284
+ // svg and graphics
285
+ fill: 'fill',
286
+ fill_rule: 'fill-rule',
287
+ flood_color: 'flood-color',
288
+ flood_opacity: 'flood-opacity',
289
+ lighting_color: 'lighting-color',
290
+ marker_end: 'marker-end',
291
+ marker_mid: 'marker-mid',
292
+ marker_start: 'marker-start',
293
+ shape_rendering: 'shape-rendering',
294
+ stop_color: 'stop-color',
295
+ stop_opacity: 'stop-opacity',
296
+ stroke: 'stroke',
297
+ stroke_dasharray: 'stroke-dasharray',
298
+ stroke_dashoffset: 'stroke-dashoffset',
299
+ stroke_linecap: 'stroke-linecap',
300
+ stroke_linejoin: 'stroke-linejoin',
301
+ stroke_miterlimit: 'stroke-miterlimit',
302
+ stroke_opacity: 'stroke-opacity',
303
+ mask: 'mask',
304
+ mask_type: 'mask-type',
305
+ mask_image: 'mask-image',
306
+ mask_mode: 'mask-mode',
307
+ mask_repeat: 'mask-repeat',
308
+ mask_position: 'mask-position',
309
+ mask_clip: 'mask-clip',
310
+ mask_origin: 'mask-origin',
311
+ mask_size: 'mask-size',
312
+ mask_composite: 'mask-composite',
313
+ mask_border: 'mask-border',
314
+ mask_border_source: 'mask-border-source',
315
+ mask_border_mode: 'mask-border-mode',
316
+ mask_border_slice: 'mask-border-slice',
317
+ mask_border_width: 'mask-border-width',
318
+ mask_border_outset: 'mask-border-outset',
319
+ mask_border_repeat: 'mask-border-repeat',
320
+
321
+ //? only for pseudo-elements. Is the equivalent of content for ::before and ::after
322
+ $content: 'content',
323
+ };
324
+
325
+ module.exports = { cssProps };
@@ -0,0 +1,138 @@
1
+ /**
2
+ * CSS Pseudo-Classes Mapping for Bernova
3
+ *
4
+ * Comprehensive mapping of CSS pseudo-classes organized by category.
5
+ * Enables type-safe pseudo-class usage in Bernova's CSS-in-JS system.
6
+ *
7
+ * Categories:
8
+ * - Visualization: fullscreen, modal, picture-in-picture states
9
+ * - Input: form element states (enabled, disabled, valid, etc.)
10
+ * - Linguistic: language and text direction selectors
11
+ * - Location: link and target states
12
+ * - Resource: media element states
13
+ * - Time-dimensional: temporal states for media
14
+ * - Tree structural: element position and structure
15
+ * - User interaction: hover, focus, active states
16
+ *
17
+ * Usage: Apply via $pseudoClasses property in style objects
18
+ * @example
19
+ * {
20
+ * color: 'blue',
21
+ * $pseudoClasses: {
22
+ * hover: { color: 'red' }
23
+ * }
24
+ * }
25
+ */
26
+ const cssPseudoClasses = {
27
+ // visualizations
28
+ fullscreen: 'fullscreen',
29
+ modal: 'modal',
30
+ picture_in_picture: 'picture-in-picture',
31
+ // input
32
+ autofill: 'autofill',
33
+ enabled: 'enabled',
34
+ disabled: 'disabled',
35
+ read_only: 'read-only',
36
+ read_write: 'read-write',
37
+ placeholder_shown: 'placeholder-shown',
38
+ default: 'default',
39
+ checked: 'checked',
40
+ indeterminate: 'indeterminate',
41
+ blank: 'blank',
42
+ valid: 'valid',
43
+ invalid: 'invalid',
44
+ in_range: 'in-range',
45
+ out_of_range: 'out-of-range',
46
+ required: 'required',
47
+ optional: 'optional',
48
+ user_valid: 'user-valid',
49
+ user_invalid: 'user-invalid',
50
+ // linguistic
51
+ dir: 'dir', // value
52
+ lang: 'lang', // value
53
+ // location
54
+ any_link: 'any-link',
55
+ link: 'link',
56
+ visited: 'visited',
57
+ local_link: 'local-link',
58
+ target: 'target',
59
+ target_within: 'target-within',
60
+ scope: 'scope',
61
+ // resource
62
+ playing: 'playing',
63
+ paused: 'paused',
64
+ // time-dimensional
65
+ current: 'current',
66
+ past: 'past',
67
+ future: 'future',
68
+ // tree structural
69
+ root: 'root',
70
+ empty: 'empty',
71
+ nth_child: 'nth-child', // value
72
+ nth_last_child: 'nth-last-child', // value
73
+ first_child: 'first-child',
74
+ last_child: 'last-child',
75
+ only_child: 'only-child',
76
+ nth_of_type: 'nth-of-type', // value
77
+ nth_last_of_type: 'nth-last-of-type', // value
78
+ first_of_type: 'first-of-type',
79
+ last_of_type: 'last-of-type',
80
+ only_of_type: 'only-of-type',
81
+ // user action
82
+ active: 'active',
83
+ focus: 'focus',
84
+ focus_visible: 'focus-visible',
85
+ focus_within: 'focus-within',
86
+ hover: 'hover',
87
+ // functional
88
+ is: 'is', // value
89
+ not: 'not', // value
90
+ where: 'where', // value
91
+ has: 'has', // value
92
+ // form validation
93
+ user_valid: 'user-valid',
94
+ user_invalid: 'user-invalid',
95
+ // structural pseudo-classes
96
+ nth_col: 'nth-col', // value
97
+ nth_last_col: 'nth-last-col', // value
98
+ // additional pseudo-classes
99
+ host: 'host',
100
+ host_context: 'host-context',
101
+ defined: 'defined',
102
+ // vendor-specific pseudo-classes
103
+ moz_any: '-moz-any', // value
104
+ moz_any_link: '-moz-any-link',
105
+ moz_focusring: '-moz-focusring',
106
+ moz_full_screen: '-moz-full-screen',
107
+ moz_full_screen_ancestor: '-moz-full-screen-ancestor',
108
+ moz_full_screen_document: '-moz-full-screen-document',
109
+ moz_full_screen_element: '-moz-full-screen-element',
110
+ moz_full_screen_root: '-moz-full-screen-root',
111
+ moz_placeholder: '-moz-placeholder',
112
+ moz_read_only: '-moz-read-only',
113
+ moz_read_write: '-moz-read-write',
114
+ moz_submit_invalid: '-moz-submit-invalid',
115
+ moz_ui_invalid: '-moz-ui-invalid',
116
+ moz_ui_valid: '-moz-ui-valid',
117
+ webkit_any: '-webkit-any', // value
118
+ webkit_any_link: '-webkit-any-link',
119
+ webkit_autofill: '-webkit-autofill',
120
+ webkit_current: '-webkit-current',
121
+ webkit_full_screen: '-webkit-full-screen',
122
+ webkit_full_screen_ancestor: '-webkit-full-screen-ancestor',
123
+ webkit_full_screen_document: '-webkit-full-screen-document',
124
+ webkit_full_screen_element: '-webkit-full-screen-element',
125
+ webkit_full_screen_root: '-webkit-full-screen-root',
126
+ webkit_input_placeholder: '-webkit-input-placeholder',
127
+ webkit_read_only: '-webkit-read-only',
128
+ webkit_read_write: '-webkit-read-write',
129
+ webkit_scrollbar: '-webkit-scrollbar',
130
+ webkit_scrollbar_button: '-webkit-scrollbar-button',
131
+ webkit_scrollbar_thumb: '-webkit-scrollbar-thumb',
132
+ webkit_scrollbar_track: '-webkit-scrollbar-track',
133
+ webkit_scrollbar_track_piece: '-webkit-scrollbar-track-piece',
134
+ webkit_search_cancel_button: '-webkit-search-cancel-button',
135
+ webkit_search_results_button: '-webkit-search-results-button',
136
+ };
137
+
138
+ module.exports = { cssPseudoClasses };
@@ -0,0 +1,83 @@
1
+ /**
2
+ * CSS Pseudo-Elements Mapping for Bernova
3
+ *
4
+ * Comprehensive collection of CSS pseudo-elements organized by category.
5
+ * Enables type-safe pseudo-element usage in Bernova's CSS-in-JS system.
6
+ *
7
+ * Categories:
8
+ * - Standard: before, after, first-letter, first-line, selection
9
+ * - Content: marker, backdrop, placeholder, highlight
10
+ * - Text: spelling-error, grammar-error, target-text
11
+ * - Media: cue, cue-region for video/audio styling
12
+ * - Web Components: part, slotted for shadow DOM
13
+ * - Mozilla: -moz- prefixed elements for Firefox
14
+ * - WebKit: -webkit- prefixed elements for Safari/Chrome
15
+ *
16
+ * Usage: Apply via $pseudoElements property in style objects
17
+ * @example
18
+ * {
19
+ * content: '""',
20
+ * $pseudoElements: {
21
+ * before: { content: '"→"', marginRight: '4px' }
22
+ * }
23
+ * }
24
+ */
25
+ const cssPseudoElements = {
26
+ before: 'before',
27
+ after: 'after',
28
+ first_letter: 'first-letter',
29
+ first_line: 'first-line',
30
+ selection: 'selection',
31
+ backdrop: 'backdrop',
32
+ placeholder: 'placeholder',
33
+ marker: 'marker',
34
+ spelling_error: 'spelling-error',
35
+ grammar_error: 'grammar-error',
36
+ cue: 'cue',
37
+ cue_region: 'cue-region',
38
+ part: 'part',
39
+ slotted: 'slotted',
40
+ file_selector_button: 'file-selector-button',
41
+ target_text: 'target-text',
42
+ highlight: 'highlight',
43
+ // Vendor-specific pseudo-elements [moz]
44
+ moz_color_swatch: '-moz-color-swatch',
45
+ moz_focus_inner: '-moz-focus-inner',
46
+ moz_list_bullet: '-moz-list-bullet',
47
+ moz_list_number: '-moz-list-number',
48
+ moz_meter_bar: '-moz-meter-bar',
49
+ moz_progress_bar: '-moz-progress-bar',
50
+ moz_range_progress: '-moz-range-progress',
51
+ moz_range_thumb: '-moz-range-thumb',
52
+ moz_range_track: '-moz-range-track',
53
+ // Vendor-specific pseudo-elements [webkit]
54
+ webkit_inner_spin_button: '-webkit-inner-spin-button',
55
+ webkit_meter_even_less_good_value: '-webkit-meter-even-less-good-value',
56
+ webkit_meter_inner_element: '-webkit-meter-inner-element',
57
+ webkit_meter_optimum_value: '-webkit-meter-optimum-value',
58
+ webkit_meter_suboptimum_value: '-webkit-meter-suboptimum-value',
59
+ webkit_progress_bar: '-webkit-progress-bar',
60
+ webkit_progress_inner_element: '-webkit-progress-inner-element',
61
+ webkit_progress_value: '-webkit-progress-value',
62
+ webkit_scrollbar: '-webkit-scrollbar',
63
+ webkit_scrollbar_button: '-webkit-scrollbar-button',
64
+ webkit_scrollbar_thumb: '-webkit-scrollbar-thumb',
65
+ webkit_scrollbar_track: '-webkit-scrollbar-track',
66
+ webkit_scrollbar_track_piece: '-webkit-scrollbar-track-piece',
67
+ webkit_search_cancel_button: '-webkit-search-cancel-button',
68
+ webkit_search_results_button: '-webkit-search-results-button',
69
+ webkit_slider_runnable_track: '-webkit-slider-runnable-track',
70
+ webkit_slider_thumb: '-webkit-slider-thumb',
71
+ webkit_resizer: '-webkit-resizer',
72
+ webkit_input_placeholder: '-webkit-input-placeholder',
73
+ // Additional pseudo-elements
74
+ placeholder_shown: 'placeholder-shown',
75
+ autofill: 'autofill',
76
+ progress_value: 'progress-value',
77
+ progress_bar: 'progress-bar',
78
+ meter_optimum: 'meter-optimum',
79
+ meter_suboptimum: 'meter-suboptimum',
80
+ meter_sub_suboptimum: 'meter-sub-suboptimum',
81
+ };
82
+
83
+ module.exports = { cssPseudoElements };
@@ -0,0 +1,15 @@
1
+ const { cssAdvancedSelectors } = require('./cssAdvancedSelectors.js');
2
+ const { cssProps } = require('./cssProps.js');
3
+ const { cssPseudoClasses } = require('./cssPseudoClasses.js');
4
+ const { cssPseudoElements } = require('./cssPseudoElements.js');
5
+ const { resetCss } = require('./resetCss.js');
6
+ const { compilerTypeValid } = require('./compilerType.js');
7
+
8
+ module.exports = {
9
+ cssAdvancedSelectors,
10
+ cssProps,
11
+ cssPseudoClasses,
12
+ cssPseudoElements,
13
+ resetCss,
14
+ compilerTypeValid,
15
+ };