@semiont/react-ui 0.2.30 → 0.2.31

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 (225) hide show
  1. package/README.md +34 -1
  2. package/dist/{ar-TQSFB35U.mjs → ar-6QTTYSKD.mjs} +44 -2
  3. package/dist/ar-6QTTYSKD.mjs.map +1 -0
  4. package/dist/{bn-525U24T3.mjs → bn-AHD2VP4T.mjs} +44 -2
  5. package/dist/bn-AHD2VP4T.mjs.map +1 -0
  6. package/dist/{chunk-BHAP6MVA.mjs → chunk-GDEHLKCO.mjs} +44 -2
  7. package/dist/chunk-GDEHLKCO.mjs.map +1 -0
  8. package/dist/{chunk-W6E2UESX.mjs → chunk-WHI4ECK4.mjs} +89 -47
  9. package/dist/chunk-WHI4ECK4.mjs.map +1 -0
  10. package/dist/{cs-OYWTGLFM.mjs → cs-WKZ5PTM3.mjs} +44 -2
  11. package/dist/cs-WKZ5PTM3.mjs.map +1 -0
  12. package/dist/{da-BDXG2ITK.mjs → da-JLWQLEH2.mjs} +44 -2
  13. package/dist/da-JLWQLEH2.mjs.map +1 -0
  14. package/dist/{de-NB5JLMES.mjs → de-TOCT63PC.mjs} +44 -2
  15. package/dist/de-TOCT63PC.mjs.map +1 -0
  16. package/dist/{el-3SVXEAJI.mjs → el-2XXDPBHO.mjs} +44 -2
  17. package/dist/el-2XXDPBHO.mjs.map +1 -0
  18. package/dist/{en-DVB4OE2R.mjs → en-OAKDUA6C.mjs} +10 -2
  19. package/dist/{es-YBOFA3W5.mjs → es-VQZSZSKB.mjs} +44 -2
  20. package/dist/es-VQZSZSKB.mjs.map +1 -0
  21. package/dist/{fa-7MU36AMY.mjs → fa-HFYV6XFA.mjs} +44 -2
  22. package/dist/fa-HFYV6XFA.mjs.map +1 -0
  23. package/dist/{fi-PQKJB32G.mjs → fi-GYTT42QN.mjs} +44 -2
  24. package/dist/fi-GYTT42QN.mjs.map +1 -0
  25. package/dist/{fr-U4HK5GM6.mjs → fr-RBOM5A35.mjs} +44 -2
  26. package/dist/fr-RBOM5A35.mjs.map +1 -0
  27. package/dist/{he-F5MNZHAL.mjs → he-KNB7K2AV.mjs} +44 -2
  28. package/dist/he-KNB7K2AV.mjs.map +1 -0
  29. package/dist/{hi-2PHI37ZX.mjs → hi-QJ6E72XH.mjs} +44 -2
  30. package/dist/hi-QJ6E72XH.mjs.map +1 -0
  31. package/dist/{id-JPRBNCGS.mjs → id-EKQVDHC7.mjs} +44 -2
  32. package/dist/id-EKQVDHC7.mjs.map +1 -0
  33. package/dist/index.d.mts +775 -127
  34. package/dist/index.mjs +8786 -2892
  35. package/dist/index.mjs.map +1 -1
  36. package/dist/{it-MRLWI5OS.mjs → it-43QKJZRF.mjs} +44 -2
  37. package/dist/it-43QKJZRF.mjs.map +1 -0
  38. package/dist/{ja-YQ6RPI2T.mjs → ja-SZUXDDO5.mjs} +44 -2
  39. package/dist/ja-SZUXDDO5.mjs.map +1 -0
  40. package/dist/{ko-DUAVCEXX.mjs → ko-HIR2TG2Q.mjs} +44 -2
  41. package/dist/ko-HIR2TG2Q.mjs.map +1 -0
  42. package/dist/{ms-FBHSR4PG.mjs → ms-6EJXSDHO.mjs} +44 -2
  43. package/dist/ms-6EJXSDHO.mjs.map +1 -0
  44. package/dist/{nl-IC2MPZXN.mjs → nl-AAAXD3KD.mjs} +44 -2
  45. package/dist/nl-AAAXD3KD.mjs.map +1 -0
  46. package/dist/{no-LLD43NRM.mjs → no-CEBS75VU.mjs} +44 -2
  47. package/dist/no-CEBS75VU.mjs.map +1 -0
  48. package/dist/{pl-DDOJBR4D.mjs → pl-SIB6PH3I.mjs} +44 -2
  49. package/dist/pl-SIB6PH3I.mjs.map +1 -0
  50. package/dist/{pt-7TFHQRRN.mjs → pt-6BMNSQTQ.mjs} +44 -2
  51. package/dist/pt-6BMNSQTQ.mjs.map +1 -0
  52. package/dist/{ro-P4PJEGDU.mjs → ro-63CZRSZ7.mjs} +44 -2
  53. package/dist/ro-63CZRSZ7.mjs.map +1 -0
  54. package/dist/{sv-LF3VEQD2.mjs → sv-BRAAQGIC.mjs} +44 -2
  55. package/dist/sv-BRAAQGIC.mjs.map +1 -0
  56. package/dist/test-utils.mjs +2 -2
  57. package/dist/{th-YUQAOFXF.mjs → th-DQEDBNDR.mjs} +44 -2
  58. package/dist/th-DQEDBNDR.mjs.map +1 -0
  59. package/dist/{tr-CSIGLMJC.mjs → tr-IR5MEUEU.mjs} +44 -2
  60. package/dist/tr-IR5MEUEU.mjs.map +1 -0
  61. package/dist/{uk-LW3QBKSR.mjs → uk-BVRTOFAO.mjs} +44 -2
  62. package/dist/uk-BVRTOFAO.mjs.map +1 -0
  63. package/dist/{vi-W464Y6ZC.mjs → vi-QRBKNVJA.mjs} +44 -2
  64. package/dist/vi-QRBKNVJA.mjs.map +1 -0
  65. package/dist/{zh-R5XLM3EI.mjs → zh-VQVBROMT.mjs} +44 -2
  66. package/dist/zh-VQVBROMT.mjs.map +1 -0
  67. package/package.json +44 -6
  68. package/public/favicons/android-chrome-192x192.png +0 -0
  69. package/public/favicons/android-chrome-512x512.png +0 -0
  70. package/public/favicons/apple-touch-icon.png +0 -0
  71. package/public/favicons/favicon-128x128.png +0 -0
  72. package/public/favicons/favicon-16x16.png +0 -0
  73. package/public/favicons/favicon-32x32.png +0 -0
  74. package/public/favicons/favicon-48x48.png +0 -0
  75. package/public/favicons/favicon-64x64.png +0 -0
  76. package/public/favicons/favicon-96x96.png +0 -0
  77. package/public/favicons/favicon.ico +0 -0
  78. package/public/favicons/favicon.svg +47 -0
  79. package/public/favicons/site.webmanifest +19 -0
  80. package/src/examples/ButtonUsageExample.tsx +242 -0
  81. package/src/examples/button-css-modules.module.css +164 -0
  82. package/src/examples/button-styled-components.tsx +215 -0
  83. package/src/examples/button-tailwind.css +51 -0
  84. package/src/integrations/css-modules-helper.tsx +223 -0
  85. package/src/integrations/styled-components-theme.ts +405 -0
  86. package/src/integrations/tailwind-plugin.js +224 -0
  87. package/src/styles/base/reset.css +105 -0
  88. package/src/styles/base/utilities.css +465 -0
  89. package/src/styles/components/annotation-entries.css +138 -0
  90. package/src/styles/components/annotations.css +51 -0
  91. package/src/styles/components/auth.css +309 -0
  92. package/src/styles/components/branding.css +131 -0
  93. package/src/styles/components/cards.css +136 -0
  94. package/src/styles/components/collapsible-resource-navigation.css +161 -0
  95. package/src/styles/components/detection-widget.css +499 -0
  96. package/src/styles/components/footer.css +98 -0
  97. package/src/styles/components/header.css +109 -0
  98. package/src/styles/components/left-sidebar.css +138 -0
  99. package/src/styles/components/modals.css +672 -0
  100. package/src/styles/components/navigation-menu.css +59 -0
  101. package/src/styles/components/navigation-tabs.css +474 -0
  102. package/src/styles/components/panel-sections.css +440 -0
  103. package/src/styles/components/panels-base.css +404 -0
  104. package/src/styles/components/panels.css +100 -0
  105. package/src/styles/components/references.css +430 -0
  106. package/src/styles/components/resize-handle.css +110 -0
  107. package/src/styles/components/search-modal.css +463 -0
  108. package/src/styles/components/skip-links.css +101 -0
  109. package/src/styles/components/status-display.css +409 -0
  110. package/src/styles/components/tables.css +199 -0
  111. package/src/styles/components/toast.css +130 -0
  112. package/src/styles/components/toolbar.css +201 -0
  113. package/src/styles/core/badges.css +209 -0
  114. package/src/styles/core/buttons.css +781 -0
  115. package/src/styles/core/checkboxes.css +92 -0
  116. package/src/styles/core/forms.css +254 -0
  117. package/src/styles/core/index.css +43 -0
  118. package/src/styles/core/indicators.css +225 -0
  119. package/src/styles/core/inputs.css +117 -0
  120. package/src/styles/core/progress.css +170 -0
  121. package/src/styles/core/selects.css +135 -0
  122. package/src/styles/core/sliders.css +236 -0
  123. package/src/styles/core/tags.css +203 -0
  124. package/src/styles/core/textareas.css +134 -0
  125. package/src/styles/core/toggles.css +86 -0
  126. package/src/styles/features/admin.css +293 -0
  127. package/src/styles/features/compose.css +192 -0
  128. package/src/styles/features/devops.css +154 -0
  129. package/src/styles/features/entity-tags.css +140 -0
  130. package/src/styles/features/recent-docs.css +97 -0
  131. package/src/styles/features/resource-discovery.css +387 -0
  132. package/src/styles/features/resource-viewer.css +508 -0
  133. package/src/styles/features/resource.css +506 -0
  134. package/src/styles/features/schemas.css +222 -0
  135. package/src/styles/features/static-pages.css +589 -0
  136. package/src/styles/features/welcome.css +81 -0
  137. package/src/styles/index.css +93 -0
  138. package/src/styles/layout/layout.css +85 -0
  139. package/src/styles/motivations/motivation-assessment.css +234 -0
  140. package/src/styles/motivations/motivation-comment.css +245 -0
  141. package/src/styles/motivations/motivation-highlight.css +195 -0
  142. package/src/styles/motivations/motivation-reference.css +210 -0
  143. package/src/styles/motivations/motivation-tag.css +254 -0
  144. package/src/styles/panels/assessment-panel.css +91 -0
  145. package/src/styles/panels/collaboration-panel.css +222 -0
  146. package/src/styles/panels/comments-panel.css +130 -0
  147. package/src/styles/panels/highlight-panel.css +63 -0
  148. package/src/styles/panels/history-panel.css +301 -0
  149. package/src/styles/panels/jsonld-panel.css +41 -0
  150. package/src/styles/panels/references-panel.css +85 -0
  151. package/src/styles/panels/resource-info-panel.css +230 -0
  152. package/src/styles/panels/settings-panel.css +58 -0
  153. package/src/styles/panels/statistics-panel.css +147 -0
  154. package/src/styles/panels/tagging-panel.css +59 -0
  155. package/src/styles/panels/unified-annotations-panel.css +133 -0
  156. package/src/styles/panels/user-panel.css +24 -0
  157. package/src/styles/patterns/errors.css +24 -0
  158. package/src/styles/patterns/loading.css +26 -0
  159. package/src/styles/utilities/contrast.css +443 -0
  160. package/src/styles/utilities/focus-extended.css +539 -0
  161. package/src/styles/utilities/focus.css +108 -0
  162. package/src/styles/utilities/motion-overrides.css +378 -0
  163. package/src/styles/utilities/motion.css +370 -0
  164. package/src/styles/utilities/semantic-indicators.css +321 -0
  165. package/src/styles/variables.css +354 -0
  166. package/translations/ar.json +35 -1
  167. package/translations/bn.json +35 -1
  168. package/translations/cs.json +35 -1
  169. package/translations/da.json +35 -1
  170. package/translations/de.json +35 -1
  171. package/translations/el.json +35 -1
  172. package/translations/en.json +35 -1
  173. package/translations/es.json +35 -1
  174. package/translations/fa.json +35 -1
  175. package/translations/fi.json +35 -1
  176. package/translations/fr.json +35 -1
  177. package/translations/he.json +35 -1
  178. package/translations/hi.json +35 -1
  179. package/translations/id.json +35 -1
  180. package/translations/it.json +35 -1
  181. package/translations/ja.json +35 -1
  182. package/translations/ko.json +35 -1
  183. package/translations/ms.json +35 -1
  184. package/translations/nl.json +35 -1
  185. package/translations/no.json +35 -1
  186. package/translations/pl.json +35 -1
  187. package/translations/pt.json +35 -1
  188. package/translations/ro.json +35 -1
  189. package/translations/sv.json +35 -1
  190. package/translations/th.json +35 -1
  191. package/translations/tr.json +35 -1
  192. package/translations/uk.json +35 -1
  193. package/translations/vi.json +35 -1
  194. package/translations/zh.json +35 -1
  195. package/dist/ar-TQSFB35U.mjs.map +0 -1
  196. package/dist/bn-525U24T3.mjs.map +0 -1
  197. package/dist/chunk-BHAP6MVA.mjs.map +0 -1
  198. package/dist/chunk-W6E2UESX.mjs.map +0 -1
  199. package/dist/cs-OYWTGLFM.mjs.map +0 -1
  200. package/dist/da-BDXG2ITK.mjs.map +0 -1
  201. package/dist/de-NB5JLMES.mjs.map +0 -1
  202. package/dist/el-3SVXEAJI.mjs.map +0 -1
  203. package/dist/es-YBOFA3W5.mjs.map +0 -1
  204. package/dist/fa-7MU36AMY.mjs.map +0 -1
  205. package/dist/fi-PQKJB32G.mjs.map +0 -1
  206. package/dist/fr-U4HK5GM6.mjs.map +0 -1
  207. package/dist/he-F5MNZHAL.mjs.map +0 -1
  208. package/dist/hi-2PHI37ZX.mjs.map +0 -1
  209. package/dist/id-JPRBNCGS.mjs.map +0 -1
  210. package/dist/it-MRLWI5OS.mjs.map +0 -1
  211. package/dist/ja-YQ6RPI2T.mjs.map +0 -1
  212. package/dist/ko-DUAVCEXX.mjs.map +0 -1
  213. package/dist/ms-FBHSR4PG.mjs.map +0 -1
  214. package/dist/nl-IC2MPZXN.mjs.map +0 -1
  215. package/dist/no-LLD43NRM.mjs.map +0 -1
  216. package/dist/pl-DDOJBR4D.mjs.map +0 -1
  217. package/dist/pt-7TFHQRRN.mjs.map +0 -1
  218. package/dist/ro-P4PJEGDU.mjs.map +0 -1
  219. package/dist/sv-LF3VEQD2.mjs.map +0 -1
  220. package/dist/th-YUQAOFXF.mjs.map +0 -1
  221. package/dist/tr-CSIGLMJC.mjs.map +0 -1
  222. package/dist/uk-LW3QBKSR.mjs.map +0 -1
  223. package/dist/vi-W464Y6ZC.mjs.map +0 -1
  224. package/dist/zh-R5XLM3EI.mjs.map +0 -1
  225. /package/dist/{en-DVB4OE2R.mjs.map → en-OAKDUA6C.mjs.map} +0 -0
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Tailwind CSS Plugin for Semiont Components
3
+ *
4
+ * This plugin provides utilities for styling Semiont components
5
+ * using Tailwind CSS classes while respecting the data-attribute architecture.
6
+ */
7
+
8
+ const plugin = require('tailwindcss/plugin');
9
+ const { tokens } = require('../design-tokens');
10
+
11
+ module.exports = plugin(function({ addBase, addComponents, addUtilities, theme }) {
12
+ // Add base styles for CSS variables
13
+ addBase({
14
+ ':root': Object.entries(tokens.colors.primary).reduce((acc, [key, value]) => ({
15
+ ...acc,
16
+ [`--semiont-color-primary-${key}`]: value
17
+ }), {}),
18
+ });
19
+
20
+ // Add component styles
21
+ addComponents({
22
+ // Button component styles
23
+ '.semiont-button': {
24
+ '@apply relative inline-flex items-center justify-center': {},
25
+ '@apply font-medium transition-all duration-200': {},
26
+ '@apply focus:outline-none focus:ring-2 focus:ring-offset-2': {},
27
+ '@apply disabled:opacity-50 disabled:cursor-not-allowed': {},
28
+ },
29
+
30
+ // Button variants
31
+ '.semiont-button[data-variant="primary"]': {
32
+ '@apply bg-blue-500 text-white hover:bg-blue-600 active:bg-blue-700': {},
33
+ '@apply focus:ring-blue-500': {},
34
+ },
35
+ '.semiont-button[data-variant="secondary"]': {
36
+ '@apply bg-gray-100 text-gray-900 hover:bg-gray-200 active:bg-gray-300': {},
37
+ '@apply focus:ring-gray-500': {},
38
+ },
39
+ '.semiont-button[data-variant="tertiary"]': {
40
+ '@apply bg-transparent text-blue-600 ring-1 ring-inset ring-blue-200': {},
41
+ '@apply hover:bg-blue-50 hover:ring-blue-300 active:bg-blue-100': {},
42
+ '@apply focus:ring-blue-500': {},
43
+ },
44
+ '.semiont-button[data-variant="danger"]': {
45
+ '@apply bg-red-500 text-white hover:bg-red-600 active:bg-red-700': {},
46
+ '@apply focus:ring-red-500': {},
47
+ },
48
+ '.semiont-button[data-variant="warning"]': {
49
+ '@apply bg-amber-500 text-gray-900 hover:bg-amber-600 active:bg-amber-700': {},
50
+ '@apply focus:ring-amber-500': {},
51
+ },
52
+ '.semiont-button[data-variant="ghost"]': {
53
+ '@apply bg-transparent text-gray-700 hover:bg-gray-100 active:bg-gray-200': {},
54
+ '@apply focus:ring-gray-500': {},
55
+ },
56
+
57
+ // Button sizes
58
+ '.semiont-button[data-size="xs"]': {
59
+ '@apply px-2 py-1 text-xs rounded min-h-[1.75rem]': {},
60
+ },
61
+ '.semiont-button[data-size="sm"]': {
62
+ '@apply px-3 py-1.5 text-sm rounded min-h-[2rem]': {},
63
+ },
64
+ '.semiont-button[data-size="md"]': {
65
+ '@apply px-4 py-2 text-base rounded-md min-h-[2.5rem]': {},
66
+ },
67
+ '.semiont-button[data-size="lg"]': {
68
+ '@apply px-6 py-2.5 text-lg rounded-md min-h-[3rem]': {},
69
+ },
70
+ '.semiont-button[data-size="xl"]': {
71
+ '@apply px-8 py-3 text-xl rounded-lg min-h-[3.5rem]': {},
72
+ },
73
+
74
+ // Icon-only buttons
75
+ '.semiont-button[data-icon-only="true"][data-size="xs"]': {
76
+ '@apply p-1 w-7 h-7': {},
77
+ },
78
+ '.semiont-button[data-icon-only="true"][data-size="sm"]': {
79
+ '@apply p-1.5 w-8 h-8': {},
80
+ },
81
+ '.semiont-button[data-icon-only="true"][data-size="md"]': {
82
+ '@apply p-2 w-10 h-10': {},
83
+ },
84
+ '.semiont-button[data-icon-only="true"][data-size="lg"]': {
85
+ '@apply p-2.5 w-12 h-12': {},
86
+ },
87
+ '.semiont-button[data-icon-only="true"][data-size="xl"]': {
88
+ '@apply p-3 w-14 h-14': {},
89
+ },
90
+
91
+ // Full width
92
+ '.semiont-button[data-full-width="true"]': {
93
+ '@apply w-full': {},
94
+ },
95
+
96
+ // Loading state
97
+ '.semiont-button[data-loading="true"]': {
98
+ '@apply pointer-events-none': {},
99
+ },
100
+ '.semiont-button[data-loading="true"] .semiont-button-content': {
101
+ '@apply invisible': {},
102
+ },
103
+ '.semiont-button[data-loading="true"] .semiont-button-icon': {
104
+ '@apply invisible': {},
105
+ },
106
+
107
+ // Button spinner
108
+ '.semiont-button-spinner': {
109
+ '@apply absolute inset-0 flex items-center justify-center': {},
110
+ },
111
+ '.semiont-spinner-svg': {
112
+ '@apply animate-spin w-5 h-5': {},
113
+ },
114
+
115
+ // Button content and icons
116
+ '.semiont-button-content': {
117
+ '@apply inline-flex items-center': {},
118
+ },
119
+ '.semiont-button-icon': {
120
+ '@apply inline-flex items-center justify-center flex-shrink-0': {},
121
+ },
122
+ '.semiont-button-icon-left': {
123
+ '@apply mr-2': {},
124
+ },
125
+ '.semiont-button-icon-right': {
126
+ '@apply ml-2': {},
127
+ },
128
+
129
+ // Button group
130
+ '.semiont-button-group': {
131
+ '@apply flex': {},
132
+ },
133
+ '.semiont-button-group[data-orientation="horizontal"]': {
134
+ '@apply flex-row': {},
135
+ },
136
+ '.semiont-button-group[data-orientation="vertical"]': {
137
+ '@apply flex-col': {},
138
+ },
139
+
140
+ // Button group spacing
141
+ '.semiont-button-group[data-spacing="xs"]': {
142
+ '@apply gap-1': {},
143
+ },
144
+ '.semiont-button-group[data-spacing="sm"]': {
145
+ '@apply gap-2': {},
146
+ },
147
+ '.semiont-button-group[data-spacing="md"]': {
148
+ '@apply gap-4': {},
149
+ },
150
+ '.semiont-button-group[data-spacing="lg"]': {
151
+ '@apply gap-6': {},
152
+ },
153
+
154
+ // Attached button groups
155
+ '.semiont-button-group[data-attached="true"]': {
156
+ '@apply gap-0': {},
157
+ },
158
+ '.semiont-button-group[data-attached="true"][data-orientation="horizontal"] .semiont-button:not(:first-child)': {
159
+ '@apply rounded-l-none -ml-px': {},
160
+ },
161
+ '.semiont-button-group[data-attached="true"][data-orientation="horizontal"] .semiont-button:not(:last-child)': {
162
+ '@apply rounded-r-none': {},
163
+ },
164
+ '.semiont-button-group[data-attached="true"][data-orientation="vertical"] .semiont-button:not(:first-child)': {
165
+ '@apply rounded-t-none -mt-px': {},
166
+ },
167
+ '.semiont-button-group[data-attached="true"][data-orientation="vertical"] .semiont-button:not(:last-child)': {
168
+ '@apply rounded-b-none': {},
169
+ },
170
+ });
171
+
172
+ // Add utility classes for custom data attributes
173
+ addUtilities({
174
+ '.semiont-variant-primary': {
175
+ '&[data-variant="primary"]': {
176
+ '@apply bg-blue-500 text-white': {},
177
+ },
178
+ },
179
+ '.semiont-variant-secondary': {
180
+ '&[data-variant="secondary"]': {
181
+ '@apply bg-gray-100 text-gray-900': {},
182
+ },
183
+ },
184
+ '.semiont-size-sm': {
185
+ '&[data-size="sm"]': {
186
+ '@apply px-3 py-1.5 text-sm': {},
187
+ },
188
+ },
189
+ '.semiont-size-md': {
190
+ '&[data-size="md"]': {
191
+ '@apply px-4 py-2 text-base': {},
192
+ },
193
+ },
194
+ '.semiont-size-lg': {
195
+ '&[data-size="lg"]': {
196
+ '@apply px-6 py-2.5 text-lg': {},
197
+ },
198
+ },
199
+ });
200
+ }, {
201
+ // Plugin configuration
202
+ theme: {
203
+ extend: {
204
+ colors: {
205
+ semiont: {
206
+ primary: tokens.colors.primary,
207
+ secondary: tokens.colors.secondary,
208
+ semantic: tokens.colors.semantic,
209
+ neutral: tokens.colors.neutral,
210
+ },
211
+ },
212
+ spacing: tokens.spacing,
213
+ fontSize: tokens.typography.fontSize,
214
+ borderRadius: tokens.borderRadius,
215
+ transitionDuration: tokens.transitions.duration,
216
+ },
217
+ },
218
+ });
219
+
220
+ // Export for CommonJS
221
+ module.exports.semiontPlugin = module.exports;
222
+
223
+ // Export for ESM
224
+ module.exports.default = module.exports;
@@ -0,0 +1,105 @@
1
+ /**
2
+ * CSS Reset / Normalize
3
+ *
4
+ * Minimal reset to ensure consistent cross-browser rendering
5
+ * while maintaining semantic HTML defaults
6
+ */
7
+
8
+ /* Box sizing */
9
+ *,
10
+ *::before,
11
+ *::after {
12
+ box-sizing: border-box;
13
+ }
14
+
15
+ /* Remove default margins and paddings */
16
+ html,
17
+ body,
18
+ div,
19
+ span,
20
+ h1, h2, h3, h4, h5, h6,
21
+ p,
22
+ a,
23
+ img,
24
+ ul, ol, li,
25
+ table, tbody, tfoot, thead, tr, th, td,
26
+ article, aside, footer, header, nav, section {
27
+ margin: 0;
28
+ padding: 0;
29
+ border: 0;
30
+ }
31
+
32
+ /* Set default font */
33
+ body {
34
+ font-family: var(--semiont-font-sans);
35
+ line-height: 1.5;
36
+ color: var(--semiont-text-primary);
37
+ background-color: var(--semiont-bg-primary);
38
+ -webkit-font-smoothing: antialiased;
39
+ -moz-osx-font-smoothing: grayscale;
40
+ }
41
+
42
+ /* Remove list styles */
43
+ ul,
44
+ ol {
45
+ list-style: none;
46
+ }
47
+
48
+ /* Remove default table spacing */
49
+ table {
50
+ border-collapse: collapse;
51
+ border-spacing: 0;
52
+ }
53
+
54
+ /* Make images responsive by default */
55
+ img {
56
+ max-width: 100%;
57
+ height: auto;
58
+ display: block;
59
+ }
60
+
61
+ /* Reset button styles */
62
+ button {
63
+ background: none;
64
+ border: none;
65
+ padding: 0;
66
+ font: inherit;
67
+ cursor: pointer;
68
+ outline: inherit;
69
+ }
70
+
71
+ /* Reset link styles */
72
+ a {
73
+ color: inherit;
74
+ text-decoration: none;
75
+ }
76
+
77
+ /* Form elements */
78
+ input,
79
+ textarea,
80
+ select {
81
+ font: inherit;
82
+ color: inherit;
83
+ }
84
+
85
+ /* Remove spinner from number inputs */
86
+ input[type="number"]::-webkit-inner-spin-button,
87
+ input[type="number"]::-webkit-outer-spin-button {
88
+ appearance: none;
89
+ margin: 0;
90
+ }
91
+
92
+ input[type="number"] {
93
+ appearance: textfield;
94
+ }
95
+
96
+ /* Focus visible for accessibility */
97
+ :focus-visible {
98
+ outline: 2px solid var(--semiont-color-primary-500);
99
+ outline-offset: 2px;
100
+ }
101
+
102
+ /* Remove focus outline for mouse users */
103
+ :focus:not(:focus-visible) {
104
+ outline: none;
105
+ }