@simplybusiness/mobius 5.19.1 → 5.20.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.20.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 80c483e: Add Switch atom
8
+
3
9
  ## 5.19.1
4
10
 
5
11
  ### Patch Changes
@@ -0,0 +1,62 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Switch", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return Switch;
10
+ }
11
+ });
12
+ const _jsxruntime = require("react/jsx-runtime");
13
+ const _react = require("react");
14
+ const _dedupe = /*#__PURE__*/ _interop_require_default(require("classnames/dedupe"));
15
+ const _VisuallyHidden = require("../VisuallyHidden");
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ const Switch = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
22
+ const { checked = false, className, onChange, ...otherProps } = props;
23
+ const [enabled, setEnabled] = (0, _react.useState)(checked);
24
+ (0, _react.useEffect)(()=>{
25
+ setEnabled(checked);
26
+ }, [
27
+ checked
28
+ ]);
29
+ const classes = (0, _dedupe.default)("mobius", "mobius-switch", {
30
+ "mobius-switch--checked": enabled
31
+ }, className);
32
+ const handleChange = (event)=>{
33
+ setEnabled(!enabled);
34
+ if (onChange) {
35
+ onChange(event);
36
+ }
37
+ };
38
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("label", {
39
+ ref: ref,
40
+ className: classes,
41
+ children: [
42
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_VisuallyHidden.VisuallyHidden, {
43
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
44
+ children: enabled ? "On" : "Off"
45
+ })
46
+ }),
47
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
48
+ type: "checkbox",
49
+ role: "switch",
50
+ checked: enabled,
51
+ onChange: handleChange,
52
+ ...otherProps
53
+ }),
54
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
55
+ className: "mobius-switch__slider"
56
+ })
57
+ ]
58
+ });
59
+ });
60
+ Switch.displayName = "Switch";
61
+
62
+ //# sourceMappingURL=Switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type ChangeEvent,\n type Ref,\n type RefAttributes,\n forwardRef,\n useState,\n useEffect,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport type { DOMProps } from \"../../types/dom\";\nimport { VisuallyHidden } from \"../VisuallyHidden\";\n\nexport type SwitchElementType = HTMLLabelElement;\n\nexport interface SwitchProps\n extends DOMProps,\n RefAttributes<SwitchElementType> {\n /** Custom class name for setting specific CSS */\n className?: string;\n checked?: boolean;\n onChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport type SwitchRef = Ref<SwitchElementType>;\n\nconst Switch = forwardRef<HTMLLabelElement, SwitchProps>((props, ref) => {\n const { checked = false, className, onChange, ...otherProps } = props;\n const [enabled, setEnabled] = useState<boolean>(checked);\n\n useEffect(() => {\n setEnabled(checked);\n }, [checked]);\n\n const classes = classNames(\n \"mobius\",\n \"mobius-switch\",\n {\n \"mobius-switch--checked\": enabled,\n },\n className,\n );\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setEnabled(!enabled);\n if (onChange) {\n onChange(event);\n }\n };\n\n return (\n <label ref={ref} className={classes}>\n <VisuallyHidden>\n <span>{enabled ? \"On\" : \"Off\"}</span>\n </VisuallyHidden>\n <input\n type=\"checkbox\"\n role=\"switch\"\n checked={enabled}\n onChange={handleChange}\n {...otherProps}\n />\n <span className=\"mobius-switch__slider\"></span>\n </label>\n );\n});\n\nSwitch.displayName = \"Switch\";\nexport { Switch };\n"],"names":["Switch","forwardRef","props","ref","checked","className","onChange","otherProps","enabled","setEnabled","useState","useEffect","classes","classNames","handleChange","event","label","VisuallyHidden","span","input","type","role","displayName"],"mappings":"AAAA;;;;;+BAqESA;;;eAAAA;;;;uBA5DF;+DACgB;gCAEQ;;;;;;AAe/B,MAAMA,uBAASC,IAAAA,iBAAU,EAAgC,CAACC,OAAOC;IAC/D,MAAM,EAAEC,UAAU,KAAK,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGC,YAAY,GAAGL;IAChE,MAAM,CAACM,SAASC,WAAW,GAAGC,IAAAA,eAAQ,EAAUN;IAEhDO,IAAAA,gBAAS,EAAC;QACRF,WAAWL;IACb,GAAG;QAACA;KAAQ;IAEZ,MAAMQ,UAAUC,IAAAA,eAAU,EACxB,UACA,iBACA;QACE,0BAA0BL;IAC5B,GACAH;IAGF,MAAMS,eAAe,CAACC;QACpBN,WAAW,CAACD;QACZ,IAAIF,UAAU;YACZA,SAASS;QACX;IACF;IAEA,qBACE,sBAACC;QAAMb,KAAKA;QAAKE,WAAWO;;0BAC1B,qBAACK,8BAAc;0BACb,cAAA,qBAACC;8BAAMV,UAAU,OAAO;;;0BAE1B,qBAACW;gBACCC,MAAK;gBACLC,MAAK;gBACLjB,SAASI;gBACTF,UAAUQ;gBACT,GAAGP,UAAU;;0BAEhB,qBAACW;gBAAKb,WAAU;;;;AAGtB;AAEAL,OAAOsB,WAAW,GAAG"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./Switch"), exports);
6
+ function _export_star(from, to) {
7
+ Object.keys(from).forEach(function(k) {
8
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
9
+ Object.defineProperty(to, k, {
10
+ enumerable: true,
11
+ get: function() {
12
+ return from[k];
13
+ }
14
+ });
15
+ }
16
+ });
17
+ return from;
18
+ }
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Switch/index.tsx"],"sourcesContent":["export * from \"./Switch\";\n"],"names":[],"mappings":";;;;qBAAc"}
@@ -38,6 +38,7 @@ _export_star(require("./Select"), exports);
38
38
  _export_star(require("./Slider"), exports);
39
39
  _export_star(require("./Stack"), exports);
40
40
  _export_star(require("./SVG"), exports);
41
+ _export_star(require("./Switch"), exports);
41
42
  _export_star(require("./Table"), exports);
42
43
  _export_star(require("./Text"), exports);
43
44
  _export_star(require("./TextArea"), exports);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/index.tsx"],"sourcesContent":["export * from \"./Accordion\";\nexport * from \"./AddressLookup\";\nexport * from \"./Alert\";\nexport * from \"./Box\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./Button\";\nexport * from \"./Checkbox\";\nexport * from \"./Combobox\";\nexport * from \"./Container\";\nexport * from \"./Divider\";\nexport * from \"./Drawer\";\nexport * from \"./DropdownMenu\";\nexport * from \"./ErrorMessage\";\nexport * from \"./Fieldset\";\nexport * from \"./Flex\";\nexport * from \"./Grid\";\nexport * from \"./Icon\";\nexport * from \"./Image\";\nexport * from \"./Label\";\nexport * from \"./Link\";\nexport * from \"./LinkButton\";\nexport * from \"./List\";\nexport * from \"./LoadingIndicator\";\nexport * from \"./Logo\";\nexport * from \"./Modal\";\nexport * from \"./NumberField\";\nexport * from \"./Option\";\nexport * from \"./PasswordField\";\nexport * from \"./Popover\";\nexport * from \"./Progress\";\nexport * from \"./Radio\";\nexport * from \"./Segment\";\nexport * from \"./Select\";\nexport * from \"./Slider\";\nexport * from \"./Stack\";\nexport * from \"./SVG\";\nexport * from \"./Table\";\nexport * from \"./Text\";\nexport * from \"./TextArea\";\nexport * from \"./TextAreaInput\";\nexport * from \"./TextField\";\nexport * from \"./Title\";\nexport * from \"./Trust\";\nexport * from \"./VisuallyHidden\";\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA"}
1
+ {"version":3,"sources":["../../../src/components/index.tsx"],"sourcesContent":["export * from \"./Accordion\";\nexport * from \"./AddressLookup\";\nexport * from \"./Alert\";\nexport * from \"./Box\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./Button\";\nexport * from \"./Checkbox\";\nexport * from \"./Combobox\";\nexport * from \"./Container\";\nexport * from \"./Divider\";\nexport * from \"./Drawer\";\nexport * from \"./DropdownMenu\";\nexport * from \"./ErrorMessage\";\nexport * from \"./Fieldset\";\nexport * from \"./Flex\";\nexport * from \"./Grid\";\nexport * from \"./Icon\";\nexport * from \"./Image\";\nexport * from \"./Label\";\nexport * from \"./Link\";\nexport * from \"./LinkButton\";\nexport * from \"./List\";\nexport * from \"./LoadingIndicator\";\nexport * from \"./Logo\";\nexport * from \"./Modal\";\nexport * from \"./NumberField\";\nexport * from \"./Option\";\nexport * from \"./PasswordField\";\nexport * from \"./Popover\";\nexport * from \"./Progress\";\nexport * from \"./Radio\";\nexport * from \"./Segment\";\nexport * from \"./Select\";\nexport * from \"./Slider\";\nexport * from \"./Stack\";\nexport * from \"./SVG\";\nexport * from \"./Switch\";\nexport * from \"./Table\";\nexport * from \"./Text\";\nexport * from \"./TextArea\";\nexport * from \"./TextAreaInput\";\nexport * from \"./TextField\";\nexport * from \"./Title\";\nexport * from \"./Trust\";\nexport * from \"./VisuallyHidden\";\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA"}