react-led-digit 0.0.17 → 0.0.18

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.
@@ -97,8 +97,6 @@ class Blinker {
97
97
  }
98
98
  unsubscribe(fn) {
99
99
  __classPrivateFieldGet(this, _Blinker_state, "f").subscribers = __classPrivateFieldGet(this, _Blinker_state, "f").subscribers.filter(i => i !== fn);
100
- if (__classPrivateFieldGet(this, _Blinker_state, "f").subscribers.length === 0)
101
- this.stop();
102
100
  }
103
101
  }
104
102
  exports.Blinker = Blinker;
@@ -67,7 +67,7 @@ exports.BlinkingDigit = react_1.default.memo((_a) => {
67
67
  }, [blinkOptions === null || blinkOptions === void 0 ? void 0 : blinkOptions.period, blinkOptions === null || blinkOptions === void 0 ? void 0 : blinkOptions.ratio, blinkOptions === null || blinkOptions === void 0 ? void 0 : blinkOptions.sync]);
68
68
  if ((blinkOptions === null || blinkOptions === void 0 ? void 0 : blinkOptions.period) === 0 ||
69
69
  (blinkOptions === null || blinkOptions === void 0 ? void 0 : blinkOptions.ratio) === 0 ||
70
- typeof (rest === null || rest === void 0 ? void 0 : rest.off) === 'boolean')
70
+ typeof rest.off === 'boolean')
71
71
  return (0, jsx_runtime_1.jsx)(Digit_1.Digit, Object.assign({}, rest, { className: (0, clsx_1.default)('blinking', className) })); // no blinker required
72
72
  return ((0, jsx_runtime_1.jsx)(Digit_1.Digit, Object.assign({}, rest, { className: (0, clsx_1.default)('blinking', className), off: rest.off || !visible })));
73
73
  });
@@ -17,6 +17,7 @@ export default meta;
17
17
  type Story = StoryObj<typeof meta>;
18
18
  export type DisplayProps = React.HTMLAttributes<HTMLDivElement> & {
19
19
  scale?: number;
20
+ shape?: Digit['shape'];
20
21
  segmentStyle?: Digit['segmentStyle'];
21
22
  value: string;
22
23
  };
@@ -58,10 +58,10 @@ const DigitTest = () => {
58
58
  } })] })] }));
59
59
  };
60
60
  const charset = new Set(Object.keys(_1.charToSevenSegments));
61
- function setCharAt(str, index, chr) {
62
- if (index > str.length - 1)
61
+ function removeCharAt(str, index) {
62
+ if (index < 0 || index >= str.length)
63
63
  return str;
64
- return str.substring(0, index) + chr + str.substring(index + 1);
64
+ return str.substring(0, index) + str.substring(index + 1);
65
65
  }
66
66
  const BlinkingDigitTest = () => {
67
67
  const input = (0, react_1.useRef)(null);
@@ -73,7 +73,7 @@ const BlinkingDigitTest = () => {
73
73
  }
74
74
  };
75
75
  const removeDigit = (idx) => {
76
- const next = setCharAt(dgts, idx, '');
76
+ const next = removeCharAt(dgts, idx);
77
77
  setDgts(next);
78
78
  };
79
79
  const handleChange = () => {
@@ -119,11 +119,12 @@ const getDigits = (str) => {
119
119
  return result;
120
120
  };
121
121
  const Display = (_a) => {
122
- var { scale = 1, value } = _a, rest = __rest(_a, ["scale", "value"]);
122
+ var { scale = 1, shape, value } = _a, rest = __rest(_a, ["scale", "shape", "value"]);
123
123
  const digits = getDigits(value);
124
124
  return ((0, jsx_runtime_1.jsx)("div", Object.assign({}, rest, { children: digits.map((digit, idx) => {
125
125
  const props = {
126
126
  value: digit,
127
+ shape,
127
128
  style: {
128
129
  fontSize: `${scale * 100}%`,
129
130
  },
@@ -141,7 +142,7 @@ const Display = (_a) => {
141
142
  }) })));
142
143
  };
143
144
  const getTime = () => new Date().toLocaleTimeString();
144
- const SimpleClock = () => {
145
+ const SimpleClock = (args) => {
145
146
  const [time, setTime] = (0, react_1.useState)(getTime());
146
147
  (0, react_1.useEffect)(() => {
147
148
  const blinker = new __1.Blinker();
@@ -151,7 +152,7 @@ const SimpleClock = () => {
151
152
  blinker.subscribe(handleBlinkerChange);
152
153
  return () => blinker.unsubscribe(handleBlinkerChange);
153
154
  }, []);
154
- return (0, jsx_runtime_1.jsx)(Display, { scale: 2, style: grid, value: time });
155
+ return ((0, jsx_runtime_1.jsx)(Display, { scale: 2, shape: args.shape, style: Object.assign(Object.assign({}, grid), { fontSize: `${args.fontSize}px` }), value: time }));
155
156
  };
156
157
  const FirefoxSubpixelTest = () => {
157
158
  const DigitFF = (props) => ((0, jsx_runtime_1.jsx)(__1.Digit, { value: props.v || 8, segmentStyle: {
@@ -162,19 +163,28 @@ const FirefoxSubpixelTest = () => {
162
163
  } }));
163
164
  return ((0, jsx_runtime_1.jsxs)("div", { style: Object.assign({}, grid), children: [(0, jsx_runtime_1.jsx)(DigitFF, { v: 2 }), (0, jsx_runtime_1.jsx)(DigitFF, {}), (0, jsx_runtime_1.jsx)(DigitFF, { v: ":" }), (0, jsx_runtime_1.jsx)(DigitFF, {}), (0, jsx_runtime_1.jsx)(DigitFF, {})] }));
164
165
  };
165
- const SegmentShapeTest = () => {
166
+ const SegmentShapeTest = (args) => {
166
167
  const Dgt = ({ shape }) => ((0, jsx_runtime_1.jsx)(__1.Digit, { value: 'F', shape: shape, segmentStyle: {
167
168
  color: 'green',
168
- thickness: '2em',
169
- length: '5em',
170
- spacing: '0.1em',
171
- cornerShift: '0.5em',
169
+ length: `${args.length}em`,
170
+ thickness: `${args.thickness}em`,
171
+ spacing: `${args.spacing}em`,
172
+ shiftAD: `${args.shiftAD}em`,
173
+ cornerShift: `${args.cornerShift}em`,
172
174
  } }));
173
175
  return ((0, jsx_runtime_1.jsxs)("div", { style: Object.assign({}, grid), children: [(0, jsx_runtime_1.jsx)(Dgt, { shape: 'default' }), (0, jsx_runtime_1.jsx)(Dgt, { shape: 'rect' }), (0, jsx_runtime_1.jsx)(Dgt, { shape: 'round' }), (0, jsx_runtime_1.jsx)(Dgt, { shape: 'pill' }), (0, jsx_runtime_1.jsx)(Dgt, { shape: 'calculator' })] }));
174
176
  };
175
177
  exports.Clock = {
176
178
  args: {
177
- value: '0',
179
+ shape: 'default',
180
+ fontSize: 16,
181
+ },
182
+ argTypes: {
183
+ shape: {
184
+ control: 'radio',
185
+ options: ['default', 'rect', 'round', 'pill', 'calculator'],
186
+ },
187
+ fontSize: { control: { type: 'range', min: 8, max: 64, step: 1 } },
178
188
  },
179
189
  render: SimpleClock,
180
190
  };
@@ -198,7 +208,19 @@ exports.Firefox = {
198
208
  };
199
209
  exports.Shape = {
200
210
  args: {
201
- value: '0',
211
+ value: 'F',
212
+ length: 5,
213
+ thickness: 2,
214
+ spacing: 0.1,
215
+ shiftAD: 0,
216
+ cornerShift: 0,
217
+ },
218
+ argTypes: {
219
+ length: { control: { type: 'range', min: 1, max: 20, step: 0.5 } },
220
+ thickness: { control: { type: 'range', min: 0.5, max: 10, step: 0.25 } },
221
+ spacing: { control: { type: 'range', min: -0.5, max: 2, step: 0.05 } },
222
+ shiftAD: { control: { type: 'range', min: -1, max: 1, step: 0.05 } },
223
+ cornerShift: { control: { type: 'range', min: -5, max: 5, step: 0.1 } },
202
224
  },
203
225
  render: SegmentShapeTest,
204
226
  };
@@ -1,4 +1,4 @@
1
- import React, { CSSProperties } from 'react';
1
+ import { CSSProperties } from 'react';
2
2
  import { SevenSegmentsValue } from './charToSevenSegments';
3
3
  type NumValue = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
4
4
  type DigitValue = NumValue | SevenSegmentsValue | 'am' | 'pm' | ':' | '.';
@@ -14,7 +14,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.UnstyledDigits = void 0;
15
15
  const jsx_runtime_1 = require("react/jsx-runtime");
16
16
  const __1 = require("..");
17
- //import './digit.css';
18
17
  const meta = {
19
18
  title: 'Example/UnstyledDigit',
20
19
  component: __1.UnstyledDigit,
@@ -20,6 +20,6 @@ const clsx_1 = __importDefault(require("clsx"));
20
20
  const utils_1 = require("./utils");
21
21
  const AmpmSegments = (_a) => {
22
22
  var { className, off, shape = 'default', AM, PM } = _a, rest = __rest(_a, ["className", "off", "shape", "AM", "PM"]);
23
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('digit ampm', (0, utils_1.shapeCx)(shape), className) }, rest, { children: [(0, jsx_runtime_1.jsx)("code", { className: "aria-label", children: rest['aria-label'] }), (0, jsx_runtime_1.jsxs)("div", { className: "opacity-wrapper off", children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment AM', (0, utils_1.onOffCx)(AM, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment PM', (0, utils_1.onOffCx)(PM, off)) })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)('opacity-wrapper on', off && 'off'), children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment AM', (0, utils_1.onOffCx)(AM, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment PM', (0, utils_1.onOffCx)(PM, off)) })] })] })));
23
+ return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('digit ampm', (0, utils_1.shapeCx)(shape), className) }, rest, { children: [(0, jsx_runtime_1.jsx)("code", { className: "aria-label", "aria-hidden": "true", children: rest['aria-label'] }), (0, jsx_runtime_1.jsxs)("div", { className: "opacity-wrapper off", children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment AM', (0, utils_1.onOffCx)(AM, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment PM', (0, utils_1.onOffCx)(PM, off)) })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)('opacity-wrapper on', off && 'off'), children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment AM', (0, utils_1.onOffCx)(AM, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment PM', (0, utils_1.onOffCx)(PM, off)) })] })] })));
24
24
  };
25
25
  exports.AmpmSegments = AmpmSegments;
@@ -20,6 +20,6 @@ const clsx_1 = __importDefault(require("clsx"));
20
20
  const utils_1 = require("./utils");
21
21
  const ColonSegments = (_a) => {
22
22
  var { className, off, shape = 'default', D1, D2 } = _a, rest = __rest(_a, ["className", "off", "shape", "D1", "D2"]);
23
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('digit colon', (0, utils_1.shapeCx)(shape), className) }, rest, { children: [(0, jsx_runtime_1.jsx)("code", { className: "aria-label", children: rest['aria-label'] }), (0, jsx_runtime_1.jsxs)("div", { className: "opacity-wrapper off", children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D1', (0, utils_1.onOffCx)(D1, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D2', (0, utils_1.onOffCx)(D2, off)) })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)('opacity-wrapper on', off && 'off'), children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D1', (0, utils_1.onOffCx)(D1, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D2', (0, utils_1.onOffCx)(D2, off)) })] })] })));
23
+ return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('digit colon', (0, utils_1.shapeCx)(shape), className) }, rest, { children: [(0, jsx_runtime_1.jsx)("code", { className: "aria-label", "aria-hidden": "true", children: rest['aria-label'] }), (0, jsx_runtime_1.jsxs)("div", { className: "opacity-wrapper off", children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D1', (0, utils_1.onOffCx)(D1, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D2', (0, utils_1.onOffCx)(D2, off)) })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)('opacity-wrapper on', off && 'off'), children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D1', (0, utils_1.onOffCx)(D1, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D2', (0, utils_1.onOffCx)(D2, off)) })] })] })));
24
24
  };
25
25
  exports.ColonSegments = ColonSegments;
@@ -20,6 +20,6 @@ const clsx_1 = __importDefault(require("clsx"));
20
20
  const utils_1 = require("./utils");
21
21
  const DigitSegments = (_a) => {
22
22
  var { className, off, shape = 'default', A, B, C, D, E, F, G } = _a, rest = __rest(_a, ["className", "off", "shape", "A", "B", "C", "D", "E", "F", "G"]);
23
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('digit', (0, utils_1.shapeCx)(shape), className) }, rest, { children: [(0, jsx_runtime_1.jsx)("code", { className: "aria-label", children: rest['aria-label'] }), (0, jsx_runtime_1.jsxs)("div", { className: "opacity-wrapper off", children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment A horizontal', (0, utils_1.onOffCx)(A, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment B vertical', (0, utils_1.onOffCx)(B, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment C vertical', (0, utils_1.onOffCx)(C, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D horizontal', (0, utils_1.onOffCx)(D, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment E vertical', (0, utils_1.onOffCx)(E, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment F vertical', (0, utils_1.onOffCx)(F, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment G horizontal', (0, utils_1.onOffCx)(G, off)) })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)('opacity-wrapper on', off && 'off'), children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment A horizontal', (0, utils_1.onOffCx)(A, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment B vertical', (0, utils_1.onOffCx)(B, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment C vertical', (0, utils_1.onOffCx)(C, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D horizontal', (0, utils_1.onOffCx)(D, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment E vertical', (0, utils_1.onOffCx)(E, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment F vertical', (0, utils_1.onOffCx)(F, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment G horizontal', (0, utils_1.onOffCx)(G, off)) })] })] })));
23
+ return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('digit', (0, utils_1.shapeCx)(shape), className) }, rest, { children: [(0, jsx_runtime_1.jsx)("code", { className: "aria-label", "aria-hidden": "true", children: rest['aria-label'] }), (0, jsx_runtime_1.jsxs)("div", { className: "opacity-wrapper off", children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment A horizontal', (0, utils_1.onOffCx)(A, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment B vertical', (0, utils_1.onOffCx)(B, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment C vertical', (0, utils_1.onOffCx)(C, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D horizontal', (0, utils_1.onOffCx)(D, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment E vertical', (0, utils_1.onOffCx)(E, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment F vertical', (0, utils_1.onOffCx)(F, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment G horizontal', (0, utils_1.onOffCx)(G, off)) })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)('opacity-wrapper on', off && 'off'), children: [(0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment A horizontal', (0, utils_1.onOffCx)(A, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment B vertical', (0, utils_1.onOffCx)(B, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment C vertical', (0, utils_1.onOffCx)(C, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment D horizontal', (0, utils_1.onOffCx)(D, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment E vertical', (0, utils_1.onOffCx)(E, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment F vertical', (0, utils_1.onOffCx)(F, off)) }), (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment G horizontal', (0, utils_1.onOffCx)(G, off)) })] })] })));
24
24
  };
25
25
  exports.DigitSegments = DigitSegments;
@@ -20,6 +20,6 @@ const clsx_1 = __importDefault(require("clsx"));
20
20
  const utils_1 = require("./utils");
21
21
  const DotSegments = (_a) => {
22
22
  var { className, off, shape = 'default', DP } = _a, rest = __rest(_a, ["className", "off", "shape", "DP"]);
23
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('digit dot', (0, utils_1.shapeCx)(shape), className) }, rest, { children: [(0, jsx_runtime_1.jsx)("code", { className: "aria-label", children: rest['aria-label'] }), (0, jsx_runtime_1.jsx)("div", { className: "opacity-wrapper off", children: (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment DP', (0, utils_1.onOffCx)(DP, off)) }) }), (0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)('opacity-wrapper on', off && 'off'), children: (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment DP', (0, utils_1.onOffCx)(DP, off)) }) })] })));
23
+ return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('digit dot', (0, utils_1.shapeCx)(shape), className) }, rest, { children: [(0, jsx_runtime_1.jsx)("code", { className: "aria-label", "aria-hidden": "true", children: rest['aria-label'] }), (0, jsx_runtime_1.jsx)("div", { className: "opacity-wrapper off", children: (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment DP', (0, utils_1.onOffCx)(DP, off)) }) }), (0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)('opacity-wrapper on', off && 'off'), children: (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)('segment DP', (0, utils_1.onOffCx)(DP, off)) }) })] })));
24
24
  };
25
25
  exports.DotSegments = DotSegments;
@@ -31,12 +31,9 @@
31
31
  /* computed values */
32
32
  --len: var(--length);
33
33
  --thk: var(--thickness);
34
- --thk-minus: calc(var(--thk) * -1);
35
34
  --thk-half: calc(var(--thk) / 2);
36
- --thk-half-minus: calc(var(--thk) / -2);
37
35
 
38
36
  --spc: calc(var(--spacing) / 1.4142); /* divided by sqrt(2) */
39
- --spc-minus: calc(var(--spc) * -1);
40
37
  --crn: var(--corner-shift);
41
38
 
42
39
  --radius-round: calc(var(--thk) * 0.33);
@@ -270,8 +267,37 @@
270
267
  border-radius: var(--radius-pill);
271
268
  }
272
269
  &.shape-calculator {
273
- border-radius: calc(var(--thk) * 1.2);
274
- overflow: hidden;
270
+ --r: calc(var(--thk) * 1.2);
271
+ }
272
+ & {
273
+ --r: calc(var(--thk) * 0);
274
+
275
+ clip-path: polygon(
276
+ /* top-left corner */ 0px var(--r),
277
+ calc(var(--r) * 0.0495) calc(var(--r) * 0.691),
278
+ calc(var(--r) * 0.191) calc(var(--r) * 0.4045),
279
+ calc(var(--r) * 0.4045) calc(var(--r) * 0.191),
280
+ calc(var(--r) * 0.691) calc(var(--r) * 0.0495),
281
+ var(--r) 0px,
282
+ /* top-right corner */ calc(var(--dw) - var(--r)) 0px,
283
+ calc(var(--dw) - var(--r) * 0.691) calc(var(--r) * 0.0495),
284
+ calc(var(--dw) - var(--r) * 0.4045) calc(var(--r) * 0.191),
285
+ calc(var(--dw) - var(--r) * 0.191) calc(var(--r) * 0.4045),
286
+ calc(var(--dw) - var(--r) * 0.0495) calc(var(--r) * 0.691),
287
+ var(--dw) var(--r),
288
+ /* bottom-right corner */ var(--dw) calc(var(--dh) - var(--r)),
289
+ calc(var(--dw) - var(--r) * 0.0495) calc(var(--dh) - var(--r) * 0.691),
290
+ calc(var(--dw) - var(--r) * 0.191) calc(var(--dh) - var(--r) * 0.4045),
291
+ calc(var(--dw) - var(--r) * 0.4045) calc(var(--dh) - var(--r) * 0.191),
292
+ calc(var(--dw) - var(--r) * 0.691) calc(var(--dh) - var(--r) * 0.0495),
293
+ calc(var(--dw) - var(--r)) var(--dh),
294
+ /* bottom-left corner */ var(--r) var(--dh),
295
+ calc(var(--r) * 0.691) calc(var(--dh) - var(--r) * 0.0495),
296
+ calc(var(--r) * 0.4045) calc(var(--dh) - var(--r) * 0.191),
297
+ calc(var(--r) * 0.191) calc(var(--dh) - var(--r) * 0.4045),
298
+ calc(var(--r) * 0.0495) calc(var(--dh) - var(--r) * 0.691),
299
+ 0px calc(var(--dh) - var(--r))
300
+ );
275
301
 
276
302
  .segment.segment {
277
303
  --crn: var(--thk);
@@ -2,7 +2,7 @@
2
2
 
3
3
  const css = {
4
4
  src: `src/Digit/digit.css`,
5
- hash: `4bpttscfgs`,
5
+ hash: `27bilryv8nf`,
6
6
  content: `
7
7
  /**
8
8
  * A
@@ -37,12 +37,9 @@ const css = {
37
37
  /* computed values */
38
38
  --len: var(--length);
39
39
  --thk: var(--thickness);
40
- --thk-minus: calc(var(--thk) * -1);
41
40
  --thk-half: calc(var(--thk) / 2);
42
- --thk-half-minus: calc(var(--thk) / -2);
43
41
 
44
42
  --spc: calc(var(--spacing) / 1.4142); /* divided by sqrt(2) */
45
- --spc-minus: calc(var(--spc) * -1);
46
43
  --crn: var(--corner-shift);
47
44
 
48
45
  --radius-round: calc(var(--thk) * 0.33);
@@ -276,8 +273,37 @@ const css = {
276
273
  border-radius: var(--radius-pill);
277
274
  }
278
275
  &.shape-calculator {
279
- border-radius: calc(var(--thk) * 1.2);
280
- overflow: hidden;
276
+ --r: calc(var(--thk) * 1.2);
277
+ }
278
+ & {
279
+ --r: calc(var(--thk) * 0);
280
+
281
+ clip-path: polygon(
282
+ /* top-left corner */ 0px var(--r),
283
+ calc(var(--r) * 0.0495) calc(var(--r) * 0.691),
284
+ calc(var(--r) * 0.191) calc(var(--r) * 0.4045),
285
+ calc(var(--r) * 0.4045) calc(var(--r) * 0.191),
286
+ calc(var(--r) * 0.691) calc(var(--r) * 0.0495),
287
+ var(--r) 0px,
288
+ /* top-right corner */ calc(var(--dw) - var(--r)) 0px,
289
+ calc(var(--dw) - var(--r) * 0.691) calc(var(--r) * 0.0495),
290
+ calc(var(--dw) - var(--r) * 0.4045) calc(var(--r) * 0.191),
291
+ calc(var(--dw) - var(--r) * 0.191) calc(var(--r) * 0.4045),
292
+ calc(var(--dw) - var(--r) * 0.0495) calc(var(--r) * 0.691),
293
+ var(--dw) var(--r),
294
+ /* bottom-right corner */ var(--dw) calc(var(--dh) - var(--r)),
295
+ calc(var(--dw) - var(--r) * 0.0495) calc(var(--dh) - var(--r) * 0.691),
296
+ calc(var(--dw) - var(--r) * 0.191) calc(var(--dh) - var(--r) * 0.4045),
297
+ calc(var(--dw) - var(--r) * 0.4045) calc(var(--dh) - var(--r) * 0.191),
298
+ calc(var(--dw) - var(--r) * 0.691) calc(var(--dh) - var(--r) * 0.0495),
299
+ calc(var(--dw) - var(--r)) var(--dh),
300
+ /* bottom-left corner */ var(--r) var(--dh),
301
+ calc(var(--r) * 0.691) calc(var(--dh) - var(--r) * 0.0495),
302
+ calc(var(--r) * 0.4045) calc(var(--dh) - var(--r) * 0.191),
303
+ calc(var(--r) * 0.191) calc(var(--dh) - var(--r) * 0.4045),
304
+ calc(var(--r) * 0.0495) calc(var(--dh) - var(--r) * 0.691),
305
+ 0px calc(var(--dh) - var(--r))
306
+ );
281
307
 
282
308
  .segment.segment {
283
309
  --crn: var(--thk);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-led-digit",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "description": "react component for 7-segment display (digit), includes dot, colon and am-pm digits",
5
5
  "main": "./lib/index.js",
6
6
  "files": [