@salt-ds/lab 1.0.0-alpha.12 → 1.0.0-alpha.13

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 (95) hide show
  1. package/dist-cjs/index.js +4 -14
  2. package/dist-cjs/index.js.map +1 -1
  3. package/dist-cjs/query-input/internal/QueryInputBody.js +3 -6
  4. package/dist-cjs/query-input/internal/QueryInputBody.js.map +1 -1
  5. package/dist-cjs/toast/Toast.css.js +6 -0
  6. package/dist-cjs/toast/Toast.css.js.map +1 -0
  7. package/dist-cjs/toast/Toast.js +38 -0
  8. package/dist-cjs/toast/Toast.js.map +1 -0
  9. package/dist-cjs/toast/ToastContent.css.js +6 -0
  10. package/dist-cjs/toast/ToastContent.css.js.map +1 -0
  11. package/dist-cjs/toast/ToastContent.js +30 -0
  12. package/dist-cjs/toast/ToastContent.js.map +1 -0
  13. package/dist-es/index.js +2 -7
  14. package/dist-es/index.js.map +1 -1
  15. package/dist-es/query-input/internal/QueryInputBody.js +1 -4
  16. package/dist-es/query-input/internal/QueryInputBody.js.map +1 -1
  17. package/dist-es/toast/Toast.css.js +4 -0
  18. package/dist-es/toast/Toast.css.js.map +1 -0
  19. package/dist-es/toast/Toast.js +34 -0
  20. package/dist-es/toast/Toast.js.map +1 -0
  21. package/dist-es/toast/ToastContent.css.js +4 -0
  22. package/dist-es/toast/ToastContent.css.js.map +1 -0
  23. package/dist-es/toast/ToastContent.js +26 -0
  24. package/dist-es/toast/ToastContent.js.map +1 -0
  25. package/dist-types/combo-box-deprecated/internal/useComboBox.d.ts +2 -2
  26. package/dist-types/combo-box-deprecated/internal/useMultiSelectComboBox.d.ts +7 -7
  27. package/dist-types/index.d.ts +1 -3
  28. package/dist-types/stepper-input/useStepperInput.d.ts +2 -2
  29. package/dist-types/toast/Toast.d.ts +9 -0
  30. package/dist-types/toast/ToastContent.d.ts +2 -0
  31. package/dist-types/toast/index.d.ts +2 -0
  32. package/package.json +3 -3
  33. package/dist-cjs/accordion/Accordion.css.js +0 -6
  34. package/dist-cjs/accordion/Accordion.css.js.map +0 -1
  35. package/dist-cjs/accordion/Accordion.js +0 -62
  36. package/dist-cjs/accordion/Accordion.js.map +0 -1
  37. package/dist-cjs/accordion/AccordionContext.js +0 -25
  38. package/dist-cjs/accordion/AccordionContext.js.map +0 -1
  39. package/dist-cjs/accordion/AccordionGroup.js +0 -23
  40. package/dist-cjs/accordion/AccordionGroup.js.map +0 -1
  41. package/dist-cjs/accordion/AccordionHeader.css.js +0 -6
  42. package/dist-cjs/accordion/AccordionHeader.css.js.map +0 -1
  43. package/dist-cjs/accordion/AccordionHeader.js +0 -50
  44. package/dist-cjs/accordion/AccordionHeader.js.map +0 -1
  45. package/dist-cjs/accordion/AccordionPanel.css.js +0 -6
  46. package/dist-cjs/accordion/AccordionPanel.css.js.map +0 -1
  47. package/dist-cjs/accordion/AccordionPanel.js +0 -45
  48. package/dist-cjs/accordion/AccordionPanel.js.map +0 -1
  49. package/dist-cjs/toggle-button/ToggleButton.css.js +0 -6
  50. package/dist-cjs/toggle-button/ToggleButton.css.js.map +0 -1
  51. package/dist-cjs/toggle-button/ToggleButton.js +0 -75
  52. package/dist-cjs/toggle-button/ToggleButton.js.map +0 -1
  53. package/dist-cjs/toggle-button-group/ToggleButtonGroup.css.js +0 -6
  54. package/dist-cjs/toggle-button-group/ToggleButtonGroup.css.js.map +0 -1
  55. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +0 -111
  56. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +0 -1
  57. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +0 -15
  58. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +0 -1
  59. package/dist-es/accordion/Accordion.css.js +0 -4
  60. package/dist-es/accordion/Accordion.css.js.map +0 -1
  61. package/dist-es/accordion/Accordion.js +0 -58
  62. package/dist-es/accordion/Accordion.js.map +0 -1
  63. package/dist-es/accordion/AccordionContext.js +0 -20
  64. package/dist-es/accordion/AccordionContext.js.map +0 -1
  65. package/dist-es/accordion/AccordionGroup.js +0 -19
  66. package/dist-es/accordion/AccordionGroup.js.map +0 -1
  67. package/dist-es/accordion/AccordionHeader.css.js +0 -4
  68. package/dist-es/accordion/AccordionHeader.css.js.map +0 -1
  69. package/dist-es/accordion/AccordionHeader.js +0 -46
  70. package/dist-es/accordion/AccordionHeader.js.map +0 -1
  71. package/dist-es/accordion/AccordionPanel.css.js +0 -4
  72. package/dist-es/accordion/AccordionPanel.css.js.map +0 -1
  73. package/dist-es/accordion/AccordionPanel.js +0 -41
  74. package/dist-es/accordion/AccordionPanel.js.map +0 -1
  75. package/dist-es/toggle-button/ToggleButton.css.js +0 -4
  76. package/dist-es/toggle-button/ToggleButton.css.js.map +0 -1
  77. package/dist-es/toggle-button/ToggleButton.js +0 -71
  78. package/dist-es/toggle-button/ToggleButton.js.map +0 -1
  79. package/dist-es/toggle-button-group/ToggleButtonGroup.css.js +0 -4
  80. package/dist-es/toggle-button-group/ToggleButtonGroup.css.js.map +0 -1
  81. package/dist-es/toggle-button-group/ToggleButtonGroup.js +0 -107
  82. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +0 -1
  83. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +0 -10
  84. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +0 -1
  85. package/dist-types/accordion/Accordion.d.ts +0 -25
  86. package/dist-types/accordion/AccordionContext.d.ts +0 -10
  87. package/dist-types/accordion/AccordionGroup.d.ts +0 -4
  88. package/dist-types/accordion/AccordionHeader.d.ts +0 -4
  89. package/dist-types/accordion/AccordionPanel.d.ts +0 -4
  90. package/dist-types/accordion/index.d.ts +0 -4
  91. package/dist-types/toggle-button/ToggleButton.d.ts +0 -7
  92. package/dist-types/toggle-button/index.d.ts +0 -1
  93. package/dist-types/toggle-button-group/ToggleButtonGroup.d.ts +0 -25
  94. package/dist-types/toggle-button-group/ToggleButtonGroupContext.d.ts +0 -10
  95. package/dist-types/toggle-button-group/index.d.ts +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionContext.js","sources":["../src/accordion/AccordionContext.ts"],"sourcesContent":["import { createContext } from \"@salt-ds/core\";\nimport { SyntheticEvent, useContext } from \"react\";\n\nexport interface AccordionContextValue {\n value: string;\n expanded: boolean;\n toggle: (event: SyntheticEvent<HTMLButtonElement>) => void;\n disabled: boolean;\n id: string;\n}\n\nexport const AccordionContext = createContext<AccordionContextValue>(\n \"AccordionContext\",\n {\n value: \"\",\n expanded: false,\n toggle: () => {},\n disabled: false,\n id: \"\",\n }\n);\n\nexport function useAccordion() {\n return useContext(AccordionContext);\n}\n"],"names":[],"mappings":";;;AAWO,MAAM,gBAAmB,GAAA,aAAA;AAAA,EAC9B,kBAAA;AAAA,EACA;AAAA,IACE,KAAO,EAAA,EAAA;AAAA,IACP,QAAU,EAAA,KAAA;AAAA,IACV,QAAQ,MAAM;AAAA,KAAC;AAAA,IACf,QAAU,EAAA,KAAA;AAAA,IACV,EAAI,EAAA,EAAA;AAAA,GACN;AACF,EAAA;AAEO,SAAS,YAAe,GAAA;AAC7B,EAAA,OAAO,WAAW,gBAAgB,CAAA,CAAA;AACpC;;;;"}
@@ -1,19 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef } from 'react';
3
- import { makePrefixer } from '@salt-ds/core';
4
- import { clsx } from 'clsx';
5
-
6
- const withBaseName = makePrefixer("saltAccordionGroup");
7
- const AccordionGroup = forwardRef(
8
- function AccordionGroup2(props, ref) {
9
- const { className, ...rest } = props;
10
- return /* @__PURE__ */ jsx("div", {
11
- className: clsx(withBaseName(), className),
12
- ref,
13
- ...rest
14
- });
15
- }
16
- );
17
-
18
- export { AccordionGroup };
19
- //# sourceMappingURL=AccordionGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionGroup.js","sources":["../src/accordion/AccordionGroup.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nexport interface AccordionGroupProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst withBaseName = makePrefixer(\"saltAccordionGroup\");\n\nexport const AccordionGroup = forwardRef<HTMLDivElement, AccordionGroupProps>(\n function AccordionGroup(props, ref) {\n const { className, ...rest } = props;\n\n return (\n <div className={clsx(withBaseName(), className)} ref={ref} {...rest} />\n );\n }\n);\n"],"names":["AccordionGroup"],"mappings":";;;;;AAKA,MAAM,YAAA,GAAe,aAAa,oBAAoB,CAAA,CAAA;AAE/C,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AAClC,IAAM,MAAA,EAAE,SAAc,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAE/B,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MAAG,GAAA;AAAA,MAAW,GAAG,IAAA;AAAA,KAAM,CAAA,CAAA;AAAA,GAEzE;AACF;;;;"}
@@ -1,4 +0,0 @@
1
- var css_248z = ".saltAccordionHeader {\n display: flex;\n gap: var(--salt-spacing-100);\n padding-block: var(--salt-spacing-50);\n padding-inline: var(--salt-spacing-100);\n align-items: center;\n border: 0;\n width: 100%;\n min-height: var(--salt-size-base);\n background: var(--salt-actionable-secondary-background);\n font-size: var(--salt-text-fontSize);\n line-height: var(--salt-text-lineHeight);\n font-family: var(--salt-text-fontFamily);\n color: var(--salt-text-primary-foreground);\n --saltIcon-color: var(--salt-text-primary-foreground);\n text-align: left;\n}\n\n.saltAccordionHeader:focus-visible {\n background: var(--salt-actionable-primary-background-hover);\n outline: var(--salt-focused-outline);\n}\n\n@media (hover: hover) and (pointer: fine) {\n .saltAccordionHeader:hover {\n background: var(--salt-actionable-primary-background-hover);\n }\n}\n\n.saltAccordionHeader:disabled {\n background: var(--salt-actionable-secondary-background);\n color: var(--salt-text-primary-foreground-disabled);\n --saltIcon-fill: var(--salt-text-primary-foreground-disabled);\n}\n\n.saltAccordionHeader-icon {\n transition: transform var(--salt-duration-instant) cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.saltAccordionHeader[aria-expanded=\"true\"] > .saltAccordionHeader-icon {\n transform: rotate(90deg);\n}\n";
2
-
3
- export { css_248z as default };
4
- //# sourceMappingURL=AccordionHeader.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionHeader.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,46 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { forwardRef } from 'react';
3
- import { makePrefixer } from '@salt-ds/core';
4
- import { clsx } from 'clsx';
5
- import { ChevronRightIcon } from '@salt-ds/icons';
6
- import { useWindow } from '@salt-ds/window';
7
- import { useComponentCssInjection } from '@salt-ds/styles';
8
- import { useAccordion } from './AccordionContext.js';
9
- import css_248z from './AccordionHeader.css.js';
10
-
11
- const withBaseName = makePrefixer("saltAccordionHeader");
12
- const AccordionHeader = forwardRef(function AccordionHeader2(props, ref) {
13
- const { children, className, onClick, ...rest } = props;
14
- const { value, expanded, toggle, disabled, id } = useAccordion();
15
- const targetWindow = useWindow();
16
- useComponentCssInjection({
17
- testId: "salt-accordion-header",
18
- css: css_248z,
19
- window: targetWindow
20
- });
21
- const handleClick = (event) => {
22
- toggle(event);
23
- onClick == null ? void 0 : onClick(event);
24
- };
25
- return /* @__PURE__ */ jsxs("button", {
26
- ref,
27
- className: clsx(withBaseName(), className),
28
- disabled,
29
- onClick: handleClick,
30
- "aria-expanded": expanded,
31
- id: `${id}-header`,
32
- "aria-controls": `${id}-panel`,
33
- value,
34
- ...rest,
35
- children: [
36
- /* @__PURE__ */ jsx(ChevronRightIcon, {
37
- "aria-hidden": "true",
38
- className: withBaseName("icon")
39
- }),
40
- children
41
- ]
42
- });
43
- });
44
-
45
- export { AccordionHeader };
46
- //# sourceMappingURL=AccordionHeader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionHeader.js","sources":["../src/accordion/AccordionHeader.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, MouseEvent } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { ChevronRightIcon } from \"@salt-ds/icons\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { useAccordion } from \"./AccordionContext\";\nimport accordionHeaderCss from \"./AccordionHeader.css\";\n\nexport interface AccordionHeaderProps\n extends ComponentPropsWithoutRef<\"button\"> {}\n\nconst withBaseName = makePrefixer(\"saltAccordionHeader\");\n\nexport const AccordionHeader = forwardRef<\n HTMLButtonElement,\n AccordionHeaderProps\n>(function AccordionHeader(props, ref) {\n const { children, className, onClick, ...rest } = props;\n const { value, expanded, toggle, disabled, id } = useAccordion();\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion-header\",\n css: accordionHeaderCss,\n window: targetWindow,\n });\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n toggle(event);\n onClick?.(event);\n };\n\n return (\n <button\n ref={ref}\n className={clsx(withBaseName(), className)}\n disabled={disabled}\n onClick={handleClick}\n aria-expanded={expanded}\n id={`${id}-header`}\n aria-controls={`${id}-panel`}\n value={value}\n {...rest}\n >\n <ChevronRightIcon aria-hidden=\"true\" className={withBaseName(\"icon\")} />\n {children}\n </button>\n );\n});\n"],"names":["AccordionHeader","accordionHeaderCss"],"mappings":";;;;;;;;;;AAaA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAEhD,MAAM,eAAkB,GAAA,UAAA,CAG7B,SAASA,gBAAAA,CAAgB,OAAO,GAAK,EAAA;AACrC,EAAA,MAAM,EAAE,QAAA,EAAU,SAAW,EAAA,OAAA,EAAA,GAAY,MAAS,GAAA,KAAA,CAAA;AAClD,EAAA,MAAM,EAAE,KAAO,EAAA,QAAA,EAAU,QAAQ,QAAU,EAAA,EAAA,KAAO,YAAa,EAAA,CAAA;AAE/D,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uBAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,IAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AACZ,IAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AAAA,GACZ,CAAA;AAEA,EAAA,uBACG,IAAA,CAAA,QAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,QAAA;AAAA,IACA,OAAS,EAAA,WAAA;AAAA,IACT,eAAe,EAAA,QAAA;AAAA,IACf,IAAI,CAAG,EAAA,EAAA,CAAA,OAAA,CAAA;AAAA,IACP,iBAAe,CAAG,EAAA,EAAA,CAAA,MAAA,CAAA;AAAA,IAClB,KAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,gBAAA,EAAA;AAAA,QAAiB,aAAY,EAAA,MAAA;AAAA,QAAO,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,OAAG,CAAA;AAAA,MACrE,QAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -1,4 +0,0 @@
1
- var css_248z = ".saltAccordionPanel {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--salt-duration-perceptible) cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.saltAccordionHeader[aria-expanded=\"true\"] + .saltAccordionPanel {\n grid-template-rows: 1fr;\n}\n\n.saltAccordionPanel-inner {\n overflow: hidden;\n}\n\n.saltAccordionPanel-content {\n padding: var(--salt-spacing-200);\n padding-left: calc(var(--salt-spacing-200) + var(--salt-size-icon));\n}\n";
2
-
3
- export { css_248z as default };
4
- //# sourceMappingURL=AccordionPanel.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionPanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,41 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef } from 'react';
3
- import { makePrefixer } from '@salt-ds/core';
4
- import { useWindow } from '@salt-ds/window';
5
- import { useComponentCssInjection } from '@salt-ds/styles';
6
- import { clsx } from 'clsx';
7
- import { useAccordion } from './AccordionContext.js';
8
- import css_248z from './AccordionPanel.css.js';
9
-
10
- const withBaseName = makePrefixer("saltAccordionPanel");
11
- const AccordionPanel = forwardRef(
12
- function AccordionPanel2(props, ref) {
13
- const { children, className, ...rest } = props;
14
- const targetWindow = useWindow();
15
- useComponentCssInjection({
16
- testId: "salt-accordion-panel",
17
- css: css_248z,
18
- window: targetWindow
19
- });
20
- const { id, expanded } = useAccordion();
21
- return /* @__PURE__ */ jsx("div", {
22
- ref,
23
- className: clsx(withBaseName(), className),
24
- role: "region",
25
- id: `${id}-panel`,
26
- "aria-labelledby": `${id}-header`,
27
- "aria-hidden": !expanded ? "true" : void 0,
28
- ...rest,
29
- children: /* @__PURE__ */ jsx("div", {
30
- className: withBaseName("inner"),
31
- children: /* @__PURE__ */ jsx("div", {
32
- className: withBaseName("content"),
33
- children
34
- })
35
- })
36
- });
37
- }
38
- );
39
-
40
- export { AccordionPanel };
41
- //# sourceMappingURL=AccordionPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionPanel.js","sources":["../src/accordion/AccordionPanel.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { clsx } from \"clsx\";\n\nimport { useAccordion } from \"./AccordionContext\";\nimport accordionPanelCss from \"./AccordionPanel.css\";\n\nexport interface AccordionPanelProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst withBaseName = makePrefixer(\"saltAccordionPanel\");\n\nexport const AccordionPanel = forwardRef<HTMLDivElement, AccordionPanelProps>(\n function AccordionPanel(props, ref) {\n const { children, className, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion-panel\",\n css: accordionPanelCss,\n window: targetWindow,\n });\n\n const { id, expanded } = useAccordion();\n\n return (\n <div\n ref={ref}\n className={clsx(withBaseName(), className)}\n role=\"region\"\n id={`${id}-panel`}\n aria-labelledby={`${id}-header`}\n aria-hidden={!expanded ? \"true\" : undefined}\n {...rest}\n >\n <div className={withBaseName(\"inner\")}>\n <div className={withBaseName(\"content\")}>{children}</div>\n </div>\n </div>\n );\n }\n);\n"],"names":["AccordionPanel","accordionPanelCss"],"mappings":";;;;;;;;;AAWA,MAAM,YAAA,GAAe,aAAa,oBAAoB,CAAA,CAAA;AAE/C,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AAClC,IAAA,MAAM,EAAE,QAAA,EAAU,SAAc,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAEzC,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,EAAE,EAAA,EAAI,QAAS,EAAA,GAAI,YAAa,EAAA,CAAA;AAEtC,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,IAAK,EAAA,QAAA;AAAA,MACL,IAAI,CAAG,EAAA,EAAA,CAAA,MAAA,CAAA;AAAA,MACP,mBAAiB,CAAG,EAAA,EAAA,CAAA,OAAA,CAAA;AAAA,MACpB,aAAA,EAAa,CAAC,QAAA,GAAW,MAAS,GAAA,KAAA,CAAA;AAAA,MACjC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,QAClC,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,UAAI,QAAA;AAAA,SAAS,CAAA;AAAA,OACrD,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,4 +0,0 @@
1
- var css_248z = ".saltToggleButton {\n align-items: center;\n justify-content: center;\n appearance: none;\n display: inline-flex;\n background: var(--salt-actionable-secondary-background);\n border: 0 solid transparent;\n border-radius: 0;\n height: var(--salt-size-base);\n color: var(--salt-actionable-secondary-foreground);\n text-transform: var(--salt-actionable-textTransform);\n font-weight: var(--salt-actionable-secondary-fontWeight);\n font-family: var(--salt-text-fontFamily);\n text-align: var(--salt-actionable-textAlign);\n letter-spacing: var(--salt-actionable-letterSpacing);\n line-height: var(--salt-text-lineHeight);\n font-size: var(--salt-text-fontSize);\n padding-inline: var(--salt-spacing-100);\n gap: var(--salt-spacing-50);\n --saltIcon-color: var(--salt-actionable-secondary-foreground);\n}\n\n.saltToggleButton:hover {\n background: var(--salt-actionable-secondary-background-hover);\n color: var(--salt-actionable-secondary-foreground-hover);\n cursor: var(--salt-actionable-cursor-hover);\n --saltIcon-color: var(--salt-actionable-secondary-foreground-hover);\n}\n\n.saltToggleButton:focus-visible {\n outline: var(--salt-focused-outline);\n background: var(--salt-actionable-secondary-background-hover);\n color: var(--salt-actionable-secondary-foreground-hover);\n cursor: var(--salt-actionable-cursor-hover);\n --saltIcon-color: var(--salt-actionable-secondary-foreground-hover);\n}\n\n.saltToggleButton[aria-checked=\"true\"]:focus-visible {\n background: var(--salt-actionable-secondary-background-active);\n color: var(--salt-actionable-secondary-foreground-active);\n cursor: var(--salt-actionable-cursor-active);\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n\n.saltToggleButton[aria-checked=\"true\"] {\n background: var(--salt-actionable-secondary-background-active);\n color: var(--salt-actionable-secondary-foreground-active);\n cursor: var(--salt-actionable-cursor-active);\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n\n.saltToggleButton:disabled {\n background: var(--salt-actionable-secondary-background-disabled);\n cursor: var(--salt-actionable-cursor-disabled);\n color: var(--salt-actionable-secondary-foreground-disabled);\n --saltIcon-color: var(--salt-actionable-secondary-foreground-disabled);\n}\n";
2
-
3
- export { css_248z as default };
4
- //# sourceMappingURL=ToggleButton.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToggleButton.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,71 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef, useRef } from 'react';
3
- import { makePrefixer, useForkRef, useControlled } from '@salt-ds/core';
4
- import { clsx } from 'clsx';
5
- import '../toggle-button-group/ToggleButtonGroup.js';
6
- import { useToggleButtonGroup } from '../toggle-button-group/ToggleButtonGroupContext.js';
7
- import { useWindow } from '@salt-ds/window';
8
- import { useComponentCssInjection } from '@salt-ds/styles';
9
- import css_248z from './ToggleButton.css.js';
10
-
11
- const withBaseName = makePrefixer("saltToggleButton");
12
- const ToggleButton = forwardRef(
13
- function ToggleButton2(props, ref) {
14
- const {
15
- children,
16
- className,
17
- disabled: disabledProp,
18
- value,
19
- onClick,
20
- onFocus,
21
- onChange,
22
- selected: selectedProp,
23
- ...rest
24
- } = props;
25
- const targetWindow = useWindow();
26
- useComponentCssInjection({
27
- testId: "salt-toggle-button",
28
- css: css_248z,
29
- window: targetWindow
30
- });
31
- const buttonRef = useRef(null);
32
- const handleRef = useForkRef(ref, buttonRef);
33
- const toggleButtonGroup = useToggleButtonGroup();
34
- const toggleButtonGroupSelected = toggleButtonGroup ? toggleButtonGroup.isSelected(value) : selectedProp;
35
- const focusable = toggleButtonGroup ? toggleButtonGroup == null ? void 0 : toggleButtonGroup.isFocused(value) : true;
36
- const disabled = (toggleButtonGroup == null ? void 0 : toggleButtonGroup.disabled) || disabledProp;
37
- const [selected, setSelected] = useControlled({
38
- controlled: toggleButtonGroupSelected,
39
- default: Boolean(selectedProp),
40
- name: "ToggleButton",
41
- state: "selected"
42
- });
43
- const handleClick = (event) => {
44
- toggleButtonGroup == null ? void 0 : toggleButtonGroup.select(event);
45
- setSelected(!selected);
46
- onChange == null ? void 0 : onChange(event);
47
- onClick == null ? void 0 : onClick(event);
48
- };
49
- const handleFocus = (event) => {
50
- toggleButtonGroup == null ? void 0 : toggleButtonGroup.focus(value);
51
- onFocus == null ? void 0 : onFocus(event);
52
- };
53
- const ariaChecked = selected && !disabled;
54
- return /* @__PURE__ */ jsx("button", {
55
- "aria-checked": ariaChecked,
56
- className: clsx(withBaseName(), className),
57
- disabled,
58
- role: toggleButtonGroup ? "radio" : "checkbox",
59
- ref: handleRef,
60
- onClick: handleClick,
61
- onFocus: handleFocus,
62
- tabIndex: focusable && !disabled ? 0 : -1,
63
- value,
64
- ...rest,
65
- children
66
- });
67
- }
68
- );
69
-
70
- export { ToggleButton };
71
- //# sourceMappingURL=ToggleButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToggleButton.js","sources":["../src/toggle-button/ToggleButton.tsx"],"sourcesContent":["import {\n ComponentProps,\n forwardRef,\n useRef,\n MouseEvent,\n FocusEvent,\n} from \"react\";\nimport { makePrefixer, useControlled, useForkRef } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { useToggleButtonGroup } from \"../toggle-button-group\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport toggleButtonCss from \"./ToggleButton.css\";\n\nexport interface ToggleButtonProps extends ComponentProps<\"button\"> {\n selected?: boolean;\n onChange?: (event: MouseEvent<HTMLButtonElement>) => void;\n value: string | ReadonlyArray<string> | number | undefined;\n}\n\nconst withBaseName = makePrefixer(\"saltToggleButton\");\n\nexport const ToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>(\n function ToggleButton(props, ref) {\n const {\n children,\n className,\n disabled: disabledProp,\n value,\n onClick,\n onFocus,\n onChange,\n selected: selectedProp,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-toggle-button\",\n css: toggleButtonCss,\n window: targetWindow,\n });\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n const handleRef = useForkRef(ref, buttonRef);\n\n const toggleButtonGroup = useToggleButtonGroup();\n\n const toggleButtonGroupSelected = toggleButtonGroup\n ? toggleButtonGroup.isSelected(value)\n : selectedProp;\n const focusable = toggleButtonGroup\n ? toggleButtonGroup?.isFocused(value)\n : true;\n const disabled = toggleButtonGroup?.disabled || disabledProp;\n\n const [selected, setSelected] = useControlled({\n controlled: toggleButtonGroupSelected,\n default: Boolean(selectedProp),\n name: \"ToggleButton\",\n state: \"selected\",\n });\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n toggleButtonGroup?.select(event);\n setSelected(!selected);\n onChange?.(event);\n onClick?.(event);\n };\n\n const handleFocus = (event: FocusEvent<HTMLButtonElement>) => {\n toggleButtonGroup?.focus(value);\n onFocus?.(event);\n };\n\n const ariaChecked = selected && !disabled;\n\n return (\n <button\n aria-checked={ariaChecked}\n className={clsx(withBaseName(), className)}\n disabled={disabled}\n role={toggleButtonGroup ? \"radio\" : \"checkbox\"}\n ref={handleRef}\n onClick={handleClick}\n onFocus={handleFocus}\n tabIndex={focusable && !disabled ? 0 : -1}\n value={value}\n {...rest}\n >\n {children}\n </button>\n );\n }\n);\n"],"names":["ToggleButton","toggleButtonCss"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- var css_248z = ".saltToggleButtonGroup {\n display: flex;\n background: var(--salt-container-primary-background);\n border: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-container-primary-borderColor);\n width: fit-content;\n gap: var(--salt-spacing-50);\n padding: calc(var(--salt-spacing-50) - var(--salt-size-border));\n flex-direction: row;\n}\n\n.saltToggleButtonGroup-horizontal .saltToggleButton {\n height: calc(var(--salt-size-base) - var(--salt-spacing-100));\n}\n\n.saltToggleButtonGroup-vertical {\n flex-direction: column;\n}\n\n.saltToggleButtonGroup-vertical .saltToggleButton {\n justify-content: start;\n}\n";
2
-
3
- export { css_248z as default };
4
- //# sourceMappingURL=ToggleButtonGroup.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToggleButtonGroup.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,107 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef, useRef, useState, useCallback, useMemo } from 'react';
3
- import { makePrefixer, useForkRef, useControlled } from '@salt-ds/core';
4
- import { clsx } from 'clsx';
5
- import { useWindow } from '@salt-ds/window';
6
- import { useComponentCssInjection } from '@salt-ds/styles';
7
- import { ToggleButtonGroupContext } from './ToggleButtonGroupContext.js';
8
- import css_248z from './ToggleButtonGroup.css.js';
9
-
10
- const withBaseName = makePrefixer("saltToggleButtonGroup");
11
- const ToggleButtonGroup = forwardRef(function ToggleButtonGroup2(props, ref) {
12
- const {
13
- children,
14
- className,
15
- value: valueProp,
16
- defaultValue,
17
- disabled,
18
- onChange,
19
- onKeyDown,
20
- orientation = "horizontal",
21
- ...rest
22
- } = props;
23
- const targetWindow = useWindow();
24
- useComponentCssInjection({
25
- testId: "salt-toggle-button-group",
26
- css: css_248z,
27
- window: targetWindow
28
- });
29
- const groupRef = useRef(null);
30
- const handleRef = useForkRef(ref, groupRef);
31
- const [value, setValue] = useControlled({
32
- default: defaultValue,
33
- controlled: valueProp,
34
- name: "ToggleButtonGroup",
35
- state: "value"
36
- });
37
- const [focused, setFocused] = useState(value);
38
- const select = useCallback(
39
- (event) => {
40
- const newValue = event.currentTarget.value;
41
- setValue(newValue);
42
- if (value !== newValue) {
43
- onChange == null ? void 0 : onChange(event);
44
- }
45
- },
46
- [onChange, value, setValue]
47
- );
48
- const isSelected = useCallback(
49
- (id) => {
50
- return value === id;
51
- },
52
- [value]
53
- );
54
- const focus = (id) => {
55
- setFocused(id);
56
- };
57
- const isFocused = useCallback(
58
- (id) => {
59
- return focused === id || !focused;
60
- },
61
- [focused]
62
- );
63
- const contextValue = useMemo(
64
- () => ({
65
- select,
66
- isSelected,
67
- focus,
68
- isFocused,
69
- disabled
70
- }),
71
- [select, isSelected, isFocused, disabled]
72
- );
73
- const handleKeyDown = (event) => {
74
- var _a, _b, _c, _d;
75
- const elements = Array.from(
76
- (_b = (_a = groupRef.current) == null ? void 0 : _a.querySelectorAll("button:not([disabled])")) != null ? _b : []
77
- );
78
- const currentIndex = elements.findIndex(
79
- (element) => element === document.activeElement
80
- );
81
- switch (event.key) {
82
- case "ArrowDown":
83
- case "ArrowRight":
84
- (_c = elements[(currentIndex + 1) % elements.length]) == null ? void 0 : _c.focus();
85
- break;
86
- case "ArrowUp":
87
- case "ArrowLeft":
88
- (_d = elements[(currentIndex - 1 + elements.length) % elements.length]) == null ? void 0 : _d.focus();
89
- break;
90
- }
91
- onKeyDown == null ? void 0 : onKeyDown(event);
92
- };
93
- return /* @__PURE__ */ jsx(ToggleButtonGroupContext.Provider, {
94
- value: contextValue,
95
- children: /* @__PURE__ */ jsx("div", {
96
- className: clsx(withBaseName(), withBaseName(orientation), className),
97
- role: "radiogroup",
98
- ref: handleRef,
99
- onKeyDown: handleKeyDown,
100
- ...rest,
101
- children
102
- })
103
- });
104
- });
105
-
106
- export { ToggleButtonGroup };
107
- //# sourceMappingURL=ToggleButtonGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToggleButtonGroup.js","sources":["../src/toggle-button-group/ToggleButtonGroup.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n forwardRef,\n KeyboardEvent,\n SyntheticEvent,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { makePrefixer, useControlled, useForkRef } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { ToggleButtonGroupContext } from \"./ToggleButtonGroupContext\";\nimport toggleButtonGroupCss from \"./ToggleButtonGroup.css\";\n\nexport interface ToggleButtonGroupProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"onChange\"> {\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue?: string | ReadonlyArray<string> | number | undefined;\n /**\n * If `true`, the Toggle Button Group will be disabled.\n */\n disabled?: boolean;\n /**\n * The value. Use when the component is controlled.\n */\n value?: string | ReadonlyArray<string> | number | undefined;\n /**\n * Callback fired when the selection changes.\n * @param event\n */\n onChange?: (event: SyntheticEvent<HTMLButtonElement>) => void;\n /**\n * The orientation of the toggle buttons.\n */\n orientation?: \"horizontal\" | \"vertical\";\n}\n\nconst withBaseName = makePrefixer(\"saltToggleButtonGroup\");\n\nexport const ToggleButtonGroup = forwardRef<\n HTMLDivElement,\n ToggleButtonGroupProps\n>(function ToggleButtonGroup(props, ref) {\n const {\n children,\n className,\n value: valueProp,\n defaultValue,\n disabled,\n onChange,\n onKeyDown,\n orientation = \"horizontal\",\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-toggle-button-group\",\n css: toggleButtonGroupCss,\n window: targetWindow,\n });\n\n const groupRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(ref, groupRef);\n\n const [value, setValue] = useControlled({\n default: defaultValue,\n controlled: valueProp,\n name: \"ToggleButtonGroup\",\n state: \"value\",\n });\n const [focused, setFocused] = useState<\n string | ReadonlyArray<string> | number | undefined\n >(value);\n\n const select = useCallback(\n (event: SyntheticEvent<HTMLButtonElement>) => {\n const newValue = event.currentTarget.value;\n setValue(newValue);\n if (value !== newValue) {\n onChange?.(event);\n }\n },\n [onChange, value, setValue]\n );\n\n const isSelected = useCallback(\n (id: string | ReadonlyArray<string> | number | undefined) => {\n return value === id;\n },\n [value]\n );\n\n const focus = (id: string | ReadonlyArray<string> | number | undefined) => {\n setFocused(id);\n };\n\n const isFocused = useCallback(\n (id: string | ReadonlyArray<string> | number | undefined) => {\n return focused === id || !focused;\n },\n [focused]\n );\n\n const contextValue = useMemo(\n () => ({\n select,\n isSelected,\n focus,\n isFocused,\n disabled,\n }),\n [select, isSelected, isFocused, disabled]\n );\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const elements: HTMLElement[] = Array.from(\n groupRef.current?.querySelectorAll(\"button:not([disabled])\") ?? []\n );\n const currentIndex = elements.findIndex(\n (element) => element === document.activeElement\n );\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n elements[(currentIndex + 1) % elements.length]?.focus();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n elements[\n (currentIndex - 1 + elements.length) % elements.length\n ]?.focus();\n break;\n }\n\n onKeyDown?.(event);\n };\n\n return (\n <ToggleButtonGroupContext.Provider value={contextValue}>\n <div\n className={clsx(withBaseName(), withBaseName(orientation), className)}\n role=\"radiogroup\"\n ref={handleRef}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n {children}\n </div>\n </ToggleButtonGroupContext.Provider>\n );\n});\n"],"names":["ToggleButtonGroup","toggleButtonGroupCss"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { createContext } from '@salt-ds/core';
2
- import { useContext } from 'react';
3
-
4
- const ToggleButtonGroupContext = createContext("ToggleButtonGroupContext", void 0);
5
- function useToggleButtonGroup() {
6
- return useContext(ToggleButtonGroupContext);
7
- }
8
-
9
- export { ToggleButtonGroupContext, useToggleButtonGroup };
10
- //# sourceMappingURL=ToggleButtonGroupContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToggleButtonGroupContext.js","sources":["../src/toggle-button-group/ToggleButtonGroupContext.ts"],"sourcesContent":["import { createContext } from \"@salt-ds/core\";\nimport { SyntheticEvent, useContext } from \"react\";\n\nexport interface ToggleButtonGroupContextValue {\n disabled?: boolean;\n select: (event: SyntheticEvent<HTMLButtonElement>) => void;\n isSelected: (\n id: string | ReadonlyArray<string> | number | undefined\n ) => boolean;\n focus: (id: string | ReadonlyArray<string> | number | undefined) => void;\n isFocused: (\n id: string | ReadonlyArray<string> | number | undefined\n ) => boolean;\n}\n\nexport const ToggleButtonGroupContext = createContext<\n ToggleButtonGroupContextValue | undefined\n>(\"ToggleButtonGroupContext\", undefined);\n\nexport function useToggleButtonGroup() {\n return useContext(ToggleButtonGroupContext);\n}\n"],"names":[],"mappings":";;;AAea,MAAA,wBAAA,GAA2B,aAEtC,CAAA,0BAAA,EAA4B,KAAS,CAAA,EAAA;AAEhC,SAAS,oBAAuB,GAAA;AACrC,EAAA,OAAO,WAAW,wBAAwB,CAAA,CAAA;AAC5C;;;;"}
@@ -1,25 +0,0 @@
1
- import { ComponentPropsWithoutRef, SyntheticEvent } from "react";
2
- export interface AccordionProps extends ComponentPropsWithoutRef<"div"> {
3
- /**
4
- * AccordionGroup value.
5
- */
6
- value: string;
7
- /**
8
- * Whether the accordion is expanded.
9
- */
10
- expanded?: boolean;
11
- /**
12
- * Whether the accordion is expanded by default.
13
- */
14
- defaultExpanded?: boolean;
15
- /**
16
- * Callback fired when the accordion is toggled.
17
- * @param event
18
- */
19
- onToggle?: (event: SyntheticEvent<HTMLButtonElement>) => void;
20
- /**
21
- * Whether the accordion is disabled.
22
- */
23
- disabled?: boolean;
24
- }
25
- export declare const Accordion: import("react").ForwardRefExoticComponent<AccordionProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,10 +0,0 @@
1
- import { SyntheticEvent } from "react";
2
- export interface AccordionContextValue {
3
- value: string;
4
- expanded: boolean;
5
- toggle: (event: SyntheticEvent<HTMLButtonElement>) => void;
6
- disabled: boolean;
7
- id: string;
8
- }
9
- export declare const AccordionContext: import("react").Context<AccordionContextValue>;
10
- export declare function useAccordion(): AccordionContextValue;
@@ -1,4 +0,0 @@
1
- import { ComponentPropsWithoutRef } from "react";
2
- export interface AccordionGroupProps extends ComponentPropsWithoutRef<"div"> {
3
- }
4
- export declare const AccordionGroup: import("react").ForwardRefExoticComponent<AccordionGroupProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,4 +0,0 @@
1
- import { ComponentPropsWithoutRef } from "react";
2
- export interface AccordionHeaderProps extends ComponentPropsWithoutRef<"button"> {
3
- }
4
- export declare const AccordionHeader: import("react").ForwardRefExoticComponent<AccordionHeaderProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -1,4 +0,0 @@
1
- import { ComponentPropsWithoutRef } from "react";
2
- export interface AccordionPanelProps extends ComponentPropsWithoutRef<"div"> {
3
- }
4
- export declare const AccordionPanel: import("react").ForwardRefExoticComponent<AccordionPanelProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,4 +0,0 @@
1
- export * from "./AccordionGroup";
2
- export * from "./AccordionPanel";
3
- export * from "./Accordion";
4
- export * from "./AccordionHeader";
@@ -1,7 +0,0 @@
1
- import { ComponentProps, MouseEvent } from "react";
2
- export interface ToggleButtonProps extends ComponentProps<"button"> {
3
- selected?: boolean;
4
- onChange?: (event: MouseEvent<HTMLButtonElement>) => void;
5
- value: string | ReadonlyArray<string> | number | undefined;
6
- }
7
- export declare const ToggleButton: import("react").ForwardRefExoticComponent<Omit<ToggleButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
@@ -1 +0,0 @@
1
- export * from "./ToggleButton";
@@ -1,25 +0,0 @@
1
- import { ComponentPropsWithoutRef, SyntheticEvent } from "react";
2
- export interface ToggleButtonGroupProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
3
- /**
4
- * The default value. Use when the component is not controlled.
5
- */
6
- defaultValue?: string | ReadonlyArray<string> | number | undefined;
7
- /**
8
- * If `true`, the Toggle Button Group will be disabled.
9
- */
10
- disabled?: boolean;
11
- /**
12
- * The value. Use when the component is controlled.
13
- */
14
- value?: string | ReadonlyArray<string> | number | undefined;
15
- /**
16
- * Callback fired when the selection changes.
17
- * @param event
18
- */
19
- onChange?: (event: SyntheticEvent<HTMLButtonElement>) => void;
20
- /**
21
- * The orientation of the toggle buttons.
22
- */
23
- orientation?: "horizontal" | "vertical";
24
- }
25
- export declare const ToggleButtonGroup: import("react").ForwardRefExoticComponent<ToggleButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,10 +0,0 @@
1
- import { SyntheticEvent } from "react";
2
- export interface ToggleButtonGroupContextValue {
3
- disabled?: boolean;
4
- select: (event: SyntheticEvent<HTMLButtonElement>) => void;
5
- isSelected: (id: string | ReadonlyArray<string> | number | undefined) => boolean;
6
- focus: (id: string | ReadonlyArray<string> | number | undefined) => void;
7
- isFocused: (id: string | ReadonlyArray<string> | number | undefined) => boolean;
8
- }
9
- export declare const ToggleButtonGroupContext: import("react").Context<ToggleButtonGroupContextValue | undefined>;
10
- export declare function useToggleButtonGroup(): ToggleButtonGroupContextValue | undefined;
@@ -1,2 +0,0 @@
1
- export * from "./ToggleButtonGroup";
2
- export { useToggleButtonGroup } from "./ToggleButtonGroupContext";