@simplysm/solid 13.0.70 → 13.0.71

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 (98) hide show
  1. package/README.md +1 -1
  2. package/dist/components/disclosure/Dropdown.d.ts +6 -4
  3. package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
  4. package/dist/components/disclosure/Dropdown.js +24 -8
  5. package/dist/components/disclosure/Dropdown.js.map +2 -2
  6. package/dist/components/disclosure/dialogZIndex.d.ts +2 -0
  7. package/dist/components/disclosure/dialogZIndex.d.ts.map +1 -1
  8. package/dist/components/disclosure/dialogZIndex.js +4 -0
  9. package/dist/components/disclosure/dialogZIndex.js.map +1 -1
  10. package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
  11. package/dist/components/features/crud-detail/CrudDetail.js +16 -7
  12. package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
  13. package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
  14. package/dist/components/features/crud-sheet/CrudSheet.js +14 -5
  15. package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
  16. package/dist/components/features/crudRegistry.d.ts +16 -0
  17. package/dist/components/features/crudRegistry.d.ts.map +1 -0
  18. package/dist/components/features/crudRegistry.js +37 -0
  19. package/dist/components/features/crudRegistry.js.map +6 -0
  20. package/dist/components/features/permission-table/PermissionTable.d.ts.map +1 -1
  21. package/dist/components/features/permission-table/PermissionTable.js +71 -86
  22. package/dist/components/features/permission-table/PermissionTable.js.map +2 -2
  23. package/dist/components/features/shared-data/SharedDataSelect.js +2 -4
  24. package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
  25. package/dist/components/features/shared-data/SharedDataSelectList.d.ts +2 -4
  26. package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
  27. package/dist/components/features/shared-data/SharedDataSelectList.js +11 -46
  28. package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
  29. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  30. package/dist/components/form-control/select/Select.js +1 -1
  31. package/dist/components/form-control/select/Select.js.map +1 -1
  32. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  33. package/dist/helpers/createAppStructure.js +3 -2
  34. package/dist/helpers/createAppStructure.js.map +1 -1
  35. package/dist/helpers/createHmrSafeContext.d.ts +3 -0
  36. package/dist/helpers/createHmrSafeContext.d.ts.map +1 -0
  37. package/dist/helpers/createHmrSafeContext.js +10 -0
  38. package/dist/helpers/createHmrSafeContext.js.map +6 -0
  39. package/dist/hooks/createSelectionGroup.d.ts.map +1 -1
  40. package/dist/hooks/createSelectionGroup.js +3 -2
  41. package/dist/hooks/createSelectionGroup.js.map +2 -2
  42. package/package.json +6 -5
  43. package/src/components/disclosure/Dropdown.tsx +31 -17
  44. package/src/components/disclosure/dialogZIndex.ts +5 -0
  45. package/src/components/features/crud-detail/CrudDetail.tsx +16 -5
  46. package/src/components/features/crud-sheet/CrudSheet.tsx +13 -3
  47. package/src/components/features/crudRegistry.ts +60 -0
  48. package/src/components/features/permission-table/PermissionTable.tsx +49 -46
  49. package/src/components/features/shared-data/SharedDataSelect.tsx +2 -2
  50. package/src/components/features/shared-data/SharedDataSelectList.tsx +11 -36
  51. package/src/components/form-control/select/Select.tsx +1 -5
  52. package/src/helpers/createAppStructure.ts +3 -2
  53. package/src/helpers/createHmrSafeContext.ts +8 -0
  54. package/src/hooks/createSelectionGroup.tsx +4 -2
  55. package/tests/components/data/List.spec.tsx +52 -52
  56. package/tests/components/data/Pagination.spec.tsx +43 -43
  57. package/tests/components/data/Table.spec.tsx +4 -4
  58. package/tests/components/data/kanban/Kanban.selection.spec.tsx +21 -21
  59. package/tests/components/data/sheet/DataSheet.spec.tsx +50 -50
  60. package/tests/components/disclosure/Collapse.spec.tsx +24 -24
  61. package/tests/components/disclosure/Dialog.spec.tsx +33 -33
  62. package/tests/components/disclosure/DialogProvider.spec.tsx +9 -9
  63. package/tests/components/disclosure/Dropdown.spec.tsx +134 -14
  64. package/tests/components/disclosure/Tabs.spec.tsx +21 -21
  65. package/tests/components/disclosure/dialogZIndex.spec.ts +45 -0
  66. package/tests/components/display/Alert.spec.tsx +4 -4
  67. package/tests/components/display/Barcode.spec.tsx +7 -7
  68. package/tests/components/display/Card.spec.tsx +3 -3
  69. package/tests/components/display/Link.spec.tsx +5 -5
  70. package/tests/components/display/Tag.spec.tsx +4 -4
  71. package/tests/components/features/address/AddressSearch.spec.tsx +3 -3
  72. package/tests/components/features/crudRegistry.spec.ts +119 -0
  73. package/tests/components/features/data-select-button/DataSelectButton.spec.tsx +8 -8
  74. package/tests/components/features/permission-table/PermissionTable.spec.tsx +43 -43
  75. package/tests/components/features/shared-data/SharedDataSelectList.spec.tsx +2 -17
  76. package/tests/components/feedback/busy/BusyContainer.spec.tsx +7 -7
  77. package/tests/components/feedback/notification/NotificationBell.spec.tsx +9 -9
  78. package/tests/components/feedback/print/Print.spec.tsx +4 -4
  79. package/tests/components/form-control/Button.spec.tsx +18 -18
  80. package/tests/components/form-control/checkbox/Checkbox.spec.tsx +20 -20
  81. package/tests/components/form-control/checkbox/CheckboxGroup.spec.tsx +12 -12
  82. package/tests/components/form-control/checkbox/Radio.spec.tsx +21 -21
  83. package/tests/components/form-control/checkbox/RadioGroup.spec.tsx +12 -12
  84. package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +10 -10
  85. package/tests/components/form-control/combobox/Combobox.spec.tsx +16 -16
  86. package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +7 -7
  87. package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +24 -24
  88. package/tests/components/form-control/field/DatePicker.spec.tsx +50 -50
  89. package/tests/components/form-control/field/DateTimePicker.spec.tsx +47 -47
  90. package/tests/components/form-control/field/NumberInput.spec.tsx +54 -54
  91. package/tests/components/form-control/field/TextInput.spec.tsx +49 -49
  92. package/tests/components/form-control/field/Textarea.spec.tsx +33 -33
  93. package/tests/components/form-control/field/TimePicker.spec.tsx +42 -42
  94. package/tests/components/form-control/numpad/Numpad.spec.tsx +40 -40
  95. package/tests/components/form-control/select/Select.spec.tsx +9 -9
  96. package/tests/components/form-control/select/SelectItem.spec.tsx +10 -10
  97. package/tests/helpers/createAppStructure.spec.tsx +57 -57
  98. package/tests/helpers/mergeStyles.spec.ts +31 -31
@@ -2,20 +2,20 @@ import { describe, it, expect } from "vitest";
2
2
  import { mergeStyles } from "../../src/helpers/mergeStyles";
3
3
 
4
4
  describe("mergeStyles", () => {
5
- describe("object 스타일 병합", () => {
6
- it("여러 object 스타일을 병합", () => {
5
+ describe("object style merging", () => {
6
+ it("merges multiple object styles", () => {
7
7
  const result = mergeStyles({ color: "red" }, { background: "blue" });
8
8
 
9
9
  expect(result).toEqual({ color: "red", background: "blue" });
10
10
  });
11
11
 
12
- it("동일 속성은 나중 값이 우선", () => {
12
+ it("later value takes priority for same property", () => {
13
13
  const result = mergeStyles({ color: "red" }, { color: "blue" });
14
14
 
15
15
  expect(result).toEqual({ color: "blue" });
16
16
  });
17
17
 
18
- it("여러 속성을 가진 object 병합", () => {
18
+ it("merges objects with multiple properties", () => {
19
19
  const result = mergeStyles(
20
20
  { "color": "red", "font-size": "14px" },
21
21
  { background: "blue", padding: "10px" },
@@ -30,80 +30,80 @@ describe("mergeStyles", () => {
30
30
  });
31
31
  });
32
32
 
33
- describe("string 스타일 파싱 병합", () => {
34
- it("단일 string 스타일 파싱", () => {
33
+ describe("string style parsing and merging", () => {
34
+ it("parses single string style", () => {
35
35
  const result = mergeStyles("color: red;");
36
36
 
37
37
  expect(result).toEqual({ color: "red" });
38
38
  });
39
39
 
40
- it("여러 선언이 있는 string 스타일 파싱", () => {
40
+ it("parses string style with multiple declarations", () => {
41
41
  const result = mergeStyles("color: red; background: blue;");
42
42
 
43
43
  expect(result).toEqual({ color: "red", background: "blue" });
44
44
  });
45
45
 
46
- it("여러 string 스타일 병합", () => {
46
+ it("merges multiple string styles", () => {
47
47
  const result = mergeStyles("color: red;", "background: blue;");
48
48
 
49
49
  expect(result).toEqual({ color: "red", background: "blue" });
50
50
  });
51
51
 
52
- it("세미콜론 없는 마지막 선언도 파싱", () => {
52
+ it("parses last declaration without semicolon", () => {
53
53
  const result = mergeStyles("color: red; background: blue");
54
54
 
55
55
  expect(result).toEqual({ color: "red", background: "blue" });
56
56
  });
57
57
  });
58
58
 
59
- describe("kebab-case to camelCase 변환", () => {
60
- it("kebab-case 속성을 camelCase로 변환", () => {
59
+ describe("kebab-case to camelCase conversion", () => {
60
+ it("converts kebab-case property to camelCase", () => {
61
61
  const result = mergeStyles("background-color: red;");
62
62
 
63
63
  expect(result).toEqual({ backgroundColor: "red" });
64
64
  });
65
65
 
66
- it("여러 하이픈이 있는 속성 변환", () => {
66
+ it("converts property with multiple hyphens", () => {
67
67
  const result = mergeStyles("border-top-width: 1px;");
68
68
 
69
69
  expect(result).toEqual({ borderTopWidth: "1px" });
70
70
  });
71
71
 
72
- it("font-size, max-width 등 일반적인 속성 변환", () => {
72
+ it("converts common properties like font-size and max-width", () => {
73
73
  const result = mergeStyles("font-size: 14px; max-width: 100%;");
74
74
 
75
75
  expect(result).toEqual({ fontSize: "14px", maxWidth: "100%" });
76
76
  });
77
77
  });
78
78
 
79
- describe("mixed 스타일 병합 (string + object)", () => {
80
- it("string object 함께 병합", () => {
79
+ describe("mixed style merging (string + object)", () => {
80
+ it("merges string and object together", () => {
81
81
  const result = mergeStyles({ color: "red" }, "background: blue;");
82
82
 
83
83
  expect(result).toEqual({ color: "red", background: "blue" });
84
84
  });
85
85
 
86
- it("object와 string 순서 상관없이 병합", () => {
86
+ it("merges regardless of object/string order", () => {
87
87
  const result = mergeStyles("color: red;", { background: "blue" });
88
88
 
89
89
  expect(result).toEqual({ color: "red", background: "blue" });
90
90
  });
91
91
 
92
- it("string object를 덮어쓸 수 있음", () => {
92
+ it("string can override object", () => {
93
93
  const result = mergeStyles({ color: "red" }, "color: blue;");
94
94
 
95
95
  expect(result).toEqual({ color: "blue" });
96
96
  });
97
97
  });
98
98
 
99
- describe("undefined 값 처리", () => {
100
- it("undefined는 무시", () => {
99
+ describe("undefined handling", () => {
100
+ it("ignores undefined", () => {
101
101
  const result = mergeStyles(undefined, { color: "red" });
102
102
 
103
103
  expect(result).toEqual({ color: "red" });
104
104
  });
105
105
 
106
- it("여러 undefined가 있어도 정상 동작", () => {
106
+ it("works correctly with multiple undefineds", () => {
107
107
  const result = mergeStyles(
108
108
  undefined,
109
109
  { color: "red" },
@@ -115,55 +115,55 @@ describe("mergeStyles", () => {
115
115
  expect(result).toEqual({ color: "red", background: "blue" });
116
116
  });
117
117
 
118
- it("모두 undefined면 객체 반환", () => {
118
+ it("returns empty object when all are undefined", () => {
119
119
  const result = mergeStyles(undefined, undefined);
120
120
 
121
121
  expect(result).toEqual({});
122
122
  });
123
123
  });
124
124
 
125
- describe(" 문자열 처리", () => {
126
- it(" 문자열은 객체와 동일하게 처리", () => {
125
+ describe("empty string handling", () => {
126
+ it("treats empty string same as empty object", () => {
127
127
  const result = mergeStyles("", { color: "red" });
128
128
 
129
129
  expect(result).toEqual({ color: "red" });
130
130
  });
131
131
 
132
- it("공백만 있는 문자열도 정상 처리", () => {
132
+ it("handles whitespace-only string correctly", () => {
133
133
  const result = mergeStyles(" ", { color: "red" });
134
134
 
135
135
  expect(result).toEqual({ color: "red" });
136
136
  });
137
137
  });
138
138
 
139
- describe(" 덮어쓰기 (나중 우선)", () => {
140
- it("여러 스타일에서 동일 속성이 있으면 마지막 적용", () => {
139
+ describe("value overwriting (last value wins)", () => {
140
+ it("applies last value when same property exists in multiple styles", () => {
141
141
  const result = mergeStyles({ color: "red" }, { color: "green" }, { color: "blue" });
142
142
 
143
143
  expect(result).toEqual({ color: "blue" });
144
144
  });
145
145
 
146
- it("string과 object 혼합 시에도 순서대로 덮어쓰기", () => {
146
+ it("overwrites in order with mixed string and object", () => {
147
147
  const result = mergeStyles("color: red;", { color: "green" }, "color: blue;");
148
148
 
149
149
  expect(result).toEqual({ color: "blue" });
150
150
  });
151
151
  });
152
152
 
153
- describe("엣지 케이스", () => {
154
- it("콜론이 값에 포함된 경우 (URL)", () => {
153
+ describe("edge cases", () => {
154
+ it("handles colon in value (e.g., URL)", () => {
155
155
  const result = mergeStyles("background-image: url(http://example.com);");
156
156
 
157
157
  expect(result).toEqual({ backgroundImage: "url(http://example.com)" });
158
158
  });
159
159
 
160
- it(" 선언은 무시", () => {
160
+ it("ignores empty declarations", () => {
161
161
  const result = mergeStyles("color: red; ; background: blue;");
162
162
 
163
163
  expect(result).toEqual({ color: "red", background: "blue" });
164
164
  });
165
165
 
166
- it("속성만 있고 값이 없으면 무시", () => {
166
+ it("ignores declarations with property but no value", () => {
167
167
  const result = mergeStyles("color:; background: blue;");
168
168
 
169
169
  expect(result).toEqual({ background: "blue" });