@fluentui/react-toolbar 9.0.0-rc.4 → 9.0.0

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 (122) hide show
  1. package/CHANGELOG.json +87 -7
  2. package/CHANGELOG.md +33 -8
  3. package/dist/index.d.ts +20 -0
  4. package/lib/ToolbarRadioGroup.js +2 -0
  5. package/lib/ToolbarRadioGroup.js.map +1 -0
  6. package/lib/components/Toolbar/useToolbar.js +3 -0
  7. package/lib/components/Toolbar/useToolbar.js.map +1 -1
  8. package/lib/components/ToolbarRadioButton/useToolbarRadioButton.js +3 -0
  9. package/lib/components/ToolbarRadioButton/useToolbarRadioButton.js.map +1 -1
  10. package/lib/components/ToolbarRadioGroup/ToolbarRadioGroup.js +18 -0
  11. package/lib/components/ToolbarRadioGroup/ToolbarRadioGroup.js.map +1 -0
  12. package/lib/components/ToolbarRadioGroup/ToolbarRadioGroup.types.js +2 -0
  13. package/lib/components/ToolbarRadioGroup/ToolbarRadioGroup.types.js.map +1 -0
  14. package/lib/components/ToolbarRadioGroup/index.js +3 -0
  15. package/lib/components/ToolbarRadioGroup/index.js.map +1 -0
  16. package/lib/index.js +1 -0
  17. package/lib/index.js.map +1 -1
  18. package/lib-amd/Toolbar.js +6 -0
  19. package/lib-amd/Toolbar.js.map +1 -0
  20. package/lib-amd/ToolbarButton.js +6 -0
  21. package/lib-amd/ToolbarButton.js.map +1 -0
  22. package/lib-amd/ToolbarDivider.js +6 -0
  23. package/lib-amd/ToolbarDivider.js.map +1 -0
  24. package/lib-amd/ToolbarGroup.js +6 -0
  25. package/lib-amd/ToolbarGroup.js.map +1 -0
  26. package/lib-amd/ToolbarRadioButton.js +6 -0
  27. package/lib-amd/ToolbarRadioButton.js.map +1 -0
  28. package/lib-amd/ToolbarRadioGroup.js +6 -0
  29. package/lib-amd/ToolbarRadioGroup.js.map +1 -0
  30. package/lib-amd/ToolbarToggleButton.js +6 -0
  31. package/lib-amd/ToolbarToggleButton.js.map +1 -0
  32. package/lib-amd/components/Toolbar/Toolbar.js +16 -0
  33. package/lib-amd/components/Toolbar/Toolbar.js.map +1 -0
  34. package/lib-amd/components/Toolbar/Toolbar.types.js +5 -0
  35. package/lib-amd/components/Toolbar/Toolbar.types.js.map +1 -0
  36. package/lib-amd/components/Toolbar/ToolbarContext.js +21 -0
  37. package/lib-amd/components/Toolbar/ToolbarContext.js.map +1 -0
  38. package/lib-amd/components/Toolbar/index.js +10 -0
  39. package/lib-amd/components/Toolbar/index.js.map +1 -0
  40. package/lib-amd/components/Toolbar/renderToolbar.js +15 -0
  41. package/lib-amd/components/Toolbar/renderToolbar.js.map +1 -0
  42. package/lib-amd/components/Toolbar/useToolbar.js +85 -0
  43. package/lib-amd/components/Toolbar/useToolbar.js.map +1 -0
  44. package/lib-amd/components/Toolbar/useToolbarContextValues.js +19 -0
  45. package/lib-amd/components/Toolbar/useToolbarContextValues.js.map +1 -0
  46. package/lib-amd/components/Toolbar/useToolbarStyles.js +38 -0
  47. package/lib-amd/components/Toolbar/useToolbarStyles.js.map +1 -0
  48. package/lib-amd/components/ToolbarButton/ToolbarButton.js +17 -0
  49. package/lib-amd/components/ToolbarButton/ToolbarButton.js.map +1 -0
  50. package/lib-amd/components/ToolbarButton/ToolbarButton.types.js +5 -0
  51. package/lib-amd/components/ToolbarButton/ToolbarButton.types.js.map +1 -0
  52. package/lib-amd/components/ToolbarButton/index.js +9 -0
  53. package/lib-amd/components/ToolbarButton/index.js.map +1 -0
  54. package/lib-amd/components/ToolbarButton/useToolbarButton.js +18 -0
  55. package/lib-amd/components/ToolbarButton/useToolbarButton.js.map +1 -0
  56. package/lib-amd/components/ToolbarButton/useToolbarButtonStyles.js +26 -0
  57. package/lib-amd/components/ToolbarButton/useToolbarButtonStyles.js.map +1 -0
  58. package/lib-amd/components/ToolbarDivider/ToolbarDivider.js +15 -0
  59. package/lib-amd/components/ToolbarDivider/ToolbarDivider.js.map +1 -0
  60. package/lib-amd/components/ToolbarDivider/ToolbarDivider.types.js +5 -0
  61. package/lib-amd/components/ToolbarDivider/ToolbarDivider.types.js.map +1 -0
  62. package/lib-amd/components/ToolbarDivider/index.js +9 -0
  63. package/lib-amd/components/ToolbarDivider/index.js.map +1 -0
  64. package/lib-amd/components/ToolbarDivider/useToolbarDivider.js +20 -0
  65. package/lib-amd/components/ToolbarDivider/useToolbarDivider.js.map +1 -0
  66. package/lib-amd/components/ToolbarDivider/useToolbarDividerStyles.js +27 -0
  67. package/lib-amd/components/ToolbarDivider/useToolbarDividerStyles.js.map +1 -0
  68. package/lib-amd/components/ToolbarGroup/ToolbarGroup.js +17 -0
  69. package/lib-amd/components/ToolbarGroup/ToolbarGroup.js.map +1 -0
  70. package/lib-amd/components/ToolbarGroup/ToolbarGroup.types.js +5 -0
  71. package/lib-amd/components/ToolbarGroup/ToolbarGroup.types.js.map +1 -0
  72. package/lib-amd/components/ToolbarGroup/index.js +10 -0
  73. package/lib-amd/components/ToolbarGroup/index.js.map +1 -0
  74. package/lib-amd/components/ToolbarGroup/renderToolbarGroup.js +14 -0
  75. package/lib-amd/components/ToolbarGroup/renderToolbarGroup.js.map +1 -0
  76. package/lib-amd/components/ToolbarGroup/useToolbarGroup.js +20 -0
  77. package/lib-amd/components/ToolbarGroup/useToolbarGroup.js.map +1 -0
  78. package/lib-amd/components/ToolbarGroup/useToolbarGroupStyles.js +24 -0
  79. package/lib-amd/components/ToolbarGroup/useToolbarGroupStyles.js.map +1 -0
  80. package/lib-amd/components/ToolbarRadioButton/ToolbarRadioButton.js +15 -0
  81. package/lib-amd/components/ToolbarRadioButton/ToolbarRadioButton.js.map +1 -0
  82. package/lib-amd/components/ToolbarRadioButton/ToolbarRadioButton.types.js +5 -0
  83. package/lib-amd/components/ToolbarRadioButton/ToolbarRadioButton.types.js.map +1 -0
  84. package/lib-amd/components/ToolbarRadioButton/index.js +9 -0
  85. package/lib-amd/components/ToolbarRadioButton/index.js.map +1 -0
  86. package/lib-amd/components/ToolbarRadioButton/useToolbarRadioButton.js +28 -0
  87. package/lib-amd/components/ToolbarRadioButton/useToolbarRadioButton.js.map +1 -0
  88. package/lib-amd/components/ToolbarRadioButton/useToolbarRadioButtonStyles.js +20 -0
  89. package/lib-amd/components/ToolbarRadioButton/useToolbarRadioButtonStyles.js.map +1 -0
  90. package/lib-amd/components/ToolbarRadioGroup/ToolbarRadioGroup.js +17 -0
  91. package/lib-amd/components/ToolbarRadioGroup/ToolbarRadioGroup.js.map +1 -0
  92. package/lib-amd/components/ToolbarRadioGroup/ToolbarRadioGroup.types.js +5 -0
  93. package/lib-amd/components/ToolbarRadioGroup/ToolbarRadioGroup.types.js.map +1 -0
  94. package/lib-amd/components/ToolbarRadioGroup/index.js +7 -0
  95. package/lib-amd/components/ToolbarRadioGroup/index.js.map +1 -0
  96. package/lib-amd/components/ToolbarToggleButton/ToolbarToggleButton.js +15 -0
  97. package/lib-amd/components/ToolbarToggleButton/ToolbarToggleButton.js.map +1 -0
  98. package/lib-amd/components/ToolbarToggleButton/ToolbarToggleButton.types.js +5 -0
  99. package/lib-amd/components/ToolbarToggleButton/ToolbarToggleButton.types.js.map +1 -0
  100. package/lib-amd/components/ToolbarToggleButton/index.js +9 -0
  101. package/lib-amd/components/ToolbarToggleButton/index.js.map +1 -0
  102. package/lib-amd/components/ToolbarToggleButton/useToolbarToggleButton.js +32 -0
  103. package/lib-amd/components/ToolbarToggleButton/useToolbarToggleButton.js.map +1 -0
  104. package/lib-amd/components/ToolbarToggleButton/useToolbarToggleButtonStyles.js +20 -0
  105. package/lib-amd/components/ToolbarToggleButton/useToolbarToggleButtonStyles.js.map +1 -0
  106. package/lib-amd/index.js +27 -0
  107. package/lib-amd/index.js.map +1 -0
  108. package/lib-commonjs/ToolbarRadioGroup.js +8 -0
  109. package/lib-commonjs/ToolbarRadioGroup.js.map +1 -0
  110. package/lib-commonjs/components/Toolbar/useToolbar.js +3 -0
  111. package/lib-commonjs/components/Toolbar/useToolbar.js.map +1 -1
  112. package/lib-commonjs/components/ToolbarRadioButton/useToolbarRadioButton.js +3 -0
  113. package/lib-commonjs/components/ToolbarRadioButton/useToolbarRadioButton.js.map +1 -1
  114. package/lib-commonjs/components/ToolbarRadioGroup/ToolbarRadioGroup.js +24 -0
  115. package/lib-commonjs/components/ToolbarRadioGroup/ToolbarRadioGroup.js.map +1 -0
  116. package/lib-commonjs/components/ToolbarRadioGroup/ToolbarRadioGroup.types.js +6 -0
  117. package/lib-commonjs/components/ToolbarRadioGroup/ToolbarRadioGroup.types.js.map +1 -0
  118. package/lib-commonjs/components/ToolbarRadioGroup/index.js +9 -0
  119. package/lib-commonjs/components/ToolbarRadioGroup/index.js.map +1 -0
  120. package/lib-commonjs/index.js +8 -1
  121. package/lib-commonjs/index.js.map +1 -1
  122. package/package.json +10 -9
@@ -0,0 +1,28 @@
1
+ define(["require", "exports", "tslib", "@fluentui/react-utilities", "@fluentui/react-button", "../Toolbar/ToolbarContext"], function (require, exports, tslib_1, react_utilities_1, react_button_1, ToolbarContext_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useToolbarRadioButton_unstable = void 0;
5
+ /**
6
+ * Given user props, defines default props for the RadioButton, calls useButtonState and useChecked, and returns
7
+ * processed state.
8
+ * @param props - User provided props to the RadioButton component.
9
+ * @param ref - User provided ref to be passed to the RadioButton component.
10
+ */
11
+ var useToolbarRadioButton_unstable = function (props, ref) {
12
+ var handleRadio = ToolbarContext_1.useToolbarContext_unstable(function (ctx) { return ctx.handleRadio; });
13
+ var checked = ToolbarContext_1.useToolbarContext_unstable(function (ctx) { var _a; return !!((_a = ctx.checkedValues[props.name]) === null || _a === void 0 ? void 0 : _a.includes(props.value)); });
14
+ var size = ToolbarContext_1.useToolbarContext_unstable(function (ctx) { return ctx.size; });
15
+ var onClickOriginal = props.onClick;
16
+ var toggleButtonState = react_button_1.useToggleButton_unstable(tslib_1.__assign({ size: size, checked: checked, role: 'radio', 'aria-checked': checked }, props), ref);
17
+ var state = tslib_1.__assign(tslib_1.__assign({}, toggleButtonState), { name: props.name, value: props.value });
18
+ var handleOnClick = react_utilities_1.useEventCallback(function (e) {
19
+ handleRadio === null || handleRadio === void 0 ? void 0 : handleRadio(e, state.name, state.value, state.checked);
20
+ onClickOriginal === null || onClickOriginal === void 0 ? void 0 : onClickOriginal(e);
21
+ });
22
+ state.root['aria-pressed'] = undefined;
23
+ state.root.onClick = handleOnClick;
24
+ return state;
25
+ };
26
+ exports.useToolbarRadioButton_unstable = useToolbarRadioButton_unstable;
27
+ });
28
+ //# sourceMappingURL=useToolbarRadioButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToolbarRadioButton.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-toolbar/src/components/ToolbarRadioButton/useToolbarRadioButton.ts"],"names":[],"mappings":";;;;IAMA;;;;;OAKG;IACI,IAAM,8BAA8B,GAAG,UAC5C,KAA8B,EAC9B,GAAqD;QAErD,IAAM,WAAW,GAAG,2CAA0B,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,WAAW,EAAf,CAAe,CAAC,CAAC;QACvE,IAAM,OAAO,GAAG,2CAA0B,CAAC,UAAA,GAAG,YAAI,OAAA,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,CAAA,EAAA,CAAC,CAAC;QAC1G,IAAM,IAAI,GAAG,2CAA0B,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,CAAC;QAEjD,IAAS,eAAe,GAAK,KAAK,QAAV,CAAW;QAC3C,IAAM,iBAAiB,GAAG,uCAAwB,oBAC9C,IAAI,MAAA,EAAE,OAAO,SAAA,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,IAAK,KAAK,GACjE,GAAG,CACJ,CAAC;QACF,IAAM,KAAK,yCACN,iBAAiB,KACpB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,GACnB,CAAC;QAEF,IAAM,aAAa,GAAG,kCAAgB,CACpC,UAAC,CAAoG;YACnG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzD,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,CAAC,CAAC,CAAC;QACvB,CAAC,CACF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IA5BW,QAAA,8BAA8B,kCA4BzC","sourcesContent":["import * as React from 'react';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { useToggleButton_unstable } from '@fluentui/react-button';\nimport { useToolbarContext_unstable } from '../Toolbar/ToolbarContext';\nimport { ToolbarRadioButtonProps, ToolbarRadioButtonState } from './ToolbarRadioButton.types';\n\n/**\n * Given user props, defines default props for the RadioButton, calls useButtonState and useChecked, and returns\n * processed state.\n * @param props - User provided props to the RadioButton component.\n * @param ref - User provided ref to be passed to the RadioButton component.\n */\nexport const useToolbarRadioButton_unstable = (\n props: ToolbarRadioButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): ToolbarRadioButtonState => {\n const handleRadio = useToolbarContext_unstable(ctx => ctx.handleRadio);\n const checked = useToolbarContext_unstable(ctx => !!ctx.checkedValues[props.name]?.includes(props.value));\n const size = useToolbarContext_unstable(ctx => ctx.size);\n\n const { onClick: onClickOriginal } = props;\n const toggleButtonState = useToggleButton_unstable(\n { size, checked, role: 'radio', 'aria-checked': checked, ...props },\n ref,\n );\n const state: ToolbarRadioButtonState = {\n ...toggleButtonState,\n name: props.name,\n value: props.value,\n };\n\n const handleOnClick = useEventCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent> & React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n handleRadio?.(e, state.name, state.value, state.checked);\n onClickOriginal?.(e);\n },\n );\n state.root['aria-pressed'] = undefined;\n state.root.onClick = handleOnClick;\n return state;\n};\n"]}
@@ -0,0 +1,20 @@
1
+ define(["require", "exports", "@fluentui/react-theme", "@griffel/react", "@fluentui/react-button"], function (require, exports, react_theme_1, react_1, react_button_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useToolbarRadioButtonStyles_unstable = void 0;
5
+ var useBaseStyles = react_1.makeStyles({
6
+ selected: {
7
+ color: react_theme_1.tokens.colorBrandForeground1,
8
+ },
9
+ });
10
+ /**
11
+ * Apply styling to the ToolbarRadioButton slots based on the state
12
+ */
13
+ var useToolbarRadioButtonStyles_unstable = function (state) {
14
+ react_button_1.useToggleButtonStyles_unstable(state);
15
+ var toggleButtonStyles = useBaseStyles();
16
+ state.root.className = react_1.mergeClasses(state.root.className, state.checked && toggleButtonStyles.selected);
17
+ };
18
+ exports.useToolbarRadioButtonStyles_unstable = useToolbarRadioButtonStyles_unstable;
19
+ });
20
+ //# sourceMappingURL=useToolbarRadioButtonStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToolbarRadioButtonStyles.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-toolbar/src/components/ToolbarRadioButton/useToolbarRadioButtonStyles.ts"],"names":[],"mappings":";;;;IAKA,IAAM,aAAa,GAAG,kBAAU,CAAC;QAC/B,QAAQ,EAAE;YACR,KAAK,EAAE,oBAAM,CAAC,qBAAqB;SACpC;KACF,CAAC,CAAC;IAEH;;OAEG;IACI,IAAM,oCAAoC,GAAG,UAAC,KAA8B;QACjF,6CAA8B,CAAC,KAAK,CAAC,CAAC;QACtC,IAAM,kBAAkB,GAAG,aAAa,EAAE,CAAC;QAE3C,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,oBAAY,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC1G,CAAC,CAAC;IALW,QAAA,oCAAoC,wCAK/C","sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { useToggleButtonStyles_unstable } from '@fluentui/react-button';\nimport { ToolbarRadioButtonState } from './ToolbarRadioButton.types';\n\nconst useBaseStyles = makeStyles({\n selected: {\n color: tokens.colorBrandForeground1,\n },\n});\n\n/**\n * Apply styling to the ToolbarRadioButton slots based on the state\n */\nexport const useToolbarRadioButtonStyles_unstable = (state: ToolbarRadioButtonState) => {\n useToggleButtonStyles_unstable(state);\n const toggleButtonStyles = useBaseStyles();\n\n state.root.className = mergeClasses(state.root.className, state.checked && toggleButtonStyles.selected);\n};\n"]}
@@ -0,0 +1,17 @@
1
+ define(["require", "exports", "tslib", "react", "../../ToolbarGroup"], function (require, exports, tslib_1, React, ToolbarGroup_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ToolbarRadioGroup = void 0;
5
+ /**
6
+ * ToolbarRadioGroup component is a Button to be used inside Toolbar
7
+ * which will respect toolbar props such as `size`
8
+ */
9
+ exports.ToolbarRadioGroup = React.forwardRef(function (props, ref) {
10
+ var state = ToolbarGroup_1.useToolbarGroup_unstable(tslib_1.__assign({ role: 'radiogroup' }, props), ref);
11
+ ToolbarGroup_1.useToolbarGroupStyles_unstable(state);
12
+ return ToolbarGroup_1.renderToolbarGroup_unstable(state);
13
+ // Casting is required due to lack of distributive union to support unions on @types/react
14
+ });
15
+ exports.ToolbarRadioGroup.displayName = 'ToolbarRadioGroup';
16
+ });
17
+ //# sourceMappingURL=ToolbarRadioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarRadioGroup.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-toolbar/src/components/ToolbarRadioGroup/ToolbarRadioGroup.tsx"],"names":[],"mappings":";;;;IASA;;;OAGG;IACU,QAAA,iBAAiB,GAAgD,KAAK,CAAC,UAAU,CAAC,UAAC,KAAK,EAAE,GAAG;QACxG,IAAM,KAAK,GAAG,uCAAwB,oBAAG,IAAI,EAAE,YAAY,IAAK,KAAK,GAAI,GAAG,CAAC,CAAC;QAC9E,6CAA8B,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,0CAA2B,CAAC,KAAK,CAAC,CAAC;QAC1C,0FAA0F;IAC5F,CAAC,CAAgD,CAAC;IAElD,yBAAiB,CAAC,WAAW,GAAG,mBAAmB,CAAC","sourcesContent":["import * as React from 'react';\nimport type { ToolbarRadioGroupProps } from './ToolbarRadioGroup.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport {\n renderToolbarGroup_unstable,\n useToolbarGroupStyles_unstable,\n useToolbarGroup_unstable,\n} from '../../ToolbarGroup';\n\n/**\n * ToolbarRadioGroup component is a Button to be used inside Toolbar\n * which will respect toolbar props such as `size`\n */\nexport const ToolbarRadioGroup: ForwardRefComponent<ToolbarRadioGroupProps> = React.forwardRef((props, ref) => {\n const state = useToolbarGroup_unstable({ role: 'radiogroup', ...props }, ref);\n useToolbarGroupStyles_unstable(state);\n return renderToolbarGroup_unstable(state);\n // Casting is required due to lack of distributive union to support unions on @types/react\n}) as ForwardRefComponent<ToolbarRadioGroupProps>;\n\nToolbarRadioGroup.displayName = 'ToolbarRadioGroup';\n"]}
@@ -0,0 +1,5 @@
1
+ define(["require", "exports"], function (require, exports) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ });
5
+ //# sourceMappingURL=ToolbarRadioGroup.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarRadioGroup.types.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-toolbar/src/components/ToolbarRadioGroup/ToolbarRadioGroup.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type ToolbarRadioGroupSlots = {\n root: Slot<'div'>;\n};\n\n/**\n * ToolbarButton Props\n */\nexport type ToolbarRadioGroupProps = ComponentProps<ToolbarRadioGroupSlots>;\n\n/**\n * State used in rendering ToolbarButton\n */\nexport type ToolbarRadioGroupState = ComponentState<ToolbarRadioGroupSlots>;\n"]}
@@ -0,0 +1,7 @@
1
+ define(["require", "exports", "tslib", "./ToolbarRadioGroup", "./ToolbarRadioGroup.types"], function (require, exports, tslib_1, ToolbarRadioGroup_1, ToolbarRadioGroup_types_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ tslib_1.__exportStar(ToolbarRadioGroup_1, exports);
5
+ tslib_1.__exportStar(ToolbarRadioGroup_types_1, exports);
6
+ });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-toolbar/src/components/ToolbarRadioGroup/index.ts"],"names":[],"mappings":";;;IAAA,mDAAoC;IACpC,yDAA0C","sourcesContent":["export * from './ToolbarRadioGroup';\nexport * from './ToolbarRadioGroup.types';\n"]}
@@ -0,0 +1,15 @@
1
+ define(["require", "exports", "react", "@fluentui/react-button", "./useToolbarToggleButton", "./useToolbarToggleButtonStyles"], function (require, exports, React, react_button_1, useToolbarToggleButton_1, useToolbarToggleButtonStyles_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ToolbarToggleButton = void 0;
5
+ /**
6
+ * ToolbarToggleButton component
7
+ */
8
+ exports.ToolbarToggleButton = React.forwardRef(function (props, ref) {
9
+ var state = useToolbarToggleButton_1.useToolbarToggleButton_unstable(props, ref);
10
+ useToolbarToggleButtonStyles_1.useToolbarToggleButtonStyles_unstable(state);
11
+ return react_button_1.renderToggleButton_unstable(state);
12
+ });
13
+ exports.ToolbarToggleButton.displayName = 'ToolbarToggleButton';
14
+ });
15
+ //# sourceMappingURL=ToolbarToggleButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarToggleButton.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-toolbar/src/components/ToolbarToggleButton/ToolbarToggleButton.tsx"],"names":[],"mappings":";;;;IAOA;;OAEG;IACU,QAAA,mBAAmB,GAAkD,KAAK,CAAC,UAAU,CAAC,UAAC,KAAK,EAAE,GAAG;QAC5G,IAAM,KAAK,GAAG,wDAA+B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE1D,oEAAqC,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,0CAA2B,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAkD,CAAC;IAEpD,2BAAmB,CAAC,WAAW,GAAG,qBAAqB,CAAC","sourcesContent":["import * as React from 'react';\nimport type { ToolbarToggleButtonProps } from './ToolbarToggleButton.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { renderToggleButton_unstable } from '@fluentui/react-button';\nimport { useToolbarToggleButton_unstable } from './useToolbarToggleButton';\nimport { useToolbarToggleButtonStyles_unstable } from './useToolbarToggleButtonStyles';\n\n/**\n * ToolbarToggleButton component\n */\nexport const ToolbarToggleButton: ForwardRefComponent<ToolbarToggleButtonProps> = React.forwardRef((props, ref) => {\n const state = useToolbarToggleButton_unstable(props, ref);\n\n useToolbarToggleButtonStyles_unstable(state);\n return renderToggleButton_unstable(state);\n}) as ForwardRefComponent<ToolbarToggleButtonProps>;\n\nToolbarToggleButton.displayName = 'ToolbarToggleButton';\n"]}
@@ -0,0 +1,5 @@
1
+ define(["require", "exports"], function (require, exports) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ });
5
+ //# sourceMappingURL=ToolbarToggleButton.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarToggleButton.types.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-toolbar/src/components/ToolbarToggleButton/ToolbarToggleButton.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState } from '@fluentui/react-utilities';\nimport { ToggleButtonProps, ButtonSlots, ToggleButtonState } from '@fluentui/react-button';\n\n/**\n * ToolbarToggleButton Props\n */\nexport type ToolbarToggleButtonProps = ComponentProps<ButtonSlots> &\n Partial<Pick<ToggleButtonProps, 'disabled' | 'disabledFocusable' | 'size'>> & {\n appearance?: 'primary' | 'subtle';\n name: string;\n value: string;\n };\n\n/**\n * State used in rendering ToolbarToggleButton\n */\nexport type ToolbarToggleButtonState = ComponentState<Partial<ButtonSlots>> &\n ToggleButtonState &\n Required<Pick<ToggleButtonProps, 'checked'>> &\n Pick<ToolbarToggleButtonProps, 'name' | 'value'>;\n"]}
@@ -0,0 +1,9 @@
1
+ define(["require", "exports", "tslib", "./ToolbarToggleButton", "./ToolbarToggleButton.types", "./useToolbarToggleButton", "./useToolbarToggleButtonStyles"], function (require, exports, tslib_1, ToolbarToggleButton_1, ToolbarToggleButton_types_1, useToolbarToggleButton_1, useToolbarToggleButtonStyles_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ tslib_1.__exportStar(ToolbarToggleButton_1, exports);
5
+ tslib_1.__exportStar(ToolbarToggleButton_types_1, exports);
6
+ tslib_1.__exportStar(useToolbarToggleButton_1, exports);
7
+ tslib_1.__exportStar(useToolbarToggleButtonStyles_1, exports);
8
+ });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-toolbar/src/components/ToolbarToggleButton/index.ts"],"names":[],"mappings":";;;IAAA,qDAAsC;IACtC,2DAA4C;IAC5C,wDAAyC;IACzC,8DAA+C","sourcesContent":["export * from './ToolbarToggleButton';\nexport * from './ToolbarToggleButton.types';\nexport * from './useToolbarToggleButton';\nexport * from './useToolbarToggleButtonStyles';\n"]}
@@ -0,0 +1,32 @@
1
+ define(["require", "exports", "tslib", "@fluentui/react-button", "../Toolbar/ToolbarContext"], function (require, exports, tslib_1, react_button_1, ToolbarContext_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useToolbarToggleButton_unstable = void 0;
5
+ /**
6
+ * Given user props, defines default props for the ToggleButton, calls useButtonState and useChecked, and returns
7
+ * processed state.
8
+ * @param props - User provided props to the ToggleButton component.
9
+ * @param ref - User provided ref to be passed to the ToggleButton component.
10
+ */
11
+ var useToolbarToggleButton_unstable = function (props, ref) {
12
+ var handleToggleButton = ToolbarContext_1.useToolbarContext_unstable(function (ctx) { return ctx.handleToggleButton; });
13
+ var checked = ToolbarContext_1.useToolbarContext_unstable(function (ctx) { var _a; return !!((_a = ctx.checkedValues[props.name]) === null || _a === void 0 ? void 0 : _a.includes(props.value)); });
14
+ var size = ToolbarContext_1.useToolbarContext_unstable(function (ctx) { return ctx.size; });
15
+ var onClickOriginal = props.onClick;
16
+ var toggleButtonState = react_button_1.useToggleButton_unstable(tslib_1.__assign({ size: size, checked: checked }, props), ref);
17
+ var state = tslib_1.__assign(tslib_1.__assign({}, toggleButtonState), { name: props.name, value: props.value });
18
+ var handleOnClick = function (e) {
19
+ if (state.disabled) {
20
+ e.preventDefault();
21
+ e.stopPropagation();
22
+ return;
23
+ }
24
+ handleToggleButton === null || handleToggleButton === void 0 ? void 0 : handleToggleButton(e, state.name, state.value, state.checked);
25
+ onClickOriginal === null || onClickOriginal === void 0 ? void 0 : onClickOriginal(e);
26
+ };
27
+ state.root.onClick = handleOnClick;
28
+ return state;
29
+ };
30
+ exports.useToolbarToggleButton_unstable = useToolbarToggleButton_unstable;
31
+ });
32
+ //# sourceMappingURL=useToolbarToggleButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToolbarToggleButton.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-toolbar/src/components/ToolbarToggleButton/useToolbarToggleButton.ts"],"names":[],"mappings":";;;;IAKA;;;;;OAKG;IACI,IAAM,+BAA+B,GAAG,UAC7C,KAA+B,EAC/B,GAAqD;QAErD,IAAM,kBAAkB,GAAG,2CAA0B,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,kBAAkB,EAAtB,CAAsB,CAAC,CAAC;QACrF,IAAM,OAAO,GAAG,2CAA0B,CAAC,UAAA,GAAG,YAAI,OAAA,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,CAAA,EAAA,CAAC,CAAC;QAC1G,IAAM,IAAI,GAAG,2CAA0B,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,CAAC;QAEjD,IAAS,eAAe,GAAK,KAAK,QAAV,CAAW;QAC3C,IAAM,iBAAiB,GAAG,uCAAwB,oBAAG,IAAI,MAAA,EAAE,OAAO,SAAA,IAAK,KAAK,GAAI,GAAG,CAAC,CAAC;QACrF,IAAM,KAAK,yCACN,iBAAiB,KACpB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,GACnB,CAAC;QAEF,IAAM,aAAa,GAAG,UACpB,CAAoG;YAEpG,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,OAAO;aACR;YAED,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAChE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IA/BW,QAAA,+BAA+B,mCA+B1C","sourcesContent":["import * as React from 'react';\nimport { useToggleButton_unstable } from '@fluentui/react-button';\nimport { useToolbarContext_unstable } from '../Toolbar/ToolbarContext';\nimport { ToolbarToggleButtonProps, ToolbarToggleButtonState } from './ToolbarToggleButton.types';\n\n/**\n * Given user props, defines default props for the ToggleButton, calls useButtonState and useChecked, and returns\n * processed state.\n * @param props - User provided props to the ToggleButton component.\n * @param ref - User provided ref to be passed to the ToggleButton component.\n */\nexport const useToolbarToggleButton_unstable = (\n props: ToolbarToggleButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): ToolbarToggleButtonState => {\n const handleToggleButton = useToolbarContext_unstable(ctx => ctx.handleToggleButton);\n const checked = useToolbarContext_unstable(ctx => !!ctx.checkedValues[props.name]?.includes(props.value));\n const size = useToolbarContext_unstable(ctx => ctx.size);\n\n const { onClick: onClickOriginal } = props;\n const toggleButtonState = useToggleButton_unstable({ size, checked, ...props }, ref);\n const state: ToolbarToggleButtonState = {\n ...toggleButtonState,\n name: props.name,\n value: props.value,\n };\n\n const handleOnClick = (\n e: React.MouseEvent<HTMLButtonElement, MouseEvent> & React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n ) => {\n if (state.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n handleToggleButton?.(e, state.name, state.value, state.checked);\n onClickOriginal?.(e);\n };\n\n state.root.onClick = handleOnClick;\n return state;\n};\n"]}
@@ -0,0 +1,20 @@
1
+ define(["require", "exports", "@fluentui/react-theme", "@griffel/react", "@fluentui/react-button"], function (require, exports, react_theme_1, react_1, react_button_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useToolbarToggleButtonStyles_unstable = void 0;
5
+ var useBaseStyles = react_1.makeStyles({
6
+ selected: {
7
+ color: react_theme_1.tokens.colorBrandForeground1,
8
+ },
9
+ });
10
+ /**
11
+ * Apply styling to the ToolbarToggleButton slots based on the state
12
+ */
13
+ var useToolbarToggleButtonStyles_unstable = function (state) {
14
+ react_button_1.useToggleButtonStyles_unstable(state);
15
+ var toggleButtonStyles = useBaseStyles();
16
+ state.root.className = react_1.mergeClasses(state.root.className, state.checked && toggleButtonStyles.selected);
17
+ };
18
+ exports.useToolbarToggleButtonStyles_unstable = useToolbarToggleButtonStyles_unstable;
19
+ });
20
+ //# sourceMappingURL=useToolbarToggleButtonStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToolbarToggleButtonStyles.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-toolbar/src/components/ToolbarToggleButton/useToolbarToggleButtonStyles.ts"],"names":[],"mappings":";;;;IAKA,IAAM,aAAa,GAAG,kBAAU,CAAC;QAC/B,QAAQ,EAAE;YACR,KAAK,EAAE,oBAAM,CAAC,qBAAqB;SACpC;KACF,CAAC,CAAC;IAEH;;OAEG;IACI,IAAM,qCAAqC,GAAG,UAAC,KAA+B;QACnF,6CAA8B,CAAC,KAAK,CAAC,CAAC;QACtC,IAAM,kBAAkB,GAAG,aAAa,EAAE,CAAC;QAE3C,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,oBAAY,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC1G,CAAC,CAAC;IALW,QAAA,qCAAqC,yCAKhD","sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { useToggleButtonStyles_unstable } from '@fluentui/react-button';\nimport { ToolbarToggleButtonState } from './ToolbarToggleButton.types';\n\nconst useBaseStyles = makeStyles({\n selected: {\n color: tokens.colorBrandForeground1,\n },\n});\n\n/**\n * Apply styling to the ToolbarToggleButton slots based on the state\n */\nexport const useToolbarToggleButtonStyles_unstable = (state: ToolbarToggleButtonState) => {\n useToggleButtonStyles_unstable(state);\n const toggleButtonStyles = useBaseStyles();\n\n state.root.className = mergeClasses(state.root.className, state.checked && toggleButtonStyles.selected);\n};\n"]}
@@ -0,0 +1,27 @@
1
+ define(["require", "exports", "./Toolbar", "./ToolbarButton", "./ToolbarDivider", "./ToolbarToggleButton", "./ToolbarRadioButton", "./ToolbarGroup", "./ToolbarRadioGroup"], function (require, exports, Toolbar_1, ToolbarButton_1, ToolbarDivider_1, ToolbarToggleButton_1, ToolbarRadioButton_1, ToolbarGroup_1, ToolbarRadioGroup_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ToolbarRadioGroup = exports.toolbarGroupClassNames = exports.renderToolbarGroup_unstable = exports.useToolbarGroup_unstable = exports.useToolbarGroupStyles_unstable = exports.ToolbarGroup = exports.useToolbarRadioButton_unstable = exports.useToolbarRadioButtonStyles_unstable = exports.ToolbarRadioButton = exports.useToolbarToggleButton_unstable = exports.useToolbarToggleButtonStyles_unstable = exports.ToolbarToggleButton = exports.useToolbarDivider_unstable = exports.useToolbarDividerStyles_unstable = exports.ToolbarDivider = exports.ToolbarButton = exports.useToolbar_unstable = exports.useToolbarStyles_unstable = exports.toolbarClassNames = exports.renderToolbar_unstable = exports.Toolbar = void 0;
5
+ Object.defineProperty(exports, "Toolbar", { enumerable: true, get: function () { return Toolbar_1.Toolbar; } });
6
+ Object.defineProperty(exports, "renderToolbar_unstable", { enumerable: true, get: function () { return Toolbar_1.renderToolbar_unstable; } });
7
+ Object.defineProperty(exports, "toolbarClassNames", { enumerable: true, get: function () { return Toolbar_1.toolbarClassNames; } });
8
+ Object.defineProperty(exports, "useToolbarStyles_unstable", { enumerable: true, get: function () { return Toolbar_1.useToolbarStyles_unstable; } });
9
+ Object.defineProperty(exports, "useToolbar_unstable", { enumerable: true, get: function () { return Toolbar_1.useToolbar_unstable; } });
10
+ Object.defineProperty(exports, "ToolbarButton", { enumerable: true, get: function () { return ToolbarButton_1.ToolbarButton; } });
11
+ Object.defineProperty(exports, "ToolbarDivider", { enumerable: true, get: function () { return ToolbarDivider_1.ToolbarDivider; } });
12
+ Object.defineProperty(exports, "useToolbarDividerStyles_unstable", { enumerable: true, get: function () { return ToolbarDivider_1.useToolbarDividerStyles_unstable; } });
13
+ Object.defineProperty(exports, "useToolbarDivider_unstable", { enumerable: true, get: function () { return ToolbarDivider_1.useToolbarDivider_unstable; } });
14
+ Object.defineProperty(exports, "ToolbarToggleButton", { enumerable: true, get: function () { return ToolbarToggleButton_1.ToolbarToggleButton; } });
15
+ Object.defineProperty(exports, "useToolbarToggleButtonStyles_unstable", { enumerable: true, get: function () { return ToolbarToggleButton_1.useToolbarToggleButtonStyles_unstable; } });
16
+ Object.defineProperty(exports, "useToolbarToggleButton_unstable", { enumerable: true, get: function () { return ToolbarToggleButton_1.useToolbarToggleButton_unstable; } });
17
+ Object.defineProperty(exports, "ToolbarRadioButton", { enumerable: true, get: function () { return ToolbarRadioButton_1.ToolbarRadioButton; } });
18
+ Object.defineProperty(exports, "useToolbarRadioButtonStyles_unstable", { enumerable: true, get: function () { return ToolbarRadioButton_1.useToolbarRadioButtonStyles_unstable; } });
19
+ Object.defineProperty(exports, "useToolbarRadioButton_unstable", { enumerable: true, get: function () { return ToolbarRadioButton_1.useToolbarRadioButton_unstable; } });
20
+ Object.defineProperty(exports, "ToolbarGroup", { enumerable: true, get: function () { return ToolbarGroup_1.ToolbarGroup; } });
21
+ Object.defineProperty(exports, "useToolbarGroupStyles_unstable", { enumerable: true, get: function () { return ToolbarGroup_1.useToolbarGroupStyles_unstable; } });
22
+ Object.defineProperty(exports, "useToolbarGroup_unstable", { enumerable: true, get: function () { return ToolbarGroup_1.useToolbarGroup_unstable; } });
23
+ Object.defineProperty(exports, "renderToolbarGroup_unstable", { enumerable: true, get: function () { return ToolbarGroup_1.renderToolbarGroup_unstable; } });
24
+ Object.defineProperty(exports, "toolbarGroupClassNames", { enumerable: true, get: function () { return ToolbarGroup_1.toolbarGroupClassNames; } });
25
+ Object.defineProperty(exports, "ToolbarRadioGroup", { enumerable: true, get: function () { return ToolbarRadioGroup_1.ToolbarRadioGroup; } });
26
+ });
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/react-components/react-toolbar/src/index.ts"],"names":[],"mappings":";;;;IACE,kGAAA,OAAO,OAAA;IACP,iHAAA,sBAAsB,OAAA;IACtB,4GAAA,iBAAiB,OAAA;IACjB,oHAAA,yBAAyB,OAAA;IACzB,8GAAA,mBAAmB,OAAA;IAGZ,8GAAA,aAAa,OAAA;IAOb,gHAAA,cAAc,OAAA;IAAE,kIAAA,gCAAgC,OAAA;IAAE,4HAAA,0BAA0B,OAAA;IAGnF,0HAAA,mBAAmB,OAAA;IACnB,4IAAA,qCAAqC,OAAA;IACrC,sIAAA,+BAA+B,OAAA;IAI/B,wHAAA,kBAAkB,OAAA;IAClB,0IAAA,oCAAoC,OAAA;IACpC,oIAAA,8BAA8B,OAAA;IAI9B,4GAAA,YAAY,OAAA;IACZ,8HAAA,8BAA8B,OAAA;IAC9B,wHAAA,wBAAwB,OAAA;IACxB,2HAAA,2BAA2B,OAAA;IAC3B,sHAAA,sBAAsB,OAAA;IAGf,sHAAA,iBAAiB,OAAA","sourcesContent":["export {\n Toolbar,\n renderToolbar_unstable,\n toolbarClassNames,\n useToolbarStyles_unstable,\n useToolbar_unstable,\n} from './Toolbar';\nexport type { ToolbarContextValue, ToolbarContextValues, ToolbarProps, ToolbarSlots, ToolbarState } from './Toolbar';\nexport { ToolbarButton } from './ToolbarButton';\nexport type {\n ToolbarButtonProps,\n ToolbarButtonState,\n useToolbarButtonStyles_unstable,\n useToolbarButton_unstable,\n} from './ToolbarButton';\nexport { ToolbarDivider, useToolbarDividerStyles_unstable, useToolbarDivider_unstable } from './ToolbarDivider';\nexport type { ToolbarDividerProps, ToolbarDividerState } from './ToolbarDivider';\nexport {\n ToolbarToggleButton,\n useToolbarToggleButtonStyles_unstable,\n useToolbarToggleButton_unstable,\n} from './ToolbarToggleButton';\nexport type { ToolbarToggleButtonProps, ToolbarToggleButtonState } from './ToolbarToggleButton';\nexport {\n ToolbarRadioButton,\n useToolbarRadioButtonStyles_unstable,\n useToolbarRadioButton_unstable,\n} from './ToolbarRadioButton';\nexport type { ToolbarRadioButtonProps, ToolbarRadioButtonState } from './ToolbarRadioButton';\nexport {\n ToolbarGroup,\n useToolbarGroupStyles_unstable,\n useToolbarGroup_unstable,\n renderToolbarGroup_unstable,\n toolbarGroupClassNames,\n} from './ToolbarGroup';\nexport type { ToolbarGroupProps, ToolbarGroupState } from './ToolbarGroup';\nexport { ToolbarRadioGroup } from './ToolbarRadioGroup';\nexport type { ToolbarRadioGroupProps, ToolbarRadioGroupState } from './ToolbarRadioGroup';\n"]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ const tslib_1 = /*#__PURE__*/require("tslib");
7
+ tslib_1.__exportStar(require("./components/ToolbarRadioGroup/index"), exports);
8
+ //# sourceMappingURL=ToolbarRadioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":";;;;;;AAAAA","names":["tslib_1"],"sourceRoot":"../src/","sources":["packages/react-components/react-toolbar/src/ToolbarRadioGroup.ts"],"sourcesContent":["export * from './components/ToolbarRadioGroup/index';\n"]}
@@ -38,6 +38,9 @@ const useToolbar_unstable = (props, ref) => {
38
38
  root: react_utilities_2.getNativeElementProps('div', {
39
39
  role: 'toolbar',
40
40
  ref,
41
+ ...(vertical && {
42
+ 'aria-orientation': 'vertical'
43
+ }),
41
44
  ...arrowNavigationProps,
42
45
  ...props
43
46
  })
@@ -1 +1 @@
1
- {"version":3,"mappings":"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","names":["useToolbar_unstable","props","ref","size","vertical","arrowNavigationProps","react_tabster_1","circular","axis","initialState","components","root","react_utilities_2","role","checkedValues","onCheckedValueChange","useToolbarSelectableState","defaultCheckedValues","handleToggleButton","react_utilities_1","e","name","value","checked","checkedItems","newCheckedItems","splice","indexOf","push","handleRadio","exports","state","setCheckedValues","defaultState","onCheckedValueChangeOriginal","s"],"sourceRoot":"../src/","sources":["packages/react-components/react-toolbar/src/components/Toolbar/useToolbar.ts"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, useControllableState } from '@fluentui/react-utilities';\nimport { getNativeElementProps } from '@fluentui/react-utilities';\nimport type { ToggableHandler, ToolbarProps, ToolbarState, UninitializedToolbarState } from './Toolbar.types';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n\n/**\n * Create the state required to render Toolbar.\n *\n * The returned state can be modified with hooks such as useToolbarStyles_unstable,\n * before being passed to renderToolbar_unstable.\n *\n * @param props - props from this instance of Toolbar\n * @param ref - reference to root HTMLElement of Toolbar\n */\nexport const useToolbar_unstable = (props: ToolbarProps, ref: React.Ref<HTMLElement>): ToolbarState => {\n const { size = 'medium', vertical = false } = props;\n\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: true,\n axis: 'both',\n });\n\n const initialState: UninitializedToolbarState = {\n size,\n vertical,\n // TODO add appropriate props/defaults\n components: {\n // TODO add each slot's element type or component\n root: 'div',\n },\n // TODO add appropriate slots, for example:\n // mySlot: resolveShorthand(props.mySlot),\n root: getNativeElementProps('div', {\n role: 'toolbar',\n ref,\n ...arrowNavigationProps,\n ...props,\n }),\n };\n\n const [checkedValues, onCheckedValueChange] = useToolbarSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues: props.defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange,\n });\n\n const handleToggleButton: ToggableHandler = useEventCallback(\n (e: React.MouseEvent | React.KeyboardEvent, name: string, value: string, checked?: boolean) => {\n if (name && value) {\n const checkedItems = checkedValues?.[name] || [];\n const newCheckedItems = [...checkedItems];\n if (checked) {\n newCheckedItems.splice(newCheckedItems.indexOf(value), 1);\n } else {\n newCheckedItems.push(value);\n }\n onCheckedValueChange?.(e, { name, checkedItems: newCheckedItems });\n }\n },\n );\n\n const handleRadio: ToggableHandler = useEventCallback(\n (e: React.MouseEvent | React.KeyboardEvent, name: string, value: string, checked?: boolean) => {\n if (name && value) {\n onCheckedValueChange?.(e, {\n name,\n checkedItems: [value],\n });\n }\n },\n );\n\n return {\n ...initialState,\n handleToggleButton,\n handleRadio,\n checkedValues: checkedValues ?? {},\n };\n};\n\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */\nconst useToolbarSelectableState = (\n state: Pick<ToolbarProps, 'checkedValues' | 'defaultCheckedValues' | 'onCheckedValueChange'>,\n) => {\n const [checkedValues, setCheckedValues] = useControllableState({\n state: state.checkedValues,\n defaultState: state.defaultCheckedValues,\n initialState: {},\n });\n const { onCheckedValueChange: onCheckedValueChangeOriginal } = state;\n const onCheckedValueChange: ToolbarState['onCheckedValueChange'] = useEventCallback((e, { name, checkedItems }) => {\n if (onCheckedValueChangeOriginal) {\n onCheckedValueChangeOriginal(e, { name, checkedItems });\n }\n\n setCheckedValues(s => {\n return s ? { ...s, [name]: checkedItems } : { [name]: checkedItems };\n });\n });\n\n return [checkedValues, onCheckedValueChange] as const;\n};\n"]}
1
+ {"version":3,"mappings":"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","names":["useToolbar_unstable","props","ref","size","vertical","arrowNavigationProps","react_tabster_1","circular","axis","initialState","components","root","react_utilities_2","role","checkedValues","onCheckedValueChange","useToolbarSelectableState","defaultCheckedValues","handleToggleButton","react_utilities_1","e","name","value","checked","checkedItems","newCheckedItems","splice","indexOf","push","handleRadio","exports","state","setCheckedValues","defaultState","onCheckedValueChangeOriginal","s"],"sourceRoot":"../src/","sources":["packages/react-components/react-toolbar/src/components/Toolbar/useToolbar.ts"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, useControllableState } from '@fluentui/react-utilities';\nimport { getNativeElementProps } from '@fluentui/react-utilities';\nimport type { ToggableHandler, ToolbarProps, ToolbarState, UninitializedToolbarState } from './Toolbar.types';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n\n/**\n * Create the state required to render Toolbar.\n *\n * The returned state can be modified with hooks such as useToolbarStyles_unstable,\n * before being passed to renderToolbar_unstable.\n *\n * @param props - props from this instance of Toolbar\n * @param ref - reference to root HTMLElement of Toolbar\n */\nexport const useToolbar_unstable = (props: ToolbarProps, ref: React.Ref<HTMLElement>): ToolbarState => {\n const { size = 'medium', vertical = false } = props;\n\n const arrowNavigationProps = useArrowNavigationGroup({\n circular: true,\n axis: 'both',\n });\n\n const initialState: UninitializedToolbarState = {\n size,\n vertical,\n // TODO add appropriate props/defaults\n components: {\n // TODO add each slot's element type or component\n root: 'div',\n },\n // TODO add appropriate slots, for example:\n // mySlot: resolveShorthand(props.mySlot),\n root: getNativeElementProps('div', {\n role: 'toolbar',\n ref,\n ...(vertical && { 'aria-orientation': 'vertical' }),\n ...arrowNavigationProps,\n ...props,\n }),\n };\n\n const [checkedValues, onCheckedValueChange] = useToolbarSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues: props.defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange,\n });\n\n const handleToggleButton: ToggableHandler = useEventCallback(\n (e: React.MouseEvent | React.KeyboardEvent, name: string, value: string, checked?: boolean) => {\n if (name && value) {\n const checkedItems = checkedValues?.[name] || [];\n const newCheckedItems = [...checkedItems];\n if (checked) {\n newCheckedItems.splice(newCheckedItems.indexOf(value), 1);\n } else {\n newCheckedItems.push(value);\n }\n onCheckedValueChange?.(e, { name, checkedItems: newCheckedItems });\n }\n },\n );\n\n const handleRadio: ToggableHandler = useEventCallback(\n (e: React.MouseEvent | React.KeyboardEvent, name: string, value: string, checked?: boolean) => {\n if (name && value) {\n onCheckedValueChange?.(e, {\n name,\n checkedItems: [value],\n });\n }\n },\n );\n\n return {\n ...initialState,\n handleToggleButton,\n handleRadio,\n checkedValues: checkedValues ?? {},\n };\n};\n\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */\nconst useToolbarSelectableState = (\n state: Pick<ToolbarProps, 'checkedValues' | 'defaultCheckedValues' | 'onCheckedValueChange'>,\n) => {\n const [checkedValues, setCheckedValues] = useControllableState({\n state: state.checkedValues,\n defaultState: state.defaultCheckedValues,\n initialState: {},\n });\n const { onCheckedValueChange: onCheckedValueChangeOriginal } = state;\n const onCheckedValueChange: ToolbarState['onCheckedValueChange'] = useEventCallback((e, { name, checkedItems }) => {\n if (onCheckedValueChangeOriginal) {\n onCheckedValueChangeOriginal(e, { name, checkedItems });\n }\n\n setCheckedValues(s => {\n return s ? { ...s, [name]: checkedItems } : { [name]: checkedItems };\n });\n });\n\n return [checkedValues, onCheckedValueChange] as const;\n};\n"]}
@@ -26,6 +26,8 @@ const useToolbarRadioButton_unstable = (props, ref) => {
26
26
  const toggleButtonState = react_button_1.useToggleButton_unstable({
27
27
  size,
28
28
  checked,
29
+ role: 'radio',
30
+ 'aria-checked': checked,
29
31
  ...props
30
32
  }, ref);
31
33
  const state = {
@@ -37,6 +39,7 @@ const useToolbarRadioButton_unstable = (props, ref) => {
37
39
  handleRadio === null || handleRadio === void 0 ? void 0 : handleRadio(e, state.name, state.value, state.checked);
38
40
  onClickOriginal === null || onClickOriginal === void 0 ? void 0 : onClickOriginal(e);
39
41
  });
42
+ state.root['aria-pressed'] = undefined;
40
43
  state.root.onClick = handleOnClick;
41
44
  return state;
42
45
  };
@@ -1 +1 @@
1
- {"version":3,"mappings":";;;;;;AACA;AACA;AACA;AAGA;;;;;;AAMO,MAAMA,8BAA8B,GAAG,CAC5CC,KAA8B,EAC9BC,GAAqD,KAC1B;EAC3B,MAAMC,WAAW,GAAGC,2CAA0B,CAACC,GAAG,IAAIA,GAAG,CAACF,WAAW,CAAC;EACtE,MAAMG,OAAO,GAAGF,2CAA0B,CAACC,GAAG,IAAG;IAAA;IAAC,QAAC,EAAC,SAAG,CAACE,aAAa,CAACN,KAAK,CAACO,IAAI,CAAC,0CAAEC,QAAQ,CAACR,KAAK,CAACS,KAAK,CAAC;EAAA,EAAC;EACzG,MAAMC,IAAI,GAAGP,2CAA0B,CAACC,GAAG,IAAIA,GAAG,CAACM,IAAI,CAAC;EAExD,MAAM;IAAEC,OAAO,EAAEC;EAAe,CAAE,GAAGZ,KAAK;EAC1C,MAAMa,iBAAiB,GAAGC,uCAAwB,CAAC;IAAEJ,IAAI;IAAEL,OAAO;IAAE,GAAGL;EAAK,CAAE,EAAEC,GAAG,CAAC;EACpF,MAAMc,KAAK,GAA4B;IACrC,GAAGF,iBAAiB;IACpBN,IAAI,EAAEP,KAAK,CAACO,IAAI;IAChBE,KAAK,EAAET,KAAK,CAACS;GACd;EAED,MAAMO,aAAa,GAAGC,kCAAgB,CACnCC,CAAoG,IAAI;IACvGhB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGgB,CAAC,EAAEH,KAAK,CAACR,IAAI,EAAEQ,KAAK,CAACN,KAAK,EAAEM,KAAK,CAACV,OAAO,CAAC;IACxDO,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAGM,CAAC,CAAC;EACtB,CAAC,CACF;EAEDH,KAAK,CAACI,IAAI,CAACR,OAAO,GAAGK,aAAa;EAClC,OAAOD,KAAK;AACd,CAAC;AAzBYK,sCAA8B","names":["useToolbarRadioButton_unstable","props","ref","handleRadio","ToolbarContext_1","ctx","checked","checkedValues","name","includes","value","size","onClick","onClickOriginal","toggleButtonState","react_button_1","state","handleOnClick","react_utilities_1","e","root","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-toolbar/src/components/ToolbarRadioButton/useToolbarRadioButton.ts"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { useToggleButton_unstable } from '@fluentui/react-button';\nimport { useToolbarContext_unstable } from '../Toolbar/ToolbarContext';\nimport { ToolbarRadioButtonProps, ToolbarRadioButtonState } from './ToolbarRadioButton.types';\n\n/**\n * Given user props, defines default props for the RadioButton, calls useButtonState and useChecked, and returns\n * processed state.\n * @param props - User provided props to the RadioButton component.\n * @param ref - User provided ref to be passed to the RadioButton component.\n */\nexport const useToolbarRadioButton_unstable = (\n props: ToolbarRadioButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): ToolbarRadioButtonState => {\n const handleRadio = useToolbarContext_unstable(ctx => ctx.handleRadio);\n const checked = useToolbarContext_unstable(ctx => !!ctx.checkedValues[props.name]?.includes(props.value));\n const size = useToolbarContext_unstable(ctx => ctx.size);\n\n const { onClick: onClickOriginal } = props;\n const toggleButtonState = useToggleButton_unstable({ size, checked, ...props }, ref);\n const state: ToolbarRadioButtonState = {\n ...toggleButtonState,\n name: props.name,\n value: props.value,\n };\n\n const handleOnClick = useEventCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent> & React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n handleRadio?.(e, state.name, state.value, state.checked);\n onClickOriginal?.(e);\n },\n );\n\n state.root.onClick = handleOnClick;\n return state;\n};\n"]}
1
+ {"version":3,"mappings":";;;;;;AACA;AACA;AACA;AAGA;;;;;;AAMO,MAAMA,8BAA8B,GAAG,CAC5CC,KAA8B,EAC9BC,GAAqD,KAC1B;EAC3B,MAAMC,WAAW,GAAGC,2CAA0B,CAACC,GAAG,IAAIA,GAAG,CAACF,WAAW,CAAC;EACtE,MAAMG,OAAO,GAAGF,2CAA0B,CAACC,GAAG,IAAG;IAAA;IAAC,QAAC,EAAC,SAAG,CAACE,aAAa,CAACN,KAAK,CAACO,IAAI,CAAC,0CAAEC,QAAQ,CAACR,KAAK,CAACS,KAAK,CAAC;EAAA,EAAC;EACzG,MAAMC,IAAI,GAAGP,2CAA0B,CAACC,GAAG,IAAIA,GAAG,CAACM,IAAI,CAAC;EAExD,MAAM;IAAEC,OAAO,EAAEC;EAAe,CAAE,GAAGZ,KAAK;EAC1C,MAAMa,iBAAiB,GAAGC,uCAAwB,CAChD;IAAEJ,IAAI;IAAEL,OAAO;IAAEU,IAAI,EAAE,OAAO;IAAE,cAAc,EAAEV,OAAO;IAAE,GAAGL;EAAK,CAAE,EACnEC,GAAG,CACJ;EACD,MAAMe,KAAK,GAA4B;IACrC,GAAGH,iBAAiB;IACpBN,IAAI,EAAEP,KAAK,CAACO,IAAI;IAChBE,KAAK,EAAET,KAAK,CAACS;GACd;EAED,MAAMQ,aAAa,GAAGC,kCAAgB,CACnCC,CAAoG,IAAI;IACvGjB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGiB,CAAC,EAAEH,KAAK,CAACT,IAAI,EAAES,KAAK,CAACP,KAAK,EAAEO,KAAK,CAACX,OAAO,CAAC;IACxDO,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAGO,CAAC,CAAC;EACtB,CAAC,CACF;EACDH,KAAK,CAACI,IAAI,CAAC,cAAc,CAAC,GAAGC,SAAS;EACtCL,KAAK,CAACI,IAAI,CAACT,OAAO,GAAGM,aAAa;EAClC,OAAOD,KAAK;AACd,CAAC;AA5BYM,sCAA8B","names":["useToolbarRadioButton_unstable","props","ref","handleRadio","ToolbarContext_1","ctx","checked","checkedValues","name","includes","value","size","onClick","onClickOriginal","toggleButtonState","react_button_1","role","state","handleOnClick","react_utilities_1","e","root","undefined","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-toolbar/src/components/ToolbarRadioButton/useToolbarRadioButton.ts"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { useToggleButton_unstable } from '@fluentui/react-button';\nimport { useToolbarContext_unstable } from '../Toolbar/ToolbarContext';\nimport { ToolbarRadioButtonProps, ToolbarRadioButtonState } from './ToolbarRadioButton.types';\n\n/**\n * Given user props, defines default props for the RadioButton, calls useButtonState and useChecked, and returns\n * processed state.\n * @param props - User provided props to the RadioButton component.\n * @param ref - User provided ref to be passed to the RadioButton component.\n */\nexport const useToolbarRadioButton_unstable = (\n props: ToolbarRadioButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): ToolbarRadioButtonState => {\n const handleRadio = useToolbarContext_unstable(ctx => ctx.handleRadio);\n const checked = useToolbarContext_unstable(ctx => !!ctx.checkedValues[props.name]?.includes(props.value));\n const size = useToolbarContext_unstable(ctx => ctx.size);\n\n const { onClick: onClickOriginal } = props;\n const toggleButtonState = useToggleButton_unstable(\n { size, checked, role: 'radio', 'aria-checked': checked, ...props },\n ref,\n );\n const state: ToolbarRadioButtonState = {\n ...toggleButtonState,\n name: props.name,\n value: props.value,\n };\n\n const handleOnClick = useEventCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent> & React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n handleRadio?.(e, state.name, state.value, state.checked);\n onClickOriginal?.(e);\n },\n );\n state.root['aria-pressed'] = undefined;\n state.root.onClick = handleOnClick;\n return state;\n};\n"]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ToolbarRadioGroup = void 0;
7
+ const React = /*#__PURE__*/require("react");
8
+ const ToolbarGroup_1 = /*#__PURE__*/require("../../ToolbarGroup");
9
+ /**
10
+ * ToolbarRadioGroup component is a Button to be used inside Toolbar
11
+ * which will respect toolbar props such as `size`
12
+ */
13
+ exports.ToolbarRadioGroup = /*#__PURE__*/React.forwardRef((props, ref) => {
14
+ const state = ToolbarGroup_1.useToolbarGroup_unstable({
15
+ role: 'radiogroup',
16
+ ...props
17
+ }, ref);
18
+ ToolbarGroup_1.useToolbarGroupStyles_unstable(state);
19
+ return ToolbarGroup_1.renderToolbarGroup_unstable(state);
20
+ // Casting is required due to lack of distributive union to support unions on @types/react
21
+ });
22
+
23
+ exports.ToolbarRadioGroup.displayName = 'ToolbarRadioGroup';
24
+ //# sourceMappingURL=ToolbarRadioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":";;;;;;AAAA;AAGA;AAMA;;;;AAIaA,yBAAiB,gBAAgDC,KAAK,CAACC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAI;EAC5G,MAAMC,KAAK,GAAGC,uCAAwB,CAAC;IAAEC,IAAI,EAAE,YAAY;IAAE,GAAGJ;EAAK,CAAE,EAAEC,GAAG,CAAC;EAC7EE,6CAA8B,CAACD,KAAK,CAAC;EACrC,OAAOC,0CAA2B,CAACD,KAAK,CAAC;EACzC;AACF,CAAC,CAAgD;;AAEjDL,yBAAiB,CAACQ,WAAW,GAAG,mBAAmB","names":["exports","React","forwardRef","props","ref","state","ToolbarGroup_1","role","displayName"],"sourceRoot":"../src/","sources":["packages/react-components/react-toolbar/src/components/ToolbarRadioGroup/ToolbarRadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ToolbarRadioGroupProps } from './ToolbarRadioGroup.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport {\n renderToolbarGroup_unstable,\n useToolbarGroupStyles_unstable,\n useToolbarGroup_unstable,\n} from '../../ToolbarGroup';\n\n/**\n * ToolbarRadioGroup component is a Button to be used inside Toolbar\n * which will respect toolbar props such as `size`\n */\nexport const ToolbarRadioGroup: ForwardRefComponent<ToolbarRadioGroupProps> = React.forwardRef((props, ref) => {\n const state = useToolbarGroup_unstable({ role: 'radiogroup', ...props }, ref);\n useToolbarGroupStyles_unstable(state);\n return renderToolbarGroup_unstable(state);\n // Casting is required due to lack of distributive union to support unions on @types/react\n}) as ForwardRefComponent<ToolbarRadioGroupProps>;\n\nToolbarRadioGroup.displayName = 'ToolbarRadioGroup';\n"]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=ToolbarRadioGroup.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"","names":[],"sourceRoot":"../src/","sources":[],"sourcesContent":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ const tslib_1 = /*#__PURE__*/require("tslib");
7
+ tslib_1.__exportStar(require("./ToolbarRadioGroup"), exports);
8
+ tslib_1.__exportStar(require("./ToolbarRadioGroup.types"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":";;;;;;AAAAA;AACAA","names":["tslib_1"],"sourceRoot":"../src/","sources":["packages/react-components/react-toolbar/src/components/ToolbarRadioGroup/index.ts"],"sourcesContent":["export * from './ToolbarRadioGroup';\nexport * from './ToolbarRadioGroup.types';\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.toolbarGroupClassNames = exports.renderToolbarGroup_unstable = exports.useToolbarGroup_unstable = exports.useToolbarGroupStyles_unstable = exports.ToolbarGroup = exports.useToolbarRadioButton_unstable = exports.useToolbarRadioButtonStyles_unstable = exports.ToolbarRadioButton = exports.useToolbarToggleButton_unstable = exports.useToolbarToggleButtonStyles_unstable = exports.ToolbarToggleButton = exports.useToolbarDivider_unstable = exports.useToolbarDividerStyles_unstable = exports.ToolbarDivider = exports.ToolbarButton = exports.useToolbar_unstable = exports.useToolbarStyles_unstable = exports.toolbarClassNames = exports.renderToolbar_unstable = exports.Toolbar = void 0;
6
+ exports.ToolbarRadioGroup = exports.toolbarGroupClassNames = exports.renderToolbarGroup_unstable = exports.useToolbarGroup_unstable = exports.useToolbarGroupStyles_unstable = exports.ToolbarGroup = exports.useToolbarRadioButton_unstable = exports.useToolbarRadioButtonStyles_unstable = exports.ToolbarRadioButton = exports.useToolbarToggleButton_unstable = exports.useToolbarToggleButtonStyles_unstable = exports.ToolbarToggleButton = exports.useToolbarDivider_unstable = exports.useToolbarDividerStyles_unstable = exports.ToolbarDivider = exports.ToolbarButton = exports.useToolbar_unstable = exports.useToolbarStyles_unstable = exports.toolbarClassNames = exports.renderToolbar_unstable = exports.Toolbar = void 0;
7
7
  var Toolbar_1 = /*#__PURE__*/require("./Toolbar");
8
8
  Object.defineProperty(exports, "Toolbar", {
9
9
  enumerable: true,
@@ -130,4 +130,11 @@ Object.defineProperty(exports, "toolbarGroupClassNames", {
130
130
  return ToolbarGroup_1.toolbarGroupClassNames;
131
131
  }
132
132
  });
133
+ var ToolbarRadioGroup_1 = /*#__PURE__*/require("./ToolbarRadioGroup");
134
+ Object.defineProperty(exports, "ToolbarRadioGroup", {
135
+ enumerable: true,
136
+ get: function () {
137
+ return ToolbarRadioGroup_1.ToolbarRadioGroup;
138
+ }
139
+ });
133
140
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":";;;;;;AAAA;AACEA;EAAAC;EAAAC;IAAA,wBAAO;EAAA;AAAA;AACPF;EAAAC;EAAAC;IAAA,uCAAsB;EAAA;AAAA;AACtBF;EAAAC;EAAAC;IAAA,kCAAiB;EAAA;AAAA;AACjBF;EAAAC;EAAAC;IAAA,0CAAyB;EAAA;AAAA;AACzBF;EAAAC;EAAAC;IAAA,oCAAmB;EAAA;AAAA;AAGrB;AAASF;EAAAC;EAAAC;IAAA,oCAAa;EAAA;AAAA;AAOtB;AAASF;EAAAC;EAAAC;IAAA,sCAAc;EAAA;AAAA;AAAEF;EAAAC;EAAAC;IAAA,wDAAgC;EAAA;AAAA;AAAEF;EAAAC;EAAAC;IAAA,kDAA0B;EAAA;AAAA;AAErF;AACEF;EAAAC;EAAAC;IAAA,gDAAmB;EAAA;AAAA;AACnBF;EAAAC;EAAAC;IAAA,kEAAqC;EAAA;AAAA;AACrCF;EAAAC;EAAAC;IAAA,4DAA+B;EAAA;AAAA;AAGjC;AACEF;EAAAC;EAAAC;IAAA,8CAAkB;EAAA;AAAA;AAClBF;EAAAC;EAAAC;IAAA,gEAAoC;EAAA;AAAA;AACpCF;EAAAC;EAAAC;IAAA,0DAA8B;EAAA;AAAA;AAGhC;AACEF;EAAAC;EAAAC;IAAA,kCAAY;EAAA;AAAA;AACZF;EAAAC;EAAAC;IAAA,oDAA8B;EAAA;AAAA;AAC9BF;EAAAC;EAAAC;IAAA,8CAAwB;EAAA;AAAA;AACxBF;EAAAC;EAAAC;IAAA,iDAA2B;EAAA;AAAA;AAC3BF;EAAAC;EAAAC;IAAA,4CAAsB;EAAA;AAAA","names":["Object","enumerable","get"],"sourceRoot":"../src/","sources":["packages/react-components/react-toolbar/src/index.ts"],"sourcesContent":["export {\n Toolbar,\n renderToolbar_unstable,\n toolbarClassNames,\n useToolbarStyles_unstable,\n useToolbar_unstable,\n} from './Toolbar';\nexport type { ToolbarContextValue, ToolbarContextValues, ToolbarProps, ToolbarSlots, ToolbarState } from './Toolbar';\nexport { ToolbarButton } from './ToolbarButton';\nexport type {\n ToolbarButtonProps,\n ToolbarButtonState,\n useToolbarButtonStyles_unstable,\n useToolbarButton_unstable,\n} from './ToolbarButton';\nexport { ToolbarDivider, useToolbarDividerStyles_unstable, useToolbarDivider_unstable } from './ToolbarDivider';\nexport type { ToolbarDividerProps, ToolbarDividerState } from './ToolbarDivider';\nexport {\n ToolbarToggleButton,\n useToolbarToggleButtonStyles_unstable,\n useToolbarToggleButton_unstable,\n} from './ToolbarToggleButton';\nexport type { ToolbarToggleButtonProps, ToolbarToggleButtonState } from './ToolbarToggleButton';\nexport {\n ToolbarRadioButton,\n useToolbarRadioButtonStyles_unstable,\n useToolbarRadioButton_unstable,\n} from './ToolbarRadioButton';\nexport type { ToolbarRadioButtonProps, ToolbarRadioButtonState } from './ToolbarRadioButton';\nexport {\n ToolbarGroup,\n useToolbarGroupStyles_unstable,\n useToolbarGroup_unstable,\n renderToolbarGroup_unstable,\n toolbarGroupClassNames,\n} from './ToolbarGroup';\nexport type { ToolbarGroupProps, ToolbarGroupState } from './ToolbarGroup';\n"]}
1
+ {"version":3,"mappings":";;;;;;AAAA;AACEA;EAAAC;EAAAC;IAAA,wBAAO;EAAA;AAAA;AACPF;EAAAC;EAAAC;IAAA,uCAAsB;EAAA;AAAA;AACtBF;EAAAC;EAAAC;IAAA,kCAAiB;EAAA;AAAA;AACjBF;EAAAC;EAAAC;IAAA,0CAAyB;EAAA;AAAA;AACzBF;EAAAC;EAAAC;IAAA,oCAAmB;EAAA;AAAA;AAGrB;AAASF;EAAAC;EAAAC;IAAA,oCAAa;EAAA;AAAA;AAOtB;AAASF;EAAAC;EAAAC;IAAA,sCAAc;EAAA;AAAA;AAAEF;EAAAC;EAAAC;IAAA,wDAAgC;EAAA;AAAA;AAAEF;EAAAC;EAAAC;IAAA,kDAA0B;EAAA;AAAA;AAErF;AACEF;EAAAC;EAAAC;IAAA,gDAAmB;EAAA;AAAA;AACnBF;EAAAC;EAAAC;IAAA,kEAAqC;EAAA;AAAA;AACrCF;EAAAC;EAAAC;IAAA,4DAA+B;EAAA;AAAA;AAGjC;AACEF;EAAAC;EAAAC;IAAA,8CAAkB;EAAA;AAAA;AAClBF;EAAAC;EAAAC;IAAA,gEAAoC;EAAA;AAAA;AACpCF;EAAAC;EAAAC;IAAA,0DAA8B;EAAA;AAAA;AAGhC;AACEF;EAAAC;EAAAC;IAAA,kCAAY;EAAA;AAAA;AACZF;EAAAC;EAAAC;IAAA,oDAA8B;EAAA;AAAA;AAC9BF;EAAAC;EAAAC;IAAA,8CAAwB;EAAA;AAAA;AACxBF;EAAAC;EAAAC;IAAA,iDAA2B;EAAA;AAAA;AAC3BF;EAAAC;EAAAC;IAAA,4CAAsB;EAAA;AAAA;AAGxB;AAASF;EAAAC;EAAAC;IAAA,4CAAiB;EAAA;AAAA","names":["Object","enumerable","get"],"sourceRoot":"../src/","sources":["packages/react-components/react-toolbar/src/index.ts"],"sourcesContent":["export {\n Toolbar,\n renderToolbar_unstable,\n toolbarClassNames,\n useToolbarStyles_unstable,\n useToolbar_unstable,\n} from './Toolbar';\nexport type { ToolbarContextValue, ToolbarContextValues, ToolbarProps, ToolbarSlots, ToolbarState } from './Toolbar';\nexport { ToolbarButton } from './ToolbarButton';\nexport type {\n ToolbarButtonProps,\n ToolbarButtonState,\n useToolbarButtonStyles_unstable,\n useToolbarButton_unstable,\n} from './ToolbarButton';\nexport { ToolbarDivider, useToolbarDividerStyles_unstable, useToolbarDivider_unstable } from './ToolbarDivider';\nexport type { ToolbarDividerProps, ToolbarDividerState } from './ToolbarDivider';\nexport {\n ToolbarToggleButton,\n useToolbarToggleButtonStyles_unstable,\n useToolbarToggleButton_unstable,\n} from './ToolbarToggleButton';\nexport type { ToolbarToggleButtonProps, ToolbarToggleButtonState } from './ToolbarToggleButton';\nexport {\n ToolbarRadioButton,\n useToolbarRadioButtonStyles_unstable,\n useToolbarRadioButton_unstable,\n} from './ToolbarRadioButton';\nexport type { ToolbarRadioButtonProps, ToolbarRadioButtonState } from './ToolbarRadioButton';\nexport {\n ToolbarGroup,\n useToolbarGroupStyles_unstable,\n useToolbarGroup_unstable,\n renderToolbarGroup_unstable,\n toolbarGroupClassNames,\n} from './ToolbarGroup';\nexport type { ToolbarGroupProps, ToolbarGroupState } from './ToolbarGroup';\nexport { ToolbarRadioGroup } from './ToolbarRadioGroup';\nexport type { ToolbarRadioGroupProps, ToolbarRadioGroupState } from './ToolbarRadioGroup';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-toolbar",
3
- "version": "9.0.0-rc.4",
3
+ "version": "9.0.0",
4
4
  "description": "React components for building web experiences",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -29,16 +29,18 @@
29
29
  "@fluentui/eslint-plugin": "*",
30
30
  "@fluentui/react-conformance": "*",
31
31
  "@fluentui/react-conformance-griffel": "9.0.0-beta.19",
32
- "@fluentui/scripts": "*"
32
+ "@fluentui/scripts-api-extractor": "*",
33
+ "@fluentui/scripts-cypress": "*",
34
+ "@fluentui/scripts-tasks": "*"
33
35
  },
34
36
  "dependencies": {
35
- "@fluentui/react-button": "^9.1.14",
36
- "@fluentui/react-divider": "^9.1.10",
37
+ "@fluentui/react-button": "^9.1.16",
38
+ "@fluentui/react-divider": "^9.1.11",
37
39
  "@fluentui/react-theme": "^9.1.5",
38
40
  "@fluentui/react-utilities": "^9.4.0",
39
41
  "@fluentui/react-context-selector": "^9.1.5",
40
- "@fluentui/react-radio": "^9.0.17",
41
- "@fluentui/react-tabster": "^9.3.6",
42
+ "@fluentui/react-radio": "^9.0.19",
43
+ "@fluentui/react-tabster": "^9.4.0",
42
44
  "@griffel/react": "^1.5.2",
43
45
  "tslib": "^2.1.0"
44
46
  },
@@ -50,9 +52,8 @@
50
52
  },
51
53
  "beachball": {
52
54
  "disallowedChangeTypes": [
53
- "major",
54
- "minor",
55
- "patch"
55
+ "prerelease",
56
+ "major"
56
57
  ]
57
58
  },
58
59
  "exports": {