@sakura-ui/sakura-ui 0.3.0 → 0.4.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 (133) hide show
  1. package/README.md +71 -0
  2. package/package.json +26 -25
  3. package/packages/core/package.json +10 -8
  4. package/packages/core/src/components/Button.tsx +1 -1
  5. package/packages/core/src/components/Card.tsx +8 -3
  6. package/packages/core/src/components/IconButton.tsx +1 -1
  7. package/packages/core/src/components/LangSelector.tsx +2 -2
  8. package/packages/core/src/components/Link.tsx +0 -1
  9. package/packages/core/src/components/LinkCard.tsx +87 -52
  10. package/packages/core/src/components/MenuButton.tsx +2 -2
  11. package/packages/core/src/components/NavigationItem.tsx +1 -1
  12. package/packages/core/src/components/NotificationBanner.tsx +20 -0
  13. package/packages/core/src/components/PopoverMenu.tsx +1 -0
  14. package/packages/core/src/components/buttonStyle.ts +1 -1
  15. package/packages/core/src/components/index.ts +1 -1
  16. package/packages/core/src/icons/index.ts +1 -1
  17. package/packages/core/src/index.ts +1 -0
  18. package/packages/core/vite.config.ts +2 -1
  19. package/packages/forms/.turbo/turbo-build.log +12 -22
  20. package/packages/forms/dist/index.cjs.js +52 -79
  21. package/packages/forms/dist/index.es.js +455 -646
  22. package/packages/forms/dist/types/components/Checkbox.d.ts +2 -2
  23. package/packages/forms/dist/types/components/Checkbox.d.ts.map +1 -1
  24. package/packages/forms/dist/types/components/FieldsetControl.d.ts +2 -2
  25. package/packages/forms/dist/types/components/FieldsetControl.d.ts.map +1 -1
  26. package/packages/forms/dist/types/components/FileInput.d.ts +2 -2
  27. package/packages/forms/dist/types/components/FileInput.d.ts.map +1 -1
  28. package/packages/forms/dist/types/components/Input.d.ts +2 -2
  29. package/packages/forms/dist/types/components/Input.d.ts.map +1 -1
  30. package/packages/forms/dist/types/components/LabelControl.d.ts +2 -2
  31. package/packages/forms/dist/types/components/LabelControl.d.ts.map +1 -1
  32. package/packages/forms/dist/types/components/Radio.d.ts +2 -2
  33. package/packages/forms/dist/types/components/Radio.d.ts.map +1 -1
  34. package/packages/forms/dist/types/components/Select.d.ts +2 -2
  35. package/packages/forms/dist/types/components/Select.d.ts.map +1 -1
  36. package/packages/forms/dist/types/components/Textarea.d.ts +2 -2
  37. package/packages/forms/dist/types/components/Textarea.d.ts.map +1 -1
  38. package/packages/forms/dist/types/components/controlled/CheckboxGroup.d.ts +1 -1
  39. package/packages/forms/dist/types/components/controlled/RadioGroup.d.ts +1 -1
  40. package/packages/forms/dist/types/components/inputStyle.d.ts +1 -1
  41. package/packages/forms/dist/types/components/inputStyle.d.ts.map +1 -1
  42. package/packages/forms/node_modules/.bin/autoprefixer +44 -6
  43. package/packages/forms/package.json +9 -7
  44. package/packages/forms/src/components/Checkbox.tsx +1 -2
  45. package/packages/forms/src/components/FileInput.tsx +3 -3
  46. package/packages/forms/src/components/Input.tsx +0 -1
  47. package/packages/forms/src/components/Radio.tsx +0 -1
  48. package/packages/forms/src/components/Select.tsx +0 -1
  49. package/packages/forms/src/components/Textarea.tsx +0 -1
  50. package/packages/forms/tests/FieldsetControl.test.tsx +8 -2
  51. package/packages/forms/tests/FileInput.test.tsx +30 -5
  52. package/packages/forms/tests/LabelControl.test.tsx +8 -2
  53. package/packages/forms/vite.config.ts +2 -1
  54. package/packages/helper/.turbo/turbo-build.log +12 -23
  55. package/packages/helper/dist/index.cjs.js +7 -9
  56. package/packages/helper/dist/index.es.js +23 -23
  57. package/packages/helper/dist/types/calc.d.ts.map +1 -1
  58. package/packages/helper/dist/types/cx.d.ts.map +1 -1
  59. package/packages/helper/dist/types/styles.d.ts +9 -9
  60. package/packages/helper/dist/types/styles.d.ts.map +1 -1
  61. package/packages/helper/dist/types/treefy.d.ts.map +1 -1
  62. package/packages/helper/node_modules/.bin/vitest +55 -0
  63. package/packages/helper/package.json +13 -3
  64. package/packages/helper/src/cx.ts +1 -1
  65. package/packages/helper/src/styles.ts +2 -4
  66. package/packages/helper/src/treefy.ts +3 -1
  67. package/packages/helper/tests/calc.test.ts +22 -0
  68. package/packages/helper/tests/cx.test.ts +30 -0
  69. package/packages/helper/tests/querySelector.test.ts +24 -0
  70. package/packages/helper/tests/treefy.test.ts +111 -0
  71. package/packages/helper/tests/vitest.setup.ts +2 -0
  72. package/packages/markdown/.turbo/turbo-build.log +12 -22
  73. package/packages/markdown/dist/index.cjs.js +37 -63
  74. package/packages/markdown/dist/index.es.js +4287 -4425
  75. package/packages/markdown/dist/types/components/Markdown.d.ts.map +1 -1
  76. package/packages/markdown/dist/types/plugins/attr.d.ts.map +1 -1
  77. package/packages/markdown/dist/types/plugins/card.d.ts.map +1 -1
  78. package/packages/markdown/dist/types/plugins/cell.d.ts.map +1 -1
  79. package/packages/markdown/dist/types/plugins/faq.d.ts.map +1 -1
  80. package/packages/markdown/dist/types/plugins/grid.d.ts.map +1 -1
  81. package/packages/markdown/dist/types/plugins/headings.d.ts +3 -1
  82. package/packages/markdown/dist/types/plugins/headings.d.ts.map +1 -1
  83. package/packages/markdown/dist/types/plugins/helper.d.ts.map +1 -1
  84. package/packages/markdown/dist/types/plugins/linkButton.d.ts.map +1 -1
  85. package/packages/markdown/dist/types/plugins/youtube.d.ts.map +1 -1
  86. package/packages/markdown/node_modules/.bin/autoprefixer +44 -6
  87. package/packages/markdown/package.json +16 -15
  88. package/packages/markdown/src/components/Markdown.tsx +4 -0
  89. package/packages/markdown/src/plugins/grid.ts +4 -1
  90. package/packages/markdown/src/plugins/headings.ts +6 -3
  91. package/packages/markdown/src/plugins/linkButton.ts +2 -1
  92. package/packages/markdown/src/plugins/youtube.ts +5 -4
  93. package/packages/tailwind-theme-plugin/#package.json# +51 -0
  94. package/packages/tailwind-theme-plugin/.turbo/turbo-build.log +12 -22
  95. package/packages/tailwind-theme-plugin/dist/index.cjs.js +1 -1
  96. package/packages/tailwind-theme-plugin/dist/index.es.js +1111 -1477
  97. package/packages/tailwind-theme-plugin/dist/types/index.d.ts +1 -4
  98. package/packages/tailwind-theme-plugin/dist/types/index.d.ts.map +1 -1
  99. package/packages/tailwind-theme-plugin/node_modules/.bin/autoprefixer +44 -6
  100. package/packages/tailwind-theme-plugin/package.json +8 -6
  101. package/packages/tailwind-theme-plugin/src/index.ts +15 -58
  102. package/packages/tailwind-theme-plugin/vite.config.ts +2 -0
  103. package/packages/forms/node_modules/.bin/tailwind +0 -17
  104. package/packages/forms/node_modules/.bin/tailwindcss +0 -17
  105. package/packages/forms/node_modules/.bin/ts-node +0 -17
  106. package/packages/forms/node_modules/.bin/ts-node-cwd +0 -17
  107. package/packages/forms/node_modules/.bin/ts-node-esm +0 -17
  108. package/packages/forms/node_modules/.bin/ts-node-script +0 -17
  109. package/packages/forms/node_modules/.bin/ts-node-transpile-only +0 -17
  110. package/packages/forms/node_modules/.bin/ts-script +0 -17
  111. package/packages/forms/node_modules/.bin/tsc +0 -17
  112. package/packages/forms/node_modules/.bin/tsserver +0 -17
  113. package/packages/forms/node_modules/.vite/vitest/results.json +0 -1
  114. package/packages/markdown/node_modules/.bin/tailwind +0 -17
  115. package/packages/markdown/node_modules/.bin/tailwindcss +0 -17
  116. package/packages/markdown/node_modules/.bin/ts-node +0 -17
  117. package/packages/markdown/node_modules/.bin/ts-node-cwd +0 -17
  118. package/packages/markdown/node_modules/.bin/ts-node-esm +0 -17
  119. package/packages/markdown/node_modules/.bin/ts-node-script +0 -17
  120. package/packages/markdown/node_modules/.bin/ts-node-transpile-only +0 -17
  121. package/packages/markdown/node_modules/.bin/ts-script +0 -17
  122. package/packages/markdown/node_modules/.bin/tsc +0 -17
  123. package/packages/markdown/node_modules/.bin/tsserver +0 -17
  124. package/packages/tailwind-theme-plugin/node_modules/.bin/tailwind +0 -17
  125. package/packages/tailwind-theme-plugin/node_modules/.bin/tailwindcss +0 -17
  126. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-node +0 -17
  127. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-node-cwd +0 -17
  128. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-node-esm +0 -17
  129. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-node-script +0 -17
  130. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-node-transpile-only +0 -17
  131. package/packages/tailwind-theme-plugin/node_modules/.bin/ts-script +0 -17
  132. package/packages/tailwind-theme-plugin/node_modules/.bin/tsc +0 -17
  133. package/packages/tailwind-theme-plugin/node_modules/.bin/tsserver +0 -17
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithRef } from 'react';
1
+ import React, { type ComponentPropsWithRef } from 'react';
2
2
  import { type InputSize } from './inputStyle';
3
3
  export declare namespace Checkbox {
4
4
  interface Props extends Omit<ComponentPropsWithRef<'input'>, 'size'> {
@@ -6,7 +6,7 @@ export declare namespace Checkbox {
6
6
  }
7
7
  }
8
8
  export declare const Checkbox: {
9
- (props: Checkbox.Props): import("react/jsx-runtime").JSX.Element;
9
+ (props: Checkbox.Props): React.JSX.Element;
10
10
  displayName: string;
11
11
  };
12
12
  //# sourceMappingURL=Checkbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,cAAc,CAAA;AAErB,yBAAiB,QAAQ,CAAC;IACxB,UAAiB,KAAM,SAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACzE,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB;CACF;AAED,eAAO,MAAM,QAAQ;YAAW,QAAQ,CAAC,KAAK;;CA0E7C,CAAA"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,cAAc,CAAA;AAErB,yBAAiB,QAAQ,CAAC;IACxB,UAAiB,KAAM,SAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACzE,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB;CACF;AAED,eAAO,MAAM,QAAQ;YAAW,QAAQ,CAAC,KAAK;;CAyE7C,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithRef } from 'react';
1
+ import React, { type ComponentPropsWithRef } from 'react';
2
2
  export declare namespace FieldsetControl {
3
3
  interface Props extends ComponentPropsWithRef<'fieldset'> {
4
4
  labelText: string;
@@ -10,7 +10,7 @@ export declare namespace FieldsetControl {
10
10
  }
11
11
  }
12
12
  export declare const FieldsetControl: {
13
- (props: FieldsetControl.Props): import("react/jsx-runtime").JSX.Element;
13
+ (props: FieldsetControl.Props): React.JSX.Element;
14
14
  displayName: string;
15
15
  };
16
16
  //# sourceMappingURL=FieldsetControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldsetControl.d.ts","sourceRoot":"","sources":["../../../src/components/FieldsetControl.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAIzD,yBAAiB,eAAe,CAAC;IAC/B,UAAiB,KAAM,SAAQ,qBAAqB,CAAC,UAAU,CAAC;QAC9D,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;KACpC;CACF;AAED,eAAO,MAAM,eAAe;YAAW,eAAe,CAAC,KAAK;;CAoD3D,CAAA"}
1
+ {"version":3,"file":"FieldsetControl.d.ts","sourceRoot":"","sources":["../../../src/components/FieldsetControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAIzD,yBAAiB,eAAe,CAAC;IAC/B,UAAiB,KAAM,SAAQ,qBAAqB,CAAC,UAAU,CAAC;QAC9D,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;KACpC;CACF;AAED,eAAO,MAAM,eAAe;YAAW,eAAe,CAAC,KAAK;;CAoD3D,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithRef } from 'react';
1
+ import React, { type ComponentPropsWithRef } from 'react';
2
2
  import type { InputSize } from './inputStyle';
3
3
  export declare namespace FileInput {
4
4
  interface Props extends Omit<ComponentPropsWithRef<'input'>, 'size'> {
@@ -6,7 +6,7 @@ export declare namespace FileInput {
6
6
  }
7
7
  }
8
8
  export declare const FileInput: {
9
- (props: FileInput.Props): import("react/jsx-runtime").JSX.Element;
9
+ (props: FileInput.Props): React.JSX.Element;
10
10
  displayName: string;
11
11
  };
12
12
  //# sourceMappingURL=FileInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileInput.d.ts","sourceRoot":"","sources":["../../../src/components/FileInput.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,yBAAiB,SAAS,CAAC;IACzB,UAAiB,KAAM,SAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACzE,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB;CACF;AAED,eAAO,MAAM,SAAS;YAAW,SAAS,CAAC,KAAK;;CAsF/C,CAAA"}
1
+ {"version":3,"file":"FileInput.d.ts","sourceRoot":"","sources":["../../../src/components/FileInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,yBAAiB,SAAS,CAAC;IACzB,UAAiB,KAAM,SAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACzE,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB;CACF;AAED,eAAO,MAAM,SAAS;YAAW,SAAS,CAAC,KAAK;;CAsF/C,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithRef } from 'react';
1
+ import React, { type ComponentPropsWithRef } from 'react';
2
2
  import { type InputSize } from './inputStyle';
3
3
  export declare namespace Input {
4
4
  interface Props extends Omit<ComponentPropsWithRef<'input'>, 'size'> {
@@ -6,7 +6,7 @@ export declare namespace Input {
6
6
  }
7
7
  }
8
8
  export declare const Input: {
9
- (props: Input.Props): import("react/jsx-runtime").JSX.Element;
9
+ (props: Input.Props): React.JSX.Element;
10
10
  displayName: string;
11
11
  };
12
12
  //# sourceMappingURL=Input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,EACL,KAAK,SAAS,EAGf,MAAM,cAAc,CAAA;AAErB,yBAAiB,KAAK,CAAC;IACrB,UAAiB,KAAM,SAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACzE,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB;CACF;AAED,eAAO,MAAM,KAAK;YAAW,KAAK,CAAC,KAAK;;CAuBvC,CAAA"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,EACL,KAAK,SAAS,EAGf,MAAM,cAAc,CAAA;AAErB,yBAAiB,KAAK,CAAC;IACrB,UAAiB,KAAM,SAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACzE,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB;CACF;AAED,eAAO,MAAM,KAAK;YAAW,KAAK,CAAC,KAAK;;CAsBvC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithRef } from 'react';
1
+ import React, { type ComponentPropsWithRef } from 'react';
2
2
  export declare namespace LabelControl {
3
3
  interface Props extends ComponentPropsWithRef<'label'> {
4
4
  labelText: string;
@@ -9,7 +9,7 @@ export declare namespace LabelControl {
9
9
  }
10
10
  }
11
11
  export declare const LabelControl: {
12
- (props: LabelControl.Props): import("react/jsx-runtime").JSX.Element;
12
+ (props: LabelControl.Props): React.JSX.Element;
13
13
  displayName: string;
14
14
  };
15
15
  //# sourceMappingURL=LabelControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LabelControl.d.ts","sourceRoot":"","sources":["../../../src/components/LabelControl.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAIzD,yBAAiB,YAAY,CAAC;IAC5B,UAAiB,KAAM,SAAQ,qBAAqB,CAAC,OAAO,CAAC;QAC3D,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB;CACF;AAED,eAAO,MAAM,YAAY;YAAW,YAAY,CAAC,KAAK;;CAwDrD,CAAA"}
1
+ {"version":3,"file":"LabelControl.d.ts","sourceRoot":"","sources":["../../../src/components/LabelControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAIzD,yBAAiB,YAAY,CAAC;IAC5B,UAAiB,KAAM,SAAQ,qBAAqB,CAAC,OAAO,CAAC;QAC3D,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB;CACF;AAED,eAAO,MAAM,YAAY;YAAW,YAAY,CAAC,KAAK;;CAwDrD,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithRef } from 'react';
1
+ import React, { type ComponentPropsWithRef } from 'react';
2
2
  import { type InputSize } from './inputStyle';
3
3
  export declare namespace Radio {
4
4
  interface Props extends Omit<ComponentPropsWithRef<'input'>, 'size'> {
@@ -6,7 +6,7 @@ export declare namespace Radio {
6
6
  }
7
7
  }
8
8
  export declare const Radio: {
9
- (props: Radio.Props): import("react/jsx-runtime").JSX.Element;
9
+ (props: Radio.Props): React.JSX.Element;
10
10
  displayName: string;
11
11
  };
12
12
  //# sourceMappingURL=Radio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/Radio.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,cAAc,CAAA;AAErB,yBAAiB,KAAK,CAAC;IACrB,UAAiB,KAAM,SAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACzE,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB;CACF;AAED,eAAO,MAAM,KAAK;YAAW,KAAK,CAAC,KAAK;;CA+DvC,CAAA"}
1
+ {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/Radio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,cAAc,CAAA;AAErB,yBAAiB,KAAK,CAAC;IACrB,UAAiB,KAAM,SAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACzE,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB;CACF;AAED,eAAO,MAAM,KAAK;YAAW,KAAK,CAAC,KAAK;;CA8DvC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithRef } from 'react';
1
+ import React, { type ComponentPropsWithRef } from 'react';
2
2
  import { type InputSize } from './inputStyle';
3
3
  export declare namespace Select {
4
4
  interface Props extends Omit<ComponentPropsWithRef<'select'>, 'size'> {
@@ -6,7 +6,7 @@ export declare namespace Select {
6
6
  }
7
7
  }
8
8
  export declare const Select: {
9
- (props: Select.Props): import("react/jsx-runtime").JSX.Element;
9
+ (props: Select.Props): React.JSX.Element;
10
10
  displayName: string;
11
11
  };
12
12
  //# sourceMappingURL=Select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,EACL,KAAK,SAAS,EAGf,MAAM,cAAc,CAAA;AAErB,yBAAiB,MAAM,CAAC;IACtB,UAAiB,KAAM,SAAQ,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC1E,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB;CACF;AAED,eAAO,MAAM,MAAM;YAAW,MAAM,CAAC,KAAK;;CA2DzC,CAAA"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,EACL,KAAK,SAAS,EAGf,MAAM,cAAc,CAAA;AAErB,yBAAiB,MAAM,CAAC;IACtB,UAAiB,KAAM,SAAQ,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC1E,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB;CACF;AAED,eAAO,MAAM,MAAM;YAAW,MAAM,CAAC,KAAK;;CA0DzC,CAAA"}
@@ -1,10 +1,10 @@
1
- import { type ComponentPropsWithRef } from 'react';
1
+ import React, { type ComponentPropsWithRef } from 'react';
2
2
  export declare namespace Textarea {
3
3
  interface Props extends ComponentPropsWithRef<'textarea'> {
4
4
  }
5
5
  }
6
6
  export declare const Textarea: {
7
- (props: Textarea.Props): import("react/jsx-runtime").JSX.Element;
7
+ (props: Textarea.Props): React.JSX.Element;
8
8
  displayName: string;
9
9
  };
10
10
  //# sourceMappingURL=Textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAIzD,yBAAiB,QAAQ,CAAC;IACxB,UAAiB,KAAM,SAAQ,qBAAqB,CAAC,UAAU,CAAC;KAAG;CACpE;AAED,eAAO,MAAM,QAAQ;YAAW,QAAQ,CAAC,KAAK;;CAyD7C,CAAA"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAIzD,yBAAiB,QAAQ,CAAC;IACxB,UAAiB,KAAM,SAAQ,qBAAqB,CAAC,UAAU,CAAC;KAAG;CACpE;AAED,eAAO,MAAM,QAAQ;YAAW,QAAQ,CAAC,KAAK;;CAwD7C,CAAA"}
@@ -14,7 +14,7 @@ export declare namespace CheckboxGroup {
14
14
  }
15
15
  }
16
16
  export declare const CheckboxGroup: {
17
- (props: CheckboxGroup.Props): import("react/jsx-runtime").JSX.Element;
17
+ (props: CheckboxGroup.Props): React.JSX.Element;
18
18
  displayName: string;
19
19
  };
20
20
  //# sourceMappingURL=CheckboxGroup.d.ts.map
@@ -15,7 +15,7 @@ export declare namespace RadioGroup {
15
15
  }
16
16
  }
17
17
  export declare const RadioGroup: {
18
- (props: RadioGroup.Props): import("react/jsx-runtime").JSX.Element;
18
+ (props: RadioGroup.Props): React.JSX.Element;
19
19
  displayName: string;
20
20
  };
21
21
  //# sourceMappingURL=RadioGroup.d.ts.map
@@ -1,5 +1,5 @@
1
1
  export type InputSize = 'lg' | 'md' | 'sm';
2
- export declare const borderedInputBaseStyles = "\n bg-white\n border\n border-solid\n border-solid-gray-900\n disabled:bg-transparent\n disabled:text-solid-gray-500\n disabled:border-solid-gray-500\n aria-invalid:border-red-800\n \n \n focus-visible:outline\n focus-visible:outline-4\n focus-visible:outline-black\n focus-visible:ring-yellow-300\n \n focus-visible:outline-offset-[calc(2/16*1rem)]\n focus-visible:ring-[calc(2/16*1rem)]\n \n";
2
+ export declare const borderedInputBaseStyles = "\n bg-white\n border\n border-solid\n border-solid-gray-900\n disabled:bg-transparent\n disabled:text-solid-gray-500\n disabled:border-solid-gray-500\n aria-invalid:border-red-800\n \n \n focus-visible:outline-4\n focus-visible:outline-black\n focus-visible:ring-yellow-300\n \n focus-visible:outline-offset-[calc(2/16*1rem)]\n focus-visible:ring-[calc(2/16*1rem)]\n \n";
3
3
  export declare const borderedInputSizeStyles: {
4
4
  [key in InputSize]: string;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"inputStyle.d.ts","sourceRoot":"","sources":["../../../src/components/inputStyle.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE1C,eAAO,MAAM,uBAAuB,8aAUnC,CAAA;AAGD,eAAO,MAAM,uBAAuB,EAAE;KAAG,GAAG,IAAI,SAAS,GAAG,MAAM;CAwBjE,CAAA;AAED,eAAO,MAAM,yBAAyB,yFAMrC,CAAA;AAGD,eAAO,MAAM,yBAAyB,EAAE;KAAG,GAAG,IAAI,SAAS,GAAG,MAAM;CAsBnE,CAAA;AAGD,eAAO,MAAM,UAAU,EAAE;KAAG,GAAG,IAAI,SAAS,GAAG,MAAM;CAIpD,CAAA"}
1
+ {"version":3,"file":"inputStyle.d.ts","sourceRoot":"","sources":["../../../src/components/inputStyle.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE1C,eAAO,MAAM,uBAAuB,mZAUnC,CAAA;AAGD,eAAO,MAAM,uBAAuB,EAAE;KAAG,GAAG,IAAI,SAAS,GAAG,MAAM;CAwBjE,CAAA;AAED,eAAO,MAAM,yBAAyB,yFAMrC,CAAA;AAGD,eAAO,MAAM,yBAAyB,EAAE;KAAG,GAAG,IAAI,SAAS,GAAG,MAAM;CAsBnE,CAAA;AAGD,eAAO,MAAM,UAAU,EAAE;KAAG,GAAG,IAAI,SAAS,GAAG,MAAM;CAIpD,CAAA"}
@@ -1,17 +1,55 @@
1
1
  #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
2
+ # Resolve $0 through symlinks so basedir is the shim's real directory.
3
+ # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
+ link="$0"
5
+ hops=0
6
+ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
7
+ hops=$((hops+1))
8
+ target=$(readlink "$link")
9
+ case "$target" in
10
+ /*) link="$target" ;;
11
+ *) link="$(dirname "$link")/$target" ;;
12
+ esac
13
+ done
14
+ basedir=$(dirname "$(echo "$link" | sed -e 's,\\,/,g')")
15
+ basedir_win="$basedir"
16
+ exe=""
17
+ msys=""
3
18
 
4
- case `uname` in
5
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
19
+ case `uname -a` in
20
+ *CYGWIN*|*MINGW*|*MSYS*)
21
+ if command -v cygpath > /dev/null 2>&1; then
22
+ basedir_win=`cygpath -w "$basedir"`
23
+ fi
24
+ exe=".exe"
25
+ msys="true"
26
+ ;;
27
+ *WSL2*)
28
+ if command -v wslpath > /dev/null 2>&1; then
29
+ basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
30
+ if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
31
+ basedir_win="$basedir"
32
+ else
33
+ exe=".exe"
34
+ fi
35
+ fi
36
+ ;;
6
37
  esac
7
38
 
8
39
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/Users/t.fujita/Documents/Repos/sakura-ui/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.49/node_modules/autoprefixer/bin/node_modules:/Users/t.fujita/Documents/Repos/sakura-ui/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.49/node_modules/autoprefixer/node_modules:/Users/t.fujita/Documents/Repos/sakura-ui/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.49/node_modules:/Users/t.fujita/Documents/Repos/sakura-ui/node_modules/.pnpm/node_modules"
40
+ export NODE_PATH="/home/runner/work/sakura-ui/sakura-ui/node_modules/.pnpm/autoprefixer@10.5.4_postcss@8.5.26/node_modules/autoprefixer/node_modules:/home/runner/work/sakura-ui/sakura-ui/node_modules/.pnpm/autoprefixer@10.5.4_postcss@8.5.26/node_modules:/home/runner/work/sakura-ui/sakura-ui/node_modules/.pnpm/node_modules"
10
41
  else
11
- export NODE_PATH="/Users/t.fujita/Documents/Repos/sakura-ui/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.49/node_modules/autoprefixer/bin/node_modules:/Users/t.fujita/Documents/Repos/sakura-ui/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.49/node_modules/autoprefixer/node_modules:/Users/t.fujita/Documents/Repos/sakura-ui/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.49/node_modules:/Users/t.fujita/Documents/Repos/sakura-ui/node_modules/.pnpm/node_modules:$NODE_PATH"
42
+ export NODE_PATH="/home/runner/work/sakura-ui/sakura-ui/node_modules/.pnpm/autoprefixer@10.5.4_postcss@8.5.26/node_modules/autoprefixer/node_modules:/home/runner/work/sakura-ui/sakura-ui/node_modules/.pnpm/autoprefixer@10.5.4_postcss@8.5.26/node_modules:/home/runner/work/sakura-ui/sakura-ui/node_modules/.pnpm/node_modules:$NODE_PATH"
12
43
  fi
13
- if [ -x "$basedir/node" ]; then
44
+ if [ -n "$exe" ] && [ -x "$basedir/node.exe" ]; then
45
+ exec "$basedir/node.exe" "$basedir_win/../autoprefixer/bin/autoprefixer" "$@"
46
+ elif [ -x "$basedir/node" ]; then
14
47
  exec "$basedir/node" "$basedir/../autoprefixer/bin/autoprefixer" "$@"
48
+ elif command -v node >/dev/null 2>&1; then
49
+ exec node "$basedir/../autoprefixer/bin/autoprefixer" "$@"
50
+ elif [ -n "$exe" ] && command -v node.exe >/dev/null 2>&1; then
51
+ exec node.exe "$basedir_win/../autoprefixer/bin/autoprefixer" "$@"
15
52
  else
16
53
  exec node "$basedir/../autoprefixer/bin/autoprefixer" "$@"
17
54
  fi
55
+ # cmd-shim-target=/home/runner/work/sakura-ui/sakura-ui/packages/forms/node_modules/autoprefixer/bin/autoprefixer
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@sakura-ui/forms",
3
- "version": "0.3.0",
3
+ "version": "0.4.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "glassonion1",
7
7
  "homepage": "https://github.com/glassonion1/sakura-ui",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "git+ssh://git@github.com:glassonion1/sakura-ui.git",
10
+ "url": "git+https://github.com/glassonion1/sakura-ui.git",
11
11
  "directory": "packages/forms"
12
12
  },
13
13
  "license": "MIT",
@@ -36,21 +36,23 @@
36
36
  "build": "run-p build:*",
37
37
  "build:scripts": "vite build",
38
38
  "build:types": "tsc && tsc-alias",
39
- "test": "vitest"
39
+ "test": "vitest run",
40
+ "test:watch": "vitest"
40
41
  },
41
42
  "peerDependencies": {
42
- "react": "^19.0.0",
43
- "react-dom": "^19.0.0",
44
- "tailwindcss": "^3.4.5"
43
+ "react": "^19.2.1",
44
+ "react-dom": "^19.2.1",
45
+ "tailwindcss": "^4.1.17"
45
46
  },
46
47
  "dependencies": {
47
- "@sakura-ui/helper": "0.0.5"
48
+ "@sakura-ui/helper": "workspace:*"
48
49
  },
49
50
  "devDependencies": {
50
51
  "@testing-library/jest-dom": "catalog:",
51
52
  "@testing-library/react": "catalog:",
52
53
  "@types/react": "catalog:",
53
54
  "@types/react-dom": "catalog:",
55
+ "@tailwindcss/vite": "catalog:",
54
56
  "autoprefixer": "catalog:",
55
57
  "happy-dom": "catalog:",
56
58
  "postcss": "catalog:",
@@ -39,7 +39,7 @@ export const Checkbox = (props: Checkbox.Props) => {
39
39
 
40
40
  const styleCheck = `
41
41
  bg-clip-content
42
- rounded
42
+ rounded-sm
43
43
  border
44
44
  border-solid
45
45
  border-solid-gray-900
@@ -68,7 +68,6 @@ export const Checkbox = (props: Checkbox.Props) => {
68
68
  aria-describedby={ctx.helperTextId}
69
69
  aria-errormessage={ctx.errorMessageId}
70
70
  aria-invalid={ctx.isInvalid ?? false}
71
- aria-required={ctx.isRequired ?? false}
72
71
  {...restProps}
73
72
  />
74
73
  <span className={cx(styleCheck, iconStyles[size])}>
@@ -81,6 +81,9 @@ export const FileInput = (props: FileInput.Props) => {
81
81
  `
82
82
  }
83
83
 
84
+ // The accessible name comes from the associated label (LabelControl, or a label
85
+ // supplied by the caller). Do not set aria-label here: it would override that name
86
+ // and every file input on a page would announce the same thing.
84
87
  return (
85
88
  <input
86
89
  type="file"
@@ -89,9 +92,6 @@ export const FileInput = (props: FileInput.Props) => {
89
92
  aria-describedby={ctx.helperTextId}
90
93
  aria-errormessage={ctx.errorMessageId}
91
94
  aria-invalid={ctx.isInvalid ?? false}
92
- aria-required={ctx.isRequired ?? false}
93
- role="button"
94
- aria-label="File Upload"
95
95
  {...restProps}
96
96
  />
97
97
  )
@@ -32,7 +32,6 @@ export const Input = (props: Input.Props) => {
32
32
  aria-describedby={ctx.helperTextId}
33
33
  aria-errormessage={ctx.errorMessageId}
34
34
  aria-invalid={ctx.isInvalid ?? false}
35
- aria-required={ctx.isRequired ?? false}
36
35
  {...restProps}
37
36
  />
38
37
  )
@@ -66,7 +66,6 @@ export const Radio = (props: Radio.Props) => {
66
66
  aria-describedby={ctx.helperTextId}
67
67
  aria-errormessage={ctx.errorMessageId}
68
68
  aria-invalid={ctx.isInvalid ?? false}
69
- aria-required={ctx.isRequired ?? false}
70
69
  {...restProps}
71
70
  />
72
71
  <span
@@ -50,7 +50,6 @@ export const Select = (props: Select.Props) => {
50
50
  aria-describedby={ctx.helperTextId}
51
51
  aria-errormessage={ctx.errorMessageId}
52
52
  aria-invalid={ctx.isInvalid ?? false}
53
- aria-required={ctx.isRequired ?? false}
54
53
  {...restProps}
55
54
  >
56
55
  {children}
@@ -47,7 +47,6 @@ export const Textarea = (props: Textarea.Props) => {
47
47
  aria-describedby={ctx.helperTextId}
48
48
  aria-errormessage={ctx.errorMessageId}
49
49
  aria-invalid={ctx.isInvalid ?? false}
50
- aria-required={ctx.isRequired ?? false}
51
50
  onChange={onChangeHandler}
52
51
  {...restProps}
53
52
  >
@@ -34,8 +34,14 @@ describe('FieldsetControl', () => {
34
34
 
35
35
  expect(input).toBeInTheDocument()
36
36
 
37
- expect(input).toHaveAttribute('aria-describedby', 'helper-text-:r1:')
38
- expect(input).toHaveAttribute('aria-errormessage', 'error-message-:r1:')
37
+ expect(input).toHaveAttribute(
38
+ 'aria-describedby',
39
+ screen.getByText('helper').id
40
+ )
41
+ expect(input).toHaveAttribute(
42
+ 'aria-errormessage',
43
+ screen.getByText('error').id
44
+ )
39
45
 
40
46
  expect(input).toBeInvalid()
41
47
  expect(input).toHaveAttribute('aria-invalid', 'true')
@@ -2,17 +2,42 @@ import React from 'react'
2
2
  import { describe, it, expect, vi } from 'vitest'
3
3
  import { render, screen } from '@testing-library/react'
4
4
 
5
- import { FileInput } from '../src'
5
+ import { FileInput, LabelControl } from '../src'
6
6
 
7
7
  describe('FileInput', () => {
8
- it('should render a file input with a label text', async () => {
9
- render(<FileInput />)
8
+ it('should render a file input', async () => {
9
+ // input[type=file] maps to no ARIA role, so it cannot be queried by role
10
+ const { container } = render(<FileInput />)
10
11
 
11
- const input = screen.getByRole('button')
12
+ const input = container.querySelector('input[type="file"]')
12
13
 
13
14
  expect(input).toBeInTheDocument()
15
+ })
16
+
17
+ it('should take its accessible name from the surrounding label', async () => {
18
+ render(
19
+ <LabelControl labelText="添付書類">
20
+ <FileInput />
21
+ </LabelControl>
22
+ )
23
+
24
+ const input = screen.getByLabelText('添付書類')
25
+
26
+ expect(input).toBeInTheDocument()
27
+ // Asserting the accessible name rather than using getByLabelText alone:
28
+ // getByLabelText also matches aria-label, so it would still pass if the
29
+ // component set a generic name of its own and shadowed the label.
30
+ expect(input).toHaveAccessibleName('添付書類')
31
+ })
32
+
33
+ it('should be required when the label control marks it as required', async () => {
34
+ render(
35
+ <LabelControl labelText="添付書類" isRequired>
36
+ <FileInput />
37
+ </LabelControl>
38
+ )
14
39
 
15
- expect(screen.getByLabelText('File Upload')).toBeInTheDocument()
40
+ expect(screen.getByLabelText(/添付書類/)).toBeRequired()
16
41
  })
17
42
 
18
43
  it('should pass an object to the ref property', async () => {
@@ -34,8 +34,14 @@ describe('LabelControl', () => {
34
34
 
35
35
  expect(input).toBeInTheDocument()
36
36
 
37
- expect(input).toHaveAttribute('aria-describedby', 'helper-text-:r1:')
38
- expect(input).toHaveAttribute('aria-errormessage', 'error-message-:r1:')
37
+ expect(input).toHaveAttribute(
38
+ 'aria-describedby',
39
+ screen.getByText('helper').id
40
+ )
41
+ expect(input).toHaveAttribute(
42
+ 'aria-errormessage',
43
+ screen.getByText('error').id
44
+ )
39
45
 
40
46
  expect(input).toBeInvalid()
41
47
  expect(input).toHaveAttribute('aria-invalid', 'true')
@@ -3,10 +3,11 @@ import { resolve } from 'node:path'
3
3
  import { defineConfig } from 'vite'
4
4
  import react from '@vitejs/plugin-react-swc'
5
5
  import { peerDependencies } from './package.json'
6
+ import tailwindcss from '@tailwindcss/vite'
6
7
 
7
8
  // https://vitejs.dev/config/
8
9
  export default defineConfig({
9
- plugins: [react()],
10
+ plugins: [react(), tailwindcss()],
10
11
  resolve: {
11
12
  alias: {
12
13
  '@': resolve(__dirname, 'src')
@@ -1,23 +1,12 @@
1
-
2
- 
3
- > @sakura-ui/helper@0.0.5 prebuild /Users/t.fujita/Documents/Repos/sakura-ui/packages/helper
4
- > rimraf dist
5
-
6
-
7
- > @sakura-ui/helper@0.0.5 build /Users/t.fujita/Documents/Repos/sakura-ui/packages/helper
8
- > run-p build:*
9
-
10
-
11
- > @sakura-ui/helper@0.0.5 build:scripts /Users/t.fujita/Documents/Repos/sakura-ui/packages/helper
12
- > vite build
13
-
14
-
15
- > @sakura-ui/helper@0.0.5 build:types /Users/t.fujita/Documents/Repos/sakura-ui/packages/helper
16
- > tsc && tsc-alias
17
-
18
- The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
19
- vite v6.0.3 building for production...
20
- transforming (1) src/index.ts✓ 6 modules transformed.
21
- rendering chunks (1)...computing gzip size (0)...computing gzip size (1)...dist/index.es.js 2.92 kB │ gzip: 1.00 kB
22
- rendering chunks (1)...computing gzip size (1)...dist/index.cjs.js 2.75 kB │ gzip: 1.00 kB
23
- ✓ built in 68ms
1
+ $ rimraf dist
2
+ $ run-p build:*
3
+ $ vite build
4
+ $ tsc && tsc-alias
5
+ vite v7.3.6 building client environment for production...
6
+ transforming...
7
+ ✓ 6 modules transformed.
8
+ rendering chunks...
9
+ computing gzip size...
10
+ dist/index.es.js 2.90 kB │ gzip: 1.00 kB
11
+ dist/index.cjs.js 2.72 kB │ gzip: 0.99 kB
12
+ ✓ built in 247ms
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=':not([tabindex^="-"])',n=":not(:disabled)",l=[`a[href]${o}`,`area[href]${o}`,`input:not([type="hidden"])${o}${n}`,`select${o}${n}`,`textarea${o}${n}`,`button${o}${n}`,`details > summary:first-of-type${o}`,`details:not(:has(> summary))${o}`,`iframe${o}`,`audio[controls]${o}`,`video[controls]${o}`,`[contenteditable]${o}`,`[tabindex]${o}`],d=l.join(","),f=(e,i)=>(e%i+i)%i,b=(...e)=>e.filter(Boolean).join(" "),a=e=>{const i=[],c=[];let t=-1,r=-1;for(const{children:v,...s}of e){if(t<s.depth&&s.depth<=r+1){const u=s.depth-t;r=s.depth,(c[u-1].children??[]).push(s),c[u]=s;continue}i.push(s),c[0]=s,t=r=s.depth}return i};exports.Style=void 0;(e=>{e.clickable=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=':not([tabindex^="-"])',n=":not(:disabled)",d=[`a[href]${o}`,`area[href]${o}`,`input:not([type="hidden"])${o}${n}`,`select${o}${n}`,`textarea${o}${n}`,`button${o}${n}`,`details > summary:first-of-type${o}`,`details:not(:has(> summary))${o}`,`iframe${o}`,`audio[controls]${o}`,`video[controls]${o}`,`[contenteditable]${o}`,`[tabindex]${o}`],f=d.join(","),a=(e,s)=>(e%s+s)%s,b=(...e)=>e.filter(Boolean).join(" "),h=e=>{const s=[],c=[];let t=-1,r=-1;for(const{children:v,...i}of e){if(t<i.depth&&i.depth<=r+1){const l=i.depth-t;r=i.depth;const u=c[l-1];u.children??=[],u.children.push(i),c[l]=i;continue}s.push(i),c[0]=i,t=r=i.depth}return s};exports.Style=void 0;(e=>{e.clickable=`
2
2
  px-2
3
3
  min-h-[calc(44/16*1rem)]
4
4
  border
@@ -8,13 +8,12 @@
8
8
  `,e.selected=`
9
9
  rounded-full
10
10
  bg-yellow-50
11
- `;const i=`
12
- focus-visible:outline
11
+ `;const s=`
13
12
  focus-visible:outline-4
14
13
  focus-visible:outline-black
15
14
  focus-visible:ring-yellow-300
16
15
  `;e.focusRectCondensed=`
17
- ${i}
16
+ ${s}
18
17
  focus-visible:-outline-offset-4
19
18
  focus-visible:ring-[calc(6/16*1rem)]
20
19
  focus-visible:ring-inset
@@ -22,12 +21,12 @@
22
21
  ${e.focusRectCondensed}
23
22
  focus-visible:bg-yellow-300
24
23
  `,e.focusRect=`
25
- ${i}
24
+ ${s}
26
25
  focus-visible:outline-offset-[calc(2/16*1rem)]
27
26
  focus-visible:ring-[calc(2/16*1rem)]
28
27
  `,e.focusRounded=`
29
28
  ${e.focusRect}
30
- focus-visible:rounded
29
+ focus-visible:rounded-sm
31
30
  `,e.focusCard=`
32
31
  ${e.focusRect}
33
32
  focus-visible:rounded-2xl
@@ -37,7 +36,7 @@
37
36
  focus-visible:bg-yellow-300
38
37
  `,e.focusRoundedWithBg=`
39
38
  ${e.focusRectWithBg}
40
- focus-visible:rounded
39
+ focus-visible:rounded-sm
41
40
  `,e.hoverUnderline=`
42
41
  hover:underline
43
42
  hover:underline-offset-[calc(3/16*1rem)]
@@ -67,7 +66,6 @@
67
66
  top-11
68
67
  left-0
69
68
  `,(c=>{c.focus=`
70
- peer-focus-visible:outline
71
69
  peer-focus-visible:outline-4
72
70
  peer-focus-visible:outline-black
73
71
  peer-focus-visible:ring-yellow-300
@@ -75,4 +73,4 @@
75
73
  ${c.focus}
76
74
  peer-focus-visible:outline-offset-[calc(2/16*1rem)]
77
75
  peer-focus-visible:ring-[calc(2/16*1rem)]
78
- `})(e.Peer||(e.Peer={}))})(exports.Style||(exports.Style={}));exports.cx=b;exports.focusableSelector=d;exports.mod=f;exports.treefy=a;
76
+ `})(e.Peer||(e.Peer={}))})(exports.Style||(exports.Style={}));exports.cx=b;exports.focusableSelector=f;exports.mod=a;exports.treefy=h;