@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,7 +2,7 @@ import { render, fireEvent, waitFor } from "@solidjs/testing-library";
2
2
  import { describe, it, expect, vi, beforeEach } from "vitest";
3
3
  import { Combobox } from "../../../../src/components/form-control/combobox/Combobox";
4
4
 
5
- describe("Combobox 컴포넌트", () => {
5
+ describe("Combobox component", () => {
6
6
  const mockLoadItems = vi.fn(() => Promise.resolve([]));
7
7
 
8
8
  beforeEach(() => {
@@ -29,7 +29,7 @@ describe("Combobox 컴포넌트", () => {
29
29
  expect(input?.getAttribute("placeholder")).toBe("검색하세요");
30
30
  });
31
31
 
32
- it("input autocomplete 기본값은 one-time-code이다", () => {
32
+ it("defaults input autocomplete to one-time-code", () => {
33
33
  const { container } = render(() => (
34
34
  <Combobox loadItems={mockLoadItems} renderValue={(v) => <>{v}</>} />
35
35
  ));
@@ -37,7 +37,7 @@ describe("Combobox 컴포넌트", () => {
37
37
  expect(input.autocomplete).toBe("one-time-code");
38
38
  });
39
39
 
40
- it("disabled일 aria-disabled 설정된다", () => {
40
+ it("sets aria-disabled when disabled", () => {
41
41
  const { getByRole } = render(() => (
42
42
  <Combobox loadItems={mockLoadItems} disabled renderValue={(v) => <>{v}</>} />
43
43
  ));
@@ -46,7 +46,7 @@ describe("Combobox 컴포넌트", () => {
46
46
  });
47
47
 
48
48
  describe("dropdown opening/closing", () => {
49
- it("입력 드롭다운이 열린다", async () => {
49
+ it("opens dropdown on input", async () => {
50
50
  const loadItems = vi.fn(() => Promise.resolve([{ id: 1, name: "사과" }]));
51
51
  const { container } = render(() => (
52
52
  <Combobox loadItems={loadItems} renderValue={(v: { name: string }) => <>{v.name}</>} />
@@ -60,7 +60,7 @@ describe("Combobox 컴포넌트", () => {
60
60
  });
61
61
  });
62
62
 
63
- it("아이템 선택 드롭다운이 닫힌다", async () => {
63
+ it("closes dropdown when item is selected", async () => {
64
64
  const loadItems = vi.fn(() => Promise.resolve([{ id: 1, name: "사과" }]));
65
65
  const { container, getByRole } = render(() => (
66
66
  <Combobox loadItems={loadItems} renderValue={(v: { name: string }) => <>{v.name}</>} />
@@ -81,7 +81,7 @@ describe("Combobox 컴포넌트", () => {
81
81
  });
82
82
  });
83
83
 
84
- it("Escape 키로 드롭다운이 닫힌다", async () => {
84
+ it("closes dropdown with Escape key", async () => {
85
85
  const loadItems = vi.fn(() => Promise.resolve([{ id: 1, name: "사과" }]));
86
86
  const { container, getByRole } = render(() => (
87
87
  <Combobox loadItems={loadItems} renderValue={(v: { name: string }) => <>{v.name}</>} />
@@ -102,8 +102,8 @@ describe("Combobox 컴포넌트", () => {
102
102
  });
103
103
  });
104
104
 
105
- describe(" 선택", () => {
106
- it("아이템 선택 onValueChange가 호출된다", async () => {
105
+ describe("value selection", () => {
106
+ it("calls onValueChange when item is selected", async () => {
107
107
  const handleChange = vi.fn();
108
108
  const loadItems = vi.fn(() => Promise.resolve([{ id: 1, name: "사과" }]));
109
109
 
@@ -129,8 +129,8 @@ describe("Combobox 컴포넌트", () => {
129
129
  });
130
130
  });
131
131
 
132
- describe("디바운스", () => {
133
- it("입력 디바운스 시간이 지나면 loadItems가 호출된다", async () => {
132
+ describe("debounce", () => {
133
+ it("calls loadItems after debounce delay", async () => {
134
134
  const loadItems = vi.fn(() => Promise.resolve([{ id: 1, name: "결과" }]));
135
135
 
136
136
  const { container } = render(() => (
@@ -144,7 +144,7 @@ describe("Combobox 컴포넌트", () => {
144
144
  const input = container.querySelector("input")!;
145
145
  fireEvent.input(input, { target: { value: "검색어" } });
146
146
 
147
- // 디바운스 loadItems가 호출됨
147
+ // loadItems is called after debounce
148
148
  await waitFor(
149
149
  () => {
150
150
  expect(loadItems).toHaveBeenCalledWith("검색어");
@@ -155,7 +155,7 @@ describe("Combobox 컴포넌트", () => {
155
155
  });
156
156
 
157
157
  describe("allowCustomValue", () => {
158
- it("allowCustomValue가 true일 Enter 커스텀 입력 가능", () => {
158
+ it("allows entering custom value with Enter when allowCustomValue is true", () => {
159
159
  const handleChange = vi.fn();
160
160
  const loadItems = vi.fn(() => Promise.resolve([]));
161
161
 
@@ -175,7 +175,7 @@ describe("Combobox 컴포넌트", () => {
175
175
  expect(handleChange).toHaveBeenCalledWith("새로운 값");
176
176
  });
177
177
 
178
- it("parseCustomValue로 커스텀 값을 변환할 수 있다", () => {
178
+ it("transforms custom value using parseCustomValue", () => {
179
179
  const handleChange = vi.fn();
180
180
  const loadItems = vi.fn(() => Promise.resolve([]));
181
181
 
@@ -211,7 +211,7 @@ describe("Combobox 컴포넌트", () => {
211
211
  expect(hiddenInput.validationMessage).toBe("This field is required");
212
212
  });
213
213
 
214
- it("required 값이 있으면 유효하다", () => {
214
+ it("is valid when required and value exists", () => {
215
215
  const { container } = render(() => (
216
216
  <Combobox
217
217
  loadItems={mockLoadItems}
@@ -224,7 +224,7 @@ describe("Combobox 컴포넌트", () => {
224
224
  expect(hiddenInput.validity.valid).toBe(true);
225
225
  });
226
226
 
227
- it("validate 함수가 에러를 반환하면 해당 메시지가 설정된다", () => {
227
+ it("sets error message returned by validate function", () => {
228
228
  const { container } = render(() => (
229
229
  <Combobox
230
230
  loadItems={mockLoadItems}
@@ -237,7 +237,7 @@ describe("Combobox 컴포넌트", () => {
237
237
  expect(hiddenInput.validationMessage).toBe("허용되지 않는 값입니다");
238
238
  });
239
239
 
240
- it("validate 함수가 undefined를 반환하면 유효하다", () => {
240
+ it("is valid when validate function returns undefined", () => {
241
241
  const { container } = render(() => (
242
242
  <Combobox
243
243
  loadItems={mockLoadItems}
@@ -16,8 +16,8 @@ const createMockContext = (
16
16
  ...overrides,
17
17
  });
18
18
 
19
- describe("ComboboxItem 컴포넌트", () => {
20
- it("아이템이 렌더링된다", () => {
19
+ describe("ComboboxItem component", () => {
20
+ it("renders the item", () => {
21
21
  const { getByRole } = render(() => (
22
22
  <ComboboxContext.Provider value={createMockContext()}>
23
23
  <ComboboxItem value="apple">사과</ComboboxItem>
@@ -28,7 +28,7 @@ describe("ComboboxItem 컴포넌트", () => {
28
28
  expect(getByRole("option").textContent).toContain("사과");
29
29
  });
30
30
 
31
- it("클릭 selectValue 호출된다", () => {
31
+ it("calls selectValue on click", () => {
32
32
  const selectValue = vi.fn();
33
33
  const { getByRole } = render(() => (
34
34
  <ComboboxContext.Provider value={createMockContext({ selectValue })}>
@@ -40,7 +40,7 @@ describe("ComboboxItem 컴포넌트", () => {
40
40
  expect(selectValue).toHaveBeenCalledWith("apple");
41
41
  });
42
42
 
43
- it("선택된 상태일 때 aria-selected true", () => {
43
+ it("sets aria-selected=true when selected", () => {
44
44
  const { getByRole } = render(() => (
45
45
  <ComboboxContext.Provider value={createMockContext({ isSelected: () => true })}>
46
46
  <ComboboxItem value="apple">사과</ComboboxItem>
@@ -50,7 +50,7 @@ describe("ComboboxItem 컴포넌트", () => {
50
50
  expect(getByRole("option").getAttribute("aria-selected")).toBe("true");
51
51
  });
52
52
 
53
- it("disabled일 클릭이 동작하지 않는다", () => {
53
+ it("does not respond to click when disabled", () => {
54
54
  const selectValue = vi.fn();
55
55
  const { getByRole } = render(() => (
56
56
  <ComboboxContext.Provider value={createMockContext({ selectValue })}>
@@ -64,7 +64,7 @@ describe("ComboboxItem 컴포넌트", () => {
64
64
  expect(selectValue).not.toHaveBeenCalled();
65
65
  });
66
66
 
67
- it("클릭 closeDropdown 호출된다", () => {
67
+ it("calls closeDropdown on click", () => {
68
68
  const closeDropdown = vi.fn();
69
69
  const { getByRole } = render(() => (
70
70
  <ComboboxContext.Provider value={createMockContext({ closeDropdown })}>
@@ -76,7 +76,7 @@ describe("ComboboxItem 컴포넌트", () => {
76
76
  expect(closeDropdown).toHaveBeenCalled();
77
77
  });
78
78
 
79
- it("data-combobox-item 속성이 설정된다", () => {
79
+ it("sets data-combobox-item attribute", () => {
80
80
  render(() => (
81
81
  <ComboboxContext.Provider value={createMockContext()}>
82
82
  <ComboboxItem value="apple">사과</ComboboxItem>
@@ -5,7 +5,7 @@ import { DateRangePicker } from "../../../../src/components/form-control/date-ra
5
5
  import { I18nProvider } from "../../../../src/providers/i18n/I18nContext";
6
6
  import { ConfigProvider } from "../../../../src/providers/ConfigContext";
7
7
 
8
- describe("DateRangePicker 컴포넌트", () => {
8
+ describe("DateRangePicker component", () => {
9
9
  beforeEach(() => {
10
10
  localStorage.setItem("test.i18n-locale", JSON.stringify("en"));
11
11
  });
@@ -15,7 +15,7 @@ describe("DateRangePicker 컴포넌트", () => {
15
15
  });
16
16
 
17
17
  describe("basic rendering", () => {
18
- it("Select DatePicker가 렌더링된다", () => {
18
+ it("renders Select and DatePicker", () => {
19
19
  const { container } = render(() => (
20
20
  <ConfigProvider clientName="test"><I18nProvider>
21
21
  <DateRangePicker />
@@ -32,7 +32,7 @@ describe("DateRangePicker 컴포넌트", () => {
32
32
  expect(inputs?.length).toBeGreaterThan(0);
33
33
  });
34
34
 
35
- it("기본 periodType 'range'이다", () => {
35
+ it("defaults periodType to 'range'", () => {
36
36
  const { container } = render(() => (
37
37
  <ConfigProvider clientName="test"><I18nProvider>
38
38
  <DateRangePicker />
@@ -40,14 +40,14 @@ describe("DateRangePicker 컴포넌트", () => {
40
40
  ));
41
41
  const wrapper = container.querySelector("[data-date-range-picker]");
42
42
 
43
- // 범위 모드에서는 DatePicker 2개가 렌더링됨
43
+ // range mode renders 2 DatePickers
44
44
  const inputs = wrapper?.querySelectorAll("input[type='date']");
45
45
  expect(inputs?.length).toBe(2);
46
46
  });
47
47
  });
48
48
 
49
- describe("'range' 모드 렌더링", () => {
50
- it("DatePicker 2개와 '~' 구분자가 렌더링된다", () => {
49
+ describe("'range' mode rendering", () => {
50
+ it("renders 2 DatePickers and a '~' separator", () => {
51
51
  const { container } = render(() => (
52
52
  <ConfigProvider clientName="test"><I18nProvider>
53
53
  <DateRangePicker periodType="range" />
@@ -58,13 +58,13 @@ describe("DateRangePicker 컴포넌트", () => {
58
58
  const inputs = wrapper?.querySelectorAll("input[type='date']");
59
59
  expect(inputs?.length).toBe(2);
60
60
 
61
- // "~" 구분자 확인
61
+ // verify "~" separator
62
62
  expect(wrapper?.textContent).toContain("~");
63
63
  });
64
64
  });
65
65
 
66
- describe("'day' 모드 렌더링", () => {
67
- it("DatePicker 1개(type=date) 렌더링되고 '~'가 없다", () => {
66
+ describe("'day' mode rendering", () => {
67
+ it("renders 1 DatePicker (type=date) with no '~'", () => {
68
68
  const { container } = render(() => (
69
69
  <ConfigProvider clientName="test"><I18nProvider>
70
70
  <DateRangePicker periodType="day" />
@@ -75,14 +75,14 @@ describe("DateRangePicker 컴포넌트", () => {
75
75
  const dateInputs = wrapper?.querySelectorAll("input[type='date']");
76
76
  expect(dateInputs?.length).toBe(1);
77
77
 
78
- // "~" 구분자가 없어야
78
+ // "~" separator must not be present
79
79
  const textNodes = wrapper?.textContent ?? "";
80
80
  expect(textNodes).not.toContain("~");
81
81
  });
82
82
  });
83
83
 
84
- describe("'month' 모드 렌더링", () => {
85
- it("DatePicker 1개(type=month) 렌더링되고 '~'가 없다", () => {
84
+ describe("'month' mode rendering", () => {
85
+ it("renders 1 DatePicker (type=month) with no '~'", () => {
86
86
  const { container } = render(() => (
87
87
  <ConfigProvider clientName="test"><I18nProvider>
88
88
  <DateRangePicker periodType="month" />
@@ -93,17 +93,17 @@ describe("DateRangePicker 컴포넌트", () => {
93
93
  const monthInputs = wrapper?.querySelectorAll("input[type='month']");
94
94
  expect(monthInputs?.length).toBe(1);
95
95
 
96
- // date 타입 input이 없어야 함
96
+ // no date-type inputs
97
97
  const dateInputs = wrapper?.querySelectorAll("input[type='date']");
98
98
  expect(dateInputs?.length).toBe(0);
99
99
 
100
- // "~" 구분자가 없어야
100
+ // "~" separator must not be present
101
101
  expect(wrapper?.textContent).not.toContain("~");
102
102
  });
103
103
  });
104
104
 
105
- describe("from 변경 - 'day' 모드", () => {
106
- it("from 변경 onToChange도 같은 값으로 호출된다", () => {
105
+ describe("from change - 'day' mode", () => {
106
+ it("calls onToChange with the same value when from changes", () => {
107
107
  const onFromChange = vi.fn();
108
108
  const onToChange = vi.fn();
109
109
 
@@ -122,22 +122,22 @@ describe("DateRangePicker 컴포넌트", () => {
122
122
  const wrapper = container.querySelector("[data-date-range-picker]");
123
123
  const input = wrapper?.querySelector("input[type='date']") as HTMLInputElement;
124
124
 
125
- // input에 값을 입력하여 from 변경 트리거
125
+ // trigger from change by inputting a new value
126
126
  input.value = "2025-06-15";
127
127
  input.dispatchEvent(new Event("change", { bubbles: true }));
128
128
 
129
- // "day" 모드에서는 from 변경 to 같은 값으로 설정됨
129
+ // in "day" mode, to is set to the same value as from
130
130
  const expectedDate = new DateOnly(2025, 6, 15);
131
131
  expect(onToChange).toHaveBeenCalledWith(expectedDate);
132
132
  });
133
133
  });
134
134
 
135
- describe("from 변경 - 'range' 모드", () => {
136
- it("from > to이면 onToChange(from) 호출된다", () => {
135
+ describe("from change - 'range' mode", () => {
136
+ it("calls onToChange(from) when from > to", () => {
137
137
  const onFromChange = vi.fn();
138
138
  const onToChange = vi.fn();
139
139
  const originalTo = new DateOnly(2025, 3, 1);
140
- const newFrom = new DateOnly(2025, 6, 15); // to보다
140
+ const newFrom = new DateOnly(2025, 6, 15); // greater than to
141
141
 
142
142
  const { container } = render(() => (
143
143
  <ConfigProvider clientName="test"><I18nProvider>
@@ -155,18 +155,18 @@ describe("DateRangePicker 컴포넌트", () => {
155
155
  const inputs = wrapper?.querySelectorAll("input[type='date']");
156
156
  const fromInput = inputs?.[0] as HTMLInputElement;
157
157
 
158
- // from input에 to보다 날짜 입력
158
+ // enter a date greater than to into from input
159
159
  expect(fromInput).toBeDefined();
160
160
  fromInput.value = "2025-06-15";
161
161
  fromInput.dispatchEvent(new Event("change", { bubbles: true }));
162
162
 
163
- // from > to이므로 to from 값으로 변경되어야
163
+ // since from > to, to must be updated to match from
164
164
  expect(onToChange).toHaveBeenCalledWith(newFrom);
165
165
  });
166
166
  });
167
167
 
168
168
  describe("disabled state", () => {
169
- it("Select에 aria-disabled 적용된다", () => {
169
+ it("applies aria-disabled to Select", () => {
170
170
  const { container } = render(() => <DateRangePicker disabled />);
171
171
  const wrapper = container.querySelector("[data-date-range-picker]");
172
172