@react-md/core 6.3.2 → 6.3.3
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.
package/dist/_utils.scss
CHANGED
|
@@ -272,7 +272,6 @@ $_swappable-properties: text-align;
|
|
|
272
272
|
@mixin _sr-only-focusable {
|
|
273
273
|
&:active,
|
|
274
274
|
&:focus {
|
|
275
|
-
clip: auto;
|
|
276
275
|
clip-path: none;
|
|
277
276
|
height: auto;
|
|
278
277
|
margin: auto;
|
|
@@ -294,7 +293,6 @@ $_swappable-properties: text-align;
|
|
|
294
293
|
/// the element has been focused
|
|
295
294
|
@mixin sr-only($focusable: false, $focus-selector: "&--focusable") {
|
|
296
295
|
border: 0;
|
|
297
|
-
clip: rect(1px, 1px, 1px, 1px);
|
|
298
296
|
clip-path: inset(50%);
|
|
299
297
|
height: 1px;
|
|
300
298
|
margin: -1px;
|
|
@@ -59,7 +59,7 @@ export declare function findSliderTestElements(options: GetPartsByRoleOptions):
|
|
|
59
59
|
/**
|
|
60
60
|
* @since 6.0.0
|
|
61
61
|
*/
|
|
62
|
-
export interface
|
|
62
|
+
export interface GetRangeSliderTestElementsOptions {
|
|
63
63
|
/** @defaultValue `screen` */
|
|
64
64
|
container?: BoundFunctions<typeof queries>;
|
|
65
65
|
/** @defaultValue `{ name: "Min" }` */
|
|
@@ -118,9 +118,9 @@ export interface RangeSliderTestElements {
|
|
|
118
118
|
*
|
|
119
119
|
* @since 6.0.0
|
|
120
120
|
*/
|
|
121
|
-
export declare function getRangeSliderTestElements(options?:
|
|
121
|
+
export declare function getRangeSliderTestElements(options?: GetRangeSliderTestElementsOptions): RangeSliderTestElements;
|
|
122
122
|
/**
|
|
123
123
|
* @see {@link getRangeSliderTestElements}
|
|
124
124
|
* @since 6.0.0
|
|
125
125
|
*/
|
|
126
|
-
export declare function findRangeSliderTestElements(options?:
|
|
126
|
+
export declare function findRangeSliderTestElements(options?: GetRangeSliderTestElementsOptions): Promise<RangeSliderTestElements>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/test-utils/queries/slider.ts"],"sourcesContent":["import {\n type BoundFunctions,\n type ByRoleOptions,\n type queries,\n screen,\n} from \"@testing-library/dom\";\n\nimport { type GetPartsByRoleOptions } from \"./types.js\";\n\ntype Elements = Omit<SliderTestElements, \"slider\">;\n\nfunction getElements(slider: HTMLSpanElement): Elements {\n const sliderInput = slider.nextElementSibling;\n const sliderTrack = slider.parentElement;\n const sliderContainer = sliderTrack?.parentElement;\n if (!(sliderInput instanceof HTMLInputElement)) {\n throw new Error(\"Unable to find the `Slider` input element\");\n }\n if (\n !(sliderTrack instanceof HTMLSpanElement) ||\n !sliderTrack.classList.contains(\"rmd-slider-track\")\n ) {\n throw new Error(\"Unable to find the `Slider` track element\");\n }\n if (\n !(sliderContainer instanceof HTMLDivElement) ||\n !sliderContainer.classList.contains(\"rmd-slider-container\")\n ) {\n throw new Error(\"Unable to find the `Slider` container element\");\n }\n\n return { sliderInput, sliderTrack, sliderContainer };\n}\n\n/**\n * @since 6.0.0\n */\nexport interface SliderTestElements {\n /**\n * The element that is visible to screen readers and can be updated using\n * drag, touch, or keyboard events. Since this is usually annoying for tests,\n * the `sliderInput` should normally be used instead.\n */\n slider: HTMLSpanElement;\n\n /**\n * The element that is hidden to screen readers but stores the current value\n * and can be updated using\n * `fireEvent.change(sliderInput, { target: { value: \"100\" }})`.\n */\n sliderInput: HTMLInputElement;\n\n /**\n * This is only useful when needing to verify that clicking somewhere on the\n * track updates the value. Most test cases can be solved through the\n * {@link slider} or {@link sliderInput} instead.\n */\n sliderTrack: HTMLSpanElement;\n\n /**\n * Returns the slider container element if it is needed for testing. It's\n * useful for simple snapshot tests.\n */\n sliderContainer: HTMLDivElement;\n}\n\n/**\n * @example Simple Example\n * ```tsx\n * function Test(): ReactElement {\n * const slider = useSlider({ defaultValue: 30 });\n * return <Slider {...slider} aria-label=\"Example\" />;\n * }\n *\n * rmdRender(<Test />);\n *\n * const { slider, sliderInput } = getSliderTestElements({ name: \"Example\" });\n *\n * expect(slider).toHaveValue(30);\n * expect(sliderInput).toHaveValue(\"30\");\n *\n * fireEvent.change(sliderInput, { target: { value: \"55\" }});\n * expect(slider).toHaveValue(55);\n * expect(sliderInput).toHaveValue(\"55\");\n * ```\n *\n * @since 6.0.0\n */\nexport function getSliderTestElements(\n options: GetPartsByRoleOptions\n): SliderTestElements {\n const { container = screen, ...byRoleOptions } = options;\n const slider = container.getByRole<HTMLSpanElement>(\"slider\", byRoleOptions);\n\n return {\n slider,\n ...getElements(slider),\n };\n}\n\n/**\n * @see {@link getSliderTestElements}\n * @since 6.0.0\n */\nexport async function findSliderTestElements(\n options: GetPartsByRoleOptions\n): Promise<SliderTestElements> {\n const { container = screen, ...byRoleOptions } = options;\n const slider = await container.findByRole<HTMLSpanElement>(\n \"slider\",\n byRoleOptions\n );\n\n return {\n slider,\n ...getElements(slider),\n };\n}\n\n/**\n * @since 6.0.0\n */\nexport interface
|
|
1
|
+
{"version":3,"sources":["../../../src/test-utils/queries/slider.ts"],"sourcesContent":["import {\n type BoundFunctions,\n type ByRoleOptions,\n type queries,\n screen,\n} from \"@testing-library/dom\";\n\nimport { type GetPartsByRoleOptions } from \"./types.js\";\n\ntype Elements = Omit<SliderTestElements, \"slider\">;\n\nfunction getElements(slider: HTMLSpanElement): Elements {\n const sliderInput = slider.nextElementSibling;\n const sliderTrack = slider.parentElement;\n const sliderContainer = sliderTrack?.parentElement;\n if (!(sliderInput instanceof HTMLInputElement)) {\n throw new Error(\"Unable to find the `Slider` input element\");\n }\n if (\n !(sliderTrack instanceof HTMLSpanElement) ||\n !sliderTrack.classList.contains(\"rmd-slider-track\")\n ) {\n throw new Error(\"Unable to find the `Slider` track element\");\n }\n if (\n !(sliderContainer instanceof HTMLDivElement) ||\n !sliderContainer.classList.contains(\"rmd-slider-container\")\n ) {\n throw new Error(\"Unable to find the `Slider` container element\");\n }\n\n return { sliderInput, sliderTrack, sliderContainer };\n}\n\n/**\n * @since 6.0.0\n */\nexport interface SliderTestElements {\n /**\n * The element that is visible to screen readers and can be updated using\n * drag, touch, or keyboard events. Since this is usually annoying for tests,\n * the `sliderInput` should normally be used instead.\n */\n slider: HTMLSpanElement;\n\n /**\n * The element that is hidden to screen readers but stores the current value\n * and can be updated using\n * `fireEvent.change(sliderInput, { target: { value: \"100\" }})`.\n */\n sliderInput: HTMLInputElement;\n\n /**\n * This is only useful when needing to verify that clicking somewhere on the\n * track updates the value. Most test cases can be solved through the\n * {@link slider} or {@link sliderInput} instead.\n */\n sliderTrack: HTMLSpanElement;\n\n /**\n * Returns the slider container element if it is needed for testing. It's\n * useful for simple snapshot tests.\n */\n sliderContainer: HTMLDivElement;\n}\n\n/**\n * @example Simple Example\n * ```tsx\n * function Test(): ReactElement {\n * const slider = useSlider({ defaultValue: 30 });\n * return <Slider {...slider} aria-label=\"Example\" />;\n * }\n *\n * rmdRender(<Test />);\n *\n * const { slider, sliderInput } = getSliderTestElements({ name: \"Example\" });\n *\n * expect(slider).toHaveValue(30);\n * expect(sliderInput).toHaveValue(\"30\");\n *\n * fireEvent.change(sliderInput, { target: { value: \"55\" }});\n * expect(slider).toHaveValue(55);\n * expect(sliderInput).toHaveValue(\"55\");\n * ```\n *\n * @since 6.0.0\n */\nexport function getSliderTestElements(\n options: GetPartsByRoleOptions\n): SliderTestElements {\n const { container = screen, ...byRoleOptions } = options;\n const slider = container.getByRole<HTMLSpanElement>(\"slider\", byRoleOptions);\n\n return {\n slider,\n ...getElements(slider),\n };\n}\n\n/**\n * @see {@link getSliderTestElements}\n * @since 6.0.0\n */\nexport async function findSliderTestElements(\n options: GetPartsByRoleOptions\n): Promise<SliderTestElements> {\n const { container = screen, ...byRoleOptions } = options;\n const slider = await container.findByRole<HTMLSpanElement>(\n \"slider\",\n byRoleOptions\n );\n\n return {\n slider,\n ...getElements(slider),\n };\n}\n\n/**\n * @since 6.0.0\n */\nexport interface GetRangeSliderTestElementsOptions {\n /** @defaultValue `screen` */\n container?: BoundFunctions<typeof queries>;\n\n /** @defaultValue `{ name: \"Min\" }` */\n min?: ByRoleOptions;\n\n /** @defaultValue `{ name: \"Max\" }` */\n max?: ByRoleOptions;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface RangeSliderTestElements {\n /** @see {@link SliderTestElements.slider} */\n minSlider: HTMLSpanElement;\n /** @see {@link SliderTestElements.sliderInput} */\n minSliderInput: HTMLInputElement;\n /** @see {@link SliderTestElements.slider} */\n maxSlider: HTMLSpanElement;\n /** @see {@link SliderTestElements.sliderInput} */\n maxSliderInput: HTMLInputElement;\n /** @see {@link SliderTestElements.sliderTrack} */\n sliderTrack: HTMLSpanElement;\n /** @see {@link SliderTestElements.sliderContainer} */\n sliderContainer: HTMLDivElement;\n}\n\n/**\n * @example Simple Example\n * ```tsx\n * function Test(): ReactElement {\n * const slider = useRangeSlider({ defaultValue: [30, 60] });\n * return <Slider {...slider} aria-label=\"Example\" />;\n * }\n *\n * rmdRender(<Test />);\n *\n * const { slider, sliderInput } = getSliderTestElements();\n *\n * const { minSlider, minSliderInput, maxSlider, maxSliderInput } =\n * getRangeSliderTestElements();\n * expect(minSlider).toHaveValue(30);\n * expect(minSliderInput).toHaveValue(\"30\");\n * expect(maxSlider).toHaveAttribute(60);\n * expect(maxSliderInput).toHaveValue(\"60\");\n *\n * fireEvent.change(minSliderInput, { target: { value: \"55\" }});\n * expect(minSlider).toHaveValue(55);\n * expect(minSliderInput).toHaveValue(\"55\");\n * expect(maxSlider).toHaveAttribute(60);\n * expect(maxSliderInput).toHaveValue(\"60\");\n *\n * fireEvent.change(maxSliderInput, { target: { value: \"88\" }});\n * expect(minSlider).toHaveValue(55);\n * expect(minSliderInput).toHaveValue(\"55\");\n * expect(maxSlider).toHaveAttribute(88);\n * expect(maxSliderInput).toHaveValue(\"88\");\n * ```\n *\n * @since 6.0.0\n */\nexport function getRangeSliderTestElements(\n options: GetRangeSliderTestElementsOptions = {}\n): RangeSliderTestElements {\n const { container = screen, min, max } = options;\n const minSlider = container.getByRole<HTMLSpanElement>(\n \"slider\",\n min ?? { name: \"Min\" }\n );\n const maxSlider = container.getByRole<HTMLSpanElement>(\n \"slider\",\n max ?? { name: \"Max\" }\n );\n\n const {\n sliderInput: minSliderInput,\n sliderTrack,\n sliderContainer,\n } = getElements(minSlider);\n const { sliderInput: maxSliderInput } = getElements(maxSlider);\n\n return {\n minSlider,\n minSliderInput,\n maxSlider,\n maxSliderInput,\n sliderTrack,\n sliderContainer,\n };\n}\n\n/**\n * @see {@link getRangeSliderTestElements}\n * @since 6.0.0\n */\nexport async function findRangeSliderTestElements(\n options: GetRangeSliderTestElementsOptions = {}\n): Promise<RangeSliderTestElements> {\n const { container = screen, min, max } = options;\n const minSlider = await container.findByRole<HTMLSpanElement>(\n \"slider\",\n min ?? { name: \"Min\" }\n );\n const maxSlider = await container.findByRole<HTMLSpanElement>(\n \"slider\",\n max ?? { name: \"Max\" }\n );\n const {\n sliderInput: minSliderInput,\n sliderTrack,\n sliderContainer,\n } = getElements(minSlider);\n const { sliderInput: maxSliderInput } = getElements(maxSlider);\n\n return {\n minSlider,\n minSliderInput,\n maxSlider,\n maxSliderInput,\n sliderTrack,\n sliderContainer,\n };\n}\n"],"names":["screen","getElements","slider","sliderInput","nextElementSibling","sliderTrack","parentElement","sliderContainer","HTMLInputElement","Error","HTMLSpanElement","classList","contains","HTMLDivElement","getSliderTestElements","options","container","byRoleOptions","getByRole","findSliderTestElements","findByRole","getRangeSliderTestElements","min","max","minSlider","name","maxSlider","minSliderInput","maxSliderInput","findRangeSliderTestElements"],"mappings":"AAAA,SAIEA,MAAM,QACD,uBAAuB;AAM9B,SAASC,YAAYC,MAAuB;IAC1C,MAAMC,cAAcD,OAAOE,kBAAkB;IAC7C,MAAMC,cAAcH,OAAOI,aAAa;IACxC,MAAMC,kBAAkBF,aAAaC;IACrC,IAAI,CAAEH,CAAAA,uBAAuBK,gBAAe,GAAI;QAC9C,MAAM,IAAIC,MAAM;IAClB;IACA,IACE,CAAEJ,CAAAA,uBAAuBK,eAAc,KACvC,CAACL,YAAYM,SAAS,CAACC,QAAQ,CAAC,qBAChC;QACA,MAAM,IAAIH,MAAM;IAClB;IACA,IACE,CAAEF,CAAAA,2BAA2BM,cAAa,KAC1C,CAACN,gBAAgBI,SAAS,CAACC,QAAQ,CAAC,yBACpC;QACA,MAAM,IAAIH,MAAM;IAClB;IAEA,OAAO;QAAEN;QAAaE;QAAaE;IAAgB;AACrD;AAkCA;;;;;;;;;;;;;;;;;;;;;CAqBC,GACD,OAAO,SAASO,sBACdC,OAA8B;IAE9B,MAAM,EAAEC,YAAYhB,MAAM,EAAE,GAAGiB,eAAe,GAAGF;IACjD,MAAMb,SAASc,UAAUE,SAAS,CAAkB,UAAUD;IAE9D,OAAO;QACLf;QACA,GAAGD,YAAYC,OAAO;IACxB;AACF;AAEA;;;CAGC,GACD,OAAO,eAAeiB,uBACpBJ,OAA8B;IAE9B,MAAM,EAAEC,YAAYhB,MAAM,EAAE,GAAGiB,eAAe,GAAGF;IACjD,MAAMb,SAAS,MAAMc,UAAUI,UAAU,CACvC,UACAH;IAGF,OAAO;QACLf;QACA,GAAGD,YAAYC,OAAO;IACxB;AACF;AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCC,GACD,OAAO,SAASmB,2BACdN,UAA6C,CAAC,CAAC;IAE/C,MAAM,EAAEC,YAAYhB,MAAM,EAAEsB,GAAG,EAAEC,GAAG,EAAE,GAAGR;IACzC,MAAMS,YAAYR,UAAUE,SAAS,CACnC,UACAI,OAAO;QAAEG,MAAM;IAAM;IAEvB,MAAMC,YAAYV,UAAUE,SAAS,CACnC,UACAK,OAAO;QAAEE,MAAM;IAAM;IAGvB,MAAM,EACJtB,aAAawB,cAAc,EAC3BtB,WAAW,EACXE,eAAe,EAChB,GAAGN,YAAYuB;IAChB,MAAM,EAAErB,aAAayB,cAAc,EAAE,GAAG3B,YAAYyB;IAEpD,OAAO;QACLF;QACAG;QACAD;QACAE;QACAvB;QACAE;IACF;AACF;AAEA;;;CAGC,GACD,OAAO,eAAesB,4BACpBd,UAA6C,CAAC,CAAC;IAE/C,MAAM,EAAEC,YAAYhB,MAAM,EAAEsB,GAAG,EAAEC,GAAG,EAAE,GAAGR;IACzC,MAAMS,YAAY,MAAMR,UAAUI,UAAU,CAC1C,UACAE,OAAO;QAAEG,MAAM;IAAM;IAEvB,MAAMC,YAAY,MAAMV,UAAUI,UAAU,CAC1C,UACAG,OAAO;QAAEE,MAAM;IAAM;IAEvB,MAAM,EACJtB,aAAawB,cAAc,EAC3BtB,WAAW,EACXE,eAAe,EAChB,GAAGN,YAAYuB;IAChB,MAAM,EAAErB,aAAayB,cAAc,EAAE,GAAG3B,YAAYyB;IAEpD,OAAO;QACLF;QACAG;QACAD;QACAE;QACAvB;QACAE;IACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-md/core",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.3",
|
|
4
4
|
"description": "The core components and functionality for react-md.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sass": "./dist/_core.scss",
|
|
@@ -74,18 +74,18 @@
|
|
|
74
74
|
"license": "MIT",
|
|
75
75
|
"dependencies": {
|
|
76
76
|
"cnbuilder": "^3.1.0",
|
|
77
|
-
"nanoid": "^5.1.
|
|
77
|
+
"nanoid": "^5.1.6",
|
|
78
78
|
"remove-accents": "^0.5.0"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
81
81
|
"@jest/globals": "^29.7.0",
|
|
82
82
|
"@jest/types": "^29.6.3",
|
|
83
|
-
"@microsoft/api-extractor": "^7.52.
|
|
83
|
+
"@microsoft/api-extractor": "^7.52.13",
|
|
84
84
|
"@swc/cli": "^0.6.0",
|
|
85
|
-
"@swc/core": "^1.13.
|
|
85
|
+
"@swc/core": "^1.13.20",
|
|
86
86
|
"@swc/jest": "^0.2.39",
|
|
87
87
|
"@testing-library/dom": "^10.4.1",
|
|
88
|
-
"@testing-library/jest-dom": "^6.
|
|
88
|
+
"@testing-library/jest-dom": "^6.8.0",
|
|
89
89
|
"@testing-library/react": "^16.3.0",
|
|
90
90
|
"@testing-library/user-event": "^14.6.1",
|
|
91
91
|
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
|
@@ -94,8 +94,8 @@
|
|
|
94
94
|
"@types/react": "^18.3.12",
|
|
95
95
|
"@types/react-dom": "^18.3.1",
|
|
96
96
|
"chokidar": "^4.0.3",
|
|
97
|
-
"eslint": "^9.
|
|
98
|
-
"filesize": "^11.0.
|
|
97
|
+
"eslint": "^9.36.0",
|
|
98
|
+
"filesize": "^11.0.13",
|
|
99
99
|
"glob": "11.0.3",
|
|
100
100
|
"jest": "^29.7.0",
|
|
101
101
|
"jest-environment-jsdom": "^29.7.0",
|
|
@@ -104,21 +104,18 @@
|
|
|
104
104
|
"lz-string": "^1.5.0",
|
|
105
105
|
"npm-run-all": "^4.1.5",
|
|
106
106
|
"prettier": "^3.6.2",
|
|
107
|
-
"stylelint": "^16.
|
|
108
|
-
"
|
|
109
|
-
"stylelint-config-recommended-scss": "^15.0.1",
|
|
110
|
-
"stylelint-order": "^7.0.0",
|
|
111
|
-
"stylelint-scss": "^6.12.1",
|
|
112
|
-
"ts-morph": "^26.0.0",
|
|
107
|
+
"stylelint": "^16.24.0",
|
|
108
|
+
"ts-morph": "^27.0.0",
|
|
113
109
|
"ts-node": "^10.9.2",
|
|
114
|
-
"tsx": "^4.20.
|
|
110
|
+
"tsx": "^4.20.6",
|
|
115
111
|
"typescript": "^5.8.3",
|
|
116
112
|
"vitest": "^3.2.4",
|
|
117
|
-
"@react-md/eslint-config": "1.0.0"
|
|
113
|
+
"@react-md/eslint-config": "1.0.0",
|
|
114
|
+
"@react-md/stylelint-config": "1.0.0"
|
|
118
115
|
},
|
|
119
116
|
"peerDependencies": {
|
|
120
|
-
"@jest/globals": "
|
|
121
|
-
"@jest/types": "
|
|
117
|
+
"@jest/globals": ">= 29 <=30",
|
|
118
|
+
"@jest/types": ">= 29 <=30",
|
|
122
119
|
"@testing-library/dom": ">= 9",
|
|
123
120
|
"@testing-library/jest-dom": ">= 6",
|
|
124
121
|
"@testing-library/react": ">= 14",
|
|
@@ -120,7 +120,7 @@ export async function findSliderTestElements(
|
|
|
120
120
|
/**
|
|
121
121
|
* @since 6.0.0
|
|
122
122
|
*/
|
|
123
|
-
export interface
|
|
123
|
+
export interface GetRangeSliderTestElementsOptions {
|
|
124
124
|
/** @defaultValue `screen` */
|
|
125
125
|
container?: BoundFunctions<typeof queries>;
|
|
126
126
|
|
|
@@ -184,7 +184,7 @@ export interface RangeSliderTestElements {
|
|
|
184
184
|
* @since 6.0.0
|
|
185
185
|
*/
|
|
186
186
|
export function getRangeSliderTestElements(
|
|
187
|
-
options:
|
|
187
|
+
options: GetRangeSliderTestElementsOptions = {}
|
|
188
188
|
): RangeSliderTestElements {
|
|
189
189
|
const { container = screen, min, max } = options;
|
|
190
190
|
const minSlider = container.getByRole<HTMLSpanElement>(
|
|
@@ -218,7 +218,7 @@ export function getRangeSliderTestElements(
|
|
|
218
218
|
* @since 6.0.0
|
|
219
219
|
*/
|
|
220
220
|
export async function findRangeSliderTestElements(
|
|
221
|
-
options:
|
|
221
|
+
options: GetRangeSliderTestElementsOptions = {}
|
|
222
222
|
): Promise<RangeSliderTestElements> {
|
|
223
223
|
const { container = screen, min, max } = options;
|
|
224
224
|
const minSlider = await container.findByRole<HTMLSpanElement>(
|