@sakura-ui/sakura-ui 0.1.21 → 0.2.0

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 (136) hide show
  1. package/package.json +16 -16
  2. package/packages/core/package.json +15 -14
  3. package/packages/core/src/components/Button.tsx +1 -1
  4. package/packages/core/src/components/Card.tsx +10 -4
  5. package/packages/core/src/components/IconButton.tsx +6 -6
  6. package/packages/core/src/components/Link.tsx +2 -1
  7. package/packages/core/src/components/Table.tsx +4 -3
  8. package/packages/core/src/components/buttonStyle.ts +20 -14
  9. package/packages/core/src/components/index.ts +0 -3
  10. package/packages/core/src/index.ts +0 -1
  11. package/packages/core/src/libs/cx.ts +1 -0
  12. package/packages/core/src/libs/forward-ref.ts +7 -4
  13. package/packages/core/src/types/component.ts +7 -6
  14. package/packages/core/tests/Button.test.tsx +30 -0
  15. package/packages/core/tests/Card.test.tsx +30 -7
  16. package/packages/core/tests/vitest.setup.ts +1 -0
  17. package/packages/core/vite.config.ts +3 -2
  18. package/packages/forms/dist/index.cjs.js +92 -81
  19. package/packages/forms/dist/index.es.js +697 -627
  20. package/packages/forms/dist/types/components/Checkbox.d.ts +3 -1
  21. package/packages/forms/dist/types/components/Checkbox.d.ts.map +1 -1
  22. package/packages/forms/dist/types/components/FileInput.d.ts.map +1 -1
  23. package/packages/forms/dist/types/components/Input.d.ts +3 -1
  24. package/packages/forms/dist/types/components/Input.d.ts.map +1 -1
  25. package/packages/forms/dist/types/components/Radio.d.ts +3 -1
  26. package/packages/forms/dist/types/components/Radio.d.ts.map +1 -1
  27. package/packages/forms/dist/types/components/Select.d.ts +3 -1
  28. package/packages/forms/dist/types/components/Select.d.ts.map +1 -1
  29. package/packages/forms/dist/types/components/Textarea.d.ts.map +1 -1
  30. package/packages/forms/dist/types/components/controlled/CheckboxGroup.d.ts +3 -1
  31. package/packages/forms/dist/types/components/controlled/CheckboxGroup.d.ts.map +1 -1
  32. package/packages/forms/dist/types/components/controlled/RadioGroup.d.ts +3 -1
  33. package/packages/forms/dist/types/components/controlled/RadioGroup.d.ts.map +1 -1
  34. package/packages/forms/dist/types/components/controlled/index.d.ts +0 -2
  35. package/packages/forms/dist/types/components/controlled/index.d.ts.map +1 -1
  36. package/packages/forms/dist/types/components/inputStyle.d.ts +13 -0
  37. package/packages/forms/dist/types/components/inputStyle.d.ts.map +1 -0
  38. package/packages/forms/dist/types/index.d.ts +1 -1
  39. package/packages/forms/dist/types/index.d.ts.map +1 -1
  40. package/packages/forms/dist/types/utils/class.d.ts.map +1 -1
  41. package/packages/forms/node_modules/.bin/acorn +17 -0
  42. package/packages/forms/node_modules/.bin/autoprefixer +2 -2
  43. package/packages/forms/node_modules/.bin/browserslist +4 -4
  44. package/packages/forms/node_modules/.bin/eslint +4 -4
  45. package/packages/forms/node_modules/.bin/tailwind +2 -2
  46. package/packages/forms/node_modules/.bin/tailwindcss +2 -2
  47. package/packages/forms/node_modules/.bin/ts-node +4 -4
  48. package/packages/forms/node_modules/.bin/ts-node-cwd +4 -4
  49. package/packages/forms/node_modules/.bin/ts-node-esm +4 -4
  50. package/packages/forms/node_modules/.bin/ts-node-script +4 -4
  51. package/packages/forms/node_modules/.bin/ts-node-transpile-only +4 -4
  52. package/packages/forms/node_modules/.bin/ts-script +4 -4
  53. package/packages/forms/node_modules/.bin/vitest +4 -4
  54. package/packages/forms/package.json +15 -14
  55. package/packages/forms/src/components/Checkbox.tsx +39 -17
  56. package/packages/forms/src/components/FieldsetControl.tsx +1 -1
  57. package/packages/forms/src/components/FileInput.tsx +5 -3
  58. package/packages/forms/src/components/Input.tsx +16 -20
  59. package/packages/forms/src/components/LabelControl.tsx +2 -2
  60. package/packages/forms/src/components/Radio.tsx +34 -19
  61. package/packages/forms/src/components/Select.tsx +41 -31
  62. package/packages/forms/src/components/Textarea.tsx +4 -3
  63. package/packages/forms/src/components/controlled/CheckboxGroup.tsx +11 -3
  64. package/packages/forms/src/components/controlled/RadioGroup.tsx +7 -3
  65. package/packages/forms/src/components/controlled/index.ts +0 -2
  66. package/packages/forms/src/components/inputStyle.ts +83 -0
  67. package/packages/forms/src/index.ts +1 -6
  68. package/packages/forms/src/utils/class.ts +1 -0
  69. package/packages/forms/tests/FieldsetControl.test.tsx +2 -2
  70. package/packages/forms/tests/Input.test.tsx +2 -2
  71. package/packages/forms/tests/LabelControl.test.tsx +2 -2
  72. package/packages/forms/tests/Radio.test.tsx +2 -2
  73. package/packages/forms/tests/vitest.setup.ts +1 -0
  74. package/packages/forms/vite.config.ts +3 -2
  75. package/packages/tailwind-theme-plugin/dist/index.cjs.js +1 -1
  76. package/packages/tailwind-theme-plugin/dist/index.es.js +14 -14
  77. package/packages/tailwind-theme-plugin/node_modules/.bin/autoprefixer +2 -2
  78. package/packages/tailwind-theme-plugin/node_modules/.bin/tailwind +4 -4
  79. package/packages/tailwind-theme-plugin/node_modules/.bin/tailwindcss +4 -4
  80. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-node +4 -4
  81. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-node-cwd +4 -4
  82. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-node-esm +4 -4
  83. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-node-script +4 -4
  84. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-node-transpile-only +4 -4
  85. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-script +4 -4
  86. package/packages/tailwind-theme-plugin/package.json +8 -5
  87. package/packages/tailwind-theme-plugin/src/index.ts +14 -14
  88. package/packages/tailwind-theme-plugin/vite.config.ts +1 -1
  89. package/packages/config/package.json +0 -46
  90. package/packages/config/src/index.ts +0 -347
  91. package/packages/config/tests/index.test.ts +0 -13
  92. package/packages/config/tsconfig.json +0 -13
  93. package/packages/config/tsconfig.node.json +0 -6
  94. package/packages/config/vite.config.ts +0 -26
  95. package/packages/core/.eslintrc.json +0 -25
  96. package/packages/core/src/components/InfoCard.tsx +0 -50
  97. package/packages/forms/coverage/clover.xml +0 -209
  98. package/packages/forms/coverage/coverage-final.json +0 -18
  99. package/packages/forms/coverage/lcov-report/base.css +0 -224
  100. package/packages/forms/coverage/lcov-report/block-navigation.js +0 -87
  101. package/packages/forms/coverage/lcov-report/favicon.png +0 -0
  102. package/packages/forms/coverage/lcov-report/index.html +0 -161
  103. package/packages/forms/coverage/lcov-report/prettify.css +0 -1
  104. package/packages/forms/coverage/lcov-report/prettify.js +0 -2
  105. package/packages/forms/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  106. package/packages/forms/coverage/lcov-report/sorter.js +0 -196
  107. package/packages/forms/coverage/lcov-report/src/components/Checkbox.tsx.html +0 -295
  108. package/packages/forms/coverage/lcov-report/src/components/FieldsetControl.tsx.html +0 -295
  109. package/packages/forms/coverage/lcov-report/src/components/LabelControl.tsx.html +0 -289
  110. package/packages/forms/coverage/lcov-report/src/components/Radio.tsx.html +0 -262
  111. package/packages/forms/coverage/lcov-report/src/components/Select.tsx.html +0 -259
  112. package/packages/forms/coverage/lcov-report/src/components/Text.tsx.html +0 -220
  113. package/packages/forms/coverage/lcov-report/src/components/Textarea.tsx.html +0 -229
  114. package/packages/forms/coverage/lcov-report/src/components/context.ts.html +0 -136
  115. package/packages/forms/coverage/lcov-report/src/components/controlled/CheckboxGroup.tsx.html +0 -244
  116. package/packages/forms/coverage/lcov-report/src/components/controlled/RadioGroup.tsx.html +0 -265
  117. package/packages/forms/coverage/lcov-report/src/components/controlled/SelectControl.tsx.html +0 -205
  118. package/packages/forms/coverage/lcov-report/src/components/controlled/TextControl.tsx.html +0 -202
  119. package/packages/forms/coverage/lcov-report/src/components/controlled/TextareaControl.tsx.html +0 -205
  120. package/packages/forms/coverage/lcov-report/src/components/controlled/index.html +0 -191
  121. package/packages/forms/coverage/lcov-report/src/components/controlled/index.ts.html +0 -100
  122. package/packages/forms/coverage/lcov-report/src/components/index.html +0 -236
  123. package/packages/forms/coverage/lcov-report/src/components/index.ts.html +0 -106
  124. package/packages/forms/coverage/lcov-report/src/index.html +0 -116
  125. package/packages/forms/coverage/lcov-report/src/index.ts.html +0 -136
  126. package/packages/forms/coverage/lcov-report/src/utils/index.html +0 -116
  127. package/packages/forms/coverage/lcov-report/src/utils/index.ts.html +0 -88
  128. package/packages/forms/coverage/lcov.info +0 -434
  129. package/packages/forms/dist/types/components/controlled/SelectControl.d.ts +0 -10
  130. package/packages/forms/dist/types/components/controlled/SelectControl.d.ts.map +0 -1
  131. package/packages/forms/dist/types/components/controlled/TextareaControl.d.ts +0 -10
  132. package/packages/forms/dist/types/components/controlled/TextareaControl.d.ts.map +0 -1
  133. package/packages/forms/jest.config.ts +0 -11
  134. package/packages/forms/node_modules/.vitest/results.json +0 -1
  135. package/packages/forms/src/components/controlled/SelectControl.tsx +0 -42
  136. package/packages/forms/src/components/controlled/TextareaControl.tsx +0 -42
@@ -1,347 +0,0 @@
1
- import plugin from 'tailwindcss/plugin'
2
-
3
- const booleans = [
4
- 'atomic',
5
- 'busy',
6
- 'checked',
7
- 'current',
8
- 'disabled',
9
- 'expanded',
10
- 'grabbed',
11
- 'haspopup',
12
- 'hidden',
13
- 'invalid',
14
- 'live',
15
- 'modal',
16
- 'multiline',
17
- 'multiselectable',
18
- 'pressed',
19
- 'readonly',
20
- 'required',
21
- 'selected'
22
- ]
23
-
24
- const enumerables = {
25
- autocomplete: ['both', 'inline', 'list', 'none'],
26
- current: ['date', 'location', 'page', 'step', 'time'],
27
- dropeffect: ['copy', 'execute', 'link', 'move', 'none', 'popup'],
28
- haspopup: ['dialog', 'grid', 'listbox', 'menu', 'tree'],
29
- orientation: ['horizontal', 'undefined', 'vertial'],
30
- relevant: ['additions', 'all', 'removals', 'text'],
31
- sort: ['ascending', 'descending', 'none', 'other']
32
- }
33
-
34
- const sakuraPlugin = plugin(
35
- ({ addBase, addVariant }) => {
36
- addBase({
37
- '@font-face': {
38
- fontFamily: 'Material Symbols Outlined',
39
- fontWeight: '300',
40
- fontStyle: 'normal'
41
- }
42
- })
43
- const addAriaVariant = (name: string, value: string) => {
44
- addVariant(name, `[${name}="${value}"]&`)
45
- addVariant(`peer-${name}`, `:merge(.peer)[${name}="${value}"] ~ &`)
46
- addVariant(`group-${name}`, `:merge(.group)[${name}="${value}"] &`)
47
- }
48
- const addAriaEnumVariant = (name: string, value: string) => {
49
- addVariant(`${name}-${value}`, `[${name}="${value}"]&`)
50
- addVariant(
51
- `peer-${name}-${value}`,
52
- `:merge(.peer)[${name}="${value}"] ~ &`
53
- )
54
- addVariant(
55
- `group-${name}-${value}`,
56
- `:merge(.group)[${name}="${value}"] &`
57
- )
58
- }
59
-
60
- for (const attribute of booleans) {
61
- addAriaVariant(`aria-${attribute}`, 'true')
62
- }
63
-
64
- for (const [attribute, values] of Object.entries(enumerables)) {
65
- for (const value of values) {
66
- addAriaEnumVariant(`aria-${attribute}`, value)
67
- }
68
- }
69
- },
70
- {
71
- theme: {
72
- extend: {
73
- fontSize: {
74
- 'h-xxl': [
75
- '57px',
76
- {
77
- lineHeight: '1.4',
78
- letterSpacing: '0.04em',
79
- fontWeight: '700'
80
- }
81
- ],
82
- 'h-xl': [
83
- '45px',
84
- {
85
- lineHeight: '1.4',
86
- letterSpacing: '0.04em',
87
- fontWeight: '700'
88
- }
89
- ],
90
- // h1
91
- 'h-lg': [
92
- '36px',
93
- {
94
- lineHeight: '1.4',
95
- letterSpacing: '0.04em',
96
- fontWeight: '700'
97
- }
98
- ],
99
- 'h-lg-m': [
100
- '32px',
101
- {
102
- lineHeight: '1.5',
103
- letterSpacing: '0.04em',
104
- fontWeight: '700'
105
- }
106
- ],
107
- // h2
108
- 'h-med': [
109
- '32px',
110
- {
111
- lineHeight: '1.5',
112
- letterSpacing: '0.04em',
113
- fontWeight: '700'
114
- }
115
- ],
116
- 'h-med-m': [
117
- '28px',
118
- {
119
- lineHeight: '1.5',
120
- letterSpacing: '0.04em',
121
- fontWeight: '700'
122
- }
123
- ],
124
- // h3
125
- 'h-sm': [
126
- '28px',
127
- {
128
- lineHeight: '1.5',
129
- letterSpacing: '0.04em',
130
- fontWeight: '700'
131
- }
132
- ],
133
- 'h-sm-m': [
134
- '24px',
135
- {
136
- lineHeight: '1.5',
137
- letterSpacing: '0.04em',
138
- fontWeight: '700'
139
- }
140
- ],
141
- // h4
142
- 'h-xs': [
143
- '24px',
144
- {
145
- lineHeight: '1.5',
146
- letterSpacing: '0.04em',
147
- fontWeight: '700'
148
- }
149
- ],
150
- 'h-xs-m': [
151
- '20px',
152
- {
153
- lineHeight: '1.5',
154
- letterSpacing: '0.04em',
155
- fontWeight: '700'
156
- }
157
- ],
158
- // h5 h6
159
- 'h-xxs': [
160
- '20px',
161
- {
162
- lineHeight: '1.5',
163
- letterSpacing: '0.04em',
164
- fontWeight: '700'
165
- }
166
- ],
167
- 'h-xxs-m': [
168
- '16px',
169
- {
170
- lineHeight: '1.5',
171
- letterSpacing: '0.04em',
172
- fontWeight: '700'
173
- }
174
- ],
175
- base: [
176
- '16px',
177
- {
178
- lineHeight: '1.7',
179
- letterSpacing: '0.04em',
180
- fontWeight: '400'
181
- }
182
- ],
183
- 'base-sm': [
184
- '14px',
185
- {
186
- lineHeight: '1.7',
187
- letterSpacing: '0.04em',
188
- fontWeight: '400'
189
- }
190
- ],
191
- sup: [
192
- '12px',
193
- {
194
- lineHeight: '1.7',
195
- letterSpacing: '0.02em',
196
- fontWeight: '400'
197
- }
198
- ],
199
- 'sup-sm': [
200
- '10px',
201
- {
202
- lineHeight: '1.7',
203
- letterSpacing: '0.02em',
204
- fontWeight: '400'
205
- }
206
- ],
207
- button: [
208
- '16px',
209
- {
210
- lineHeight: '1.5',
211
- letterSpacing: '0.04em',
212
- fontWeight: '700'
213
- }
214
- ],
215
- 'button-sm': [
216
- '14px',
217
- {
218
- lineHeight: '14px',
219
- letterSpacing: '0.04em',
220
- fontWeight: '700'
221
- }
222
- ],
223
- label: [
224
- '14px',
225
- {
226
- lineHeight: '1.5',
227
- letterSpacing: '0.04em',
228
- fontWeight: '500'
229
- }
230
- ],
231
- 'label-sm': [
232
- '12px',
233
- {
234
- lineHeight: '1.5',
235
- letterSpacing: '0.04em',
236
- fontWeight: '500'
237
- }
238
- ],
239
- code: [
240
- '16px',
241
- {
242
- lineHeight: '1.7',
243
- letterSpacing: '0.04em',
244
- fontWeight: '400'
245
- }
246
- ]
247
- },
248
- colors: {
249
- white: {
250
- 1000: '#FFFFFF'
251
- },
252
- sea: {
253
- 1200: '#00004F',
254
- 1100: '#000060',
255
- 1000: '#000071',
256
- 900: '#000082',
257
- 800: '#0017C1',
258
- 700: '#0031D8',
259
- 600: '#1A3EE8',
260
- 500: '#264AF4',
261
- 400: '#4979F5',
262
- 300: '#7096F8',
263
- 200: '#9DB7F9',
264
- 100: '#C5D7FB',
265
- 50: '#E8F1FE'
266
- },
267
- sumi: {
268
- 1200: '#000000',
269
- 1100: '#080808',
270
- 1000: '#111111',
271
- 900: '#1A1A1C',
272
- 800: '#414143',
273
- 700: '#626264',
274
- 600: '#757578',
275
- 500: '#949497',
276
- 400: '#B4B4B7',
277
- 300: '#D8D8DB',
278
- 200: '#E8E8EB',
279
- 100: '#F1F1F4',
280
- 50: '#F8F8FB'
281
- },
282
- forest: {
283
- 1200: '#032213',
284
- 1100: '#08351F',
285
- 1000: '#0C472A',
286
- 900: '#115A36',
287
- 800: '#197A4B',
288
- 700: '#1D8B56',
289
- 600: '#259D63',
290
- 500: '#2CAC6E',
291
- 400: '#51B883',
292
- 300: '#71C598',
293
- 200: '#9BD4B5',
294
- 100: '#C2E5D1',
295
- 50: '#E6F5EC'
296
- },
297
- wood: {
298
- 1200: '#662E00',
299
- 1100: '#833B00',
300
- 1000: '#9C4600',
301
- 900: '#B65200',
302
- 800: '#C16800',
303
- 700: '#C87504',
304
- 600: '#CD820A',
305
- 500: '#D18D0F',
306
- 400: '#D69C2B',
307
- 300: '#DCAC4D',
308
- 200: '#E1C383',
309
- 100: '#E7D8B9',
310
- 50: '#F3EEE5'
311
- },
312
- sun: {
313
- 1200: '#640101',
314
- 1100: '#890101',
315
- 1000: '#AF0000',
316
- 900: '#D50000',
317
- 800: '#EC0000',
318
- 700: '#FA1606',
319
- 600: '#FF220D',
320
- 500: '#FF4B36',
321
- 400: '#FF5838',
322
- 300: '#FF7B5C',
323
- 200: '#FFA28B',
324
- 100: '#FFC8B8',
325
- 50: '#FFE7E6'
326
- }
327
- },
328
- fontFamily: {
329
- sans: [
330
- 'Noto Sans JP',
331
- '-apple-system',
332
- 'blinkmacsystemfont',
333
- 'Segoe UI',
334
- 'Hiragino Kaku Gothic ProN',
335
- 'BIZ UDPGothic',
336
- 'meiryo',
337
- 'sans-serif'
338
- ],
339
- code: ['Monaco', 'Menlo', 'Consolas', 'Courier New', 'monospace'],
340
- icon: ['Material Symbols Outlined']
341
- }
342
- }
343
- }
344
- }
345
- )
346
-
347
- export default sakuraPlugin
@@ -1,13 +0,0 @@
1
- import sakuraPlugin from '../src'
2
-
3
- describe('run tests', () => {
4
- it('tests the sakuraConfig', () => {
5
- const config = {
6
- mode: 'jit',
7
- content: ['./src/components/**/*.{js,ts,jsx,tsx}'],
8
- plugins: [sakuraPlugin]
9
- }
10
- console.log(config)
11
- expect(1 + 2).toBe(3)
12
- })
13
- })
@@ -1,13 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "declarationDir": "./dist/types",
5
- "outDir": "./dist",
6
- "baseUrl": ".",
7
- "paths": {
8
- "@/*": ["src/*"]
9
- }
10
- },
11
- "include": ["src"],
12
- "references": [{ "path": "./tsconfig.node.json" }]
13
- }
@@ -1,6 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true
4
- },
5
- "include": ["vite.config.ts"]
6
- }
@@ -1,26 +0,0 @@
1
- /// <reference types="vitest" />
2
- import { resolve } from 'path'
3
- import { defineConfig } from 'vite'
4
- import { peerDependencies } from './package.json'
5
-
6
- // https://vitejs.dev/config/
7
- export default defineConfig({
8
- resolve: {
9
- alias: {
10
- '@': resolve(__dirname, 'src')
11
- }
12
- },
13
- build: {
14
- lib: {
15
- entry: resolve(__dirname, 'src', 'index.ts'),
16
- formats: ['es', 'cjs'],
17
- fileName: (ext: string) => `index.${ext}.js`
18
- },
19
- rollupOptions: {
20
- external: [...Object.keys(peerDependencies)]
21
- }
22
- },
23
- test: {
24
- globals: true
25
- }
26
- })
@@ -1,25 +0,0 @@
1
- {
2
- "env": {
3
- "browser": true,
4
- "es2021": true
5
- },
6
- "extends": [
7
- "eslint:recommended",
8
- "plugin:@typescript-eslint/recommended",
9
- "plugin:react/recommended",
10
- "plugin:jsx-a11y/recommended",
11
- "prettier"
12
- ],
13
- "parser": "@typescript-eslint/parser",
14
- "parserOptions": {
15
- "ecmaVersion": "latest",
16
- "sourceType": "module"
17
- },
18
- "plugins": ["@typescript-eslint", "react", "jsx-a11y"],
19
- "rules": {},
20
- "settings": {
21
- "react": {
22
- "version": "detect"
23
- }
24
- }
25
- }
@@ -1,50 +0,0 @@
1
- import React from 'react'
2
- import { cx } from '../libs/cx'
3
-
4
- export interface InfoCardProps
5
- extends React.ComponentPropsWithoutRef<'section'> {
6
- title?: string
7
- }
8
-
9
- export const InfoCard = (props: InfoCardProps) => {
10
- const { className, children, title, ...restProps } = props
11
-
12
- const style = `
13
- border
14
- border-solid
15
- border-sumi-300
16
- rounded-2xl
17
- sm:rounded-3xl
18
- text-sumi-900
19
- `
20
-
21
- const topStyle = `
22
- pt-6
23
- px-6
24
- text-h-xxs-m
25
- sm:text-h-xxs
26
- leading-none
27
- mb-2
28
- `
29
-
30
- const bottmStyle = `
31
- pb-6
32
- px-6
33
- text-base
34
- `
35
-
36
- const headingId = React.useId()
37
-
38
- return (
39
- <section
40
- aria-labelledby={headingId}
41
- className={cx(style, className)}
42
- {...restProps}
43
- >
44
- <h2 id={headingId} className={topStyle}>
45
- {title}
46
- </h2>
47
- <p className={bottmStyle}>{children}</p>
48
- </section>
49
- )
50
- }