@nectary/components 0.44.1 → 0.45.1

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 (110) hide show
  1. package/accordion-item/index.js +1 -1
  2. package/action-menu/index.js +3 -11
  3. package/alert/index.js +3 -1
  4. package/avatar/index.js +12 -13
  5. package/avatar/types.d.ts +4 -4
  6. package/avatar/utils.d.ts +1 -4
  7. package/avatar/utils.js +4 -7
  8. package/badge/index.js +9 -7
  9. package/badge/types.d.ts +4 -4
  10. package/badge/utils.d.ts +1 -4
  11. package/badge/utils.js +0 -6
  12. package/button/index.js +88 -23
  13. package/button/types.d.ts +12 -11
  14. package/button/utils.d.ts +4 -1
  15. package/button/utils.js +9 -1
  16. package/card-container/index.js +1 -1
  17. package/chat-block/index.js +1 -1
  18. package/chat-bubble/index.js +1 -1
  19. package/checkbox/index.js +4 -2
  20. package/chip/index.js +7 -6
  21. package/color-menu/index.js +9 -18
  22. package/color-swatch/index.js +5 -7
  23. package/date-picker/index.js +1 -1
  24. package/dialog/index.js +4 -7
  25. package/emoji/index.js +2 -6
  26. package/emoji-picker/index.js +6 -14
  27. package/field/index.js +1 -1
  28. package/file-status/index.js +4 -2
  29. package/flag/index.d.ts +11 -0
  30. package/flag/index.js +43 -0
  31. package/flag/types.d.ts +11 -0
  32. package/flag/types.js +1 -0
  33. package/flag/utils.d.ts +1 -0
  34. package/flag/utils.js +19 -0
  35. package/icon/index.js +1 -1
  36. package/icon-button/index.js +77 -9
  37. package/icon-button/types.d.ts +14 -6
  38. package/icon-button/utils.d.ts +5 -0
  39. package/icon-button/utils.js +9 -0
  40. package/icons/create-icon-class.js +1 -1
  41. package/inline-alert/index.js +3 -1
  42. package/input/index.d.ts +3 -0
  43. package/input/index.js +148 -71
  44. package/input/types.d.ts +7 -0
  45. package/link/index.js +1 -1
  46. package/package.json +2 -4
  47. package/pagination/index.js +1 -1
  48. package/pop/index.js +15 -37
  49. package/popover/index.js +7 -9
  50. package/radio-option/index.js +1 -1
  51. package/segment/index.js +10 -6
  52. package/segment/types.d.ts +4 -4
  53. package/segment/utils.d.ts +3 -5
  54. package/segment/utils.js +14 -4
  55. package/segment-collapse/index.js +1 -1
  56. package/segmented-control-option/index.js +1 -1
  57. package/segmented-icon-control-option/index.js +1 -1
  58. package/select-button/index.js +93 -28
  59. package/select-button/types.d.ts +8 -1
  60. package/select-menu/index.d.ts +5 -0
  61. package/select-menu/index.js +46 -17
  62. package/select-menu-option/index.d.ts +1 -0
  63. package/select-menu-option/index.js +3 -0
  64. package/select-menu-option/types.d.ts +1 -0
  65. package/spinner/index.js +52 -7
  66. package/spinner/types.d.ts +4 -5
  67. package/stop-events/index.js +9 -5
  68. package/table/index.js +1 -1
  69. package/tag/index.js +2 -6
  70. package/text/index.js +3 -1
  71. package/textarea/index.js +1 -1
  72. package/theme/button.css +146 -0
  73. package/{theme.css → theme/contextual.css} +3 -25
  74. package/theme/elevation.css +1 -1
  75. package/theme/flag.css +4 -0
  76. package/theme/fonts.css +0 -33
  77. package/theme/fonts.json +0 -33
  78. package/theme/icon-button.css +68 -0
  79. package/theme/index.css +4 -0
  80. package/theme/index.d.ts +21 -0
  81. package/theme/index.js +21 -0
  82. package/theme/input.css +7 -0
  83. package/theme/select-button.css +7 -0
  84. package/theme/shapes.css +4 -3
  85. package/theme/size.css +9 -0
  86. package/theme/spinner.css +7 -0
  87. package/theme/typography.css +7 -7
  88. package/tile-control-option/index.js +1 -1
  89. package/time-picker/index.js +1 -1
  90. package/title/index.js +7 -3
  91. package/toast/index.js +3 -1
  92. package/toggle/index.js +1 -1
  93. package/tooltip/index.js +8 -6
  94. package/utils/context.d.ts +14 -9
  95. package/utils/context.js +60 -26
  96. package/utils/countries.d.ts +5 -0
  97. package/utils/countries.js +2 -0
  98. package/utils/countries.json +998 -0
  99. package/utils/debounce.d.ts +4 -0
  100. package/utils/debounce.js +21 -0
  101. package/utils/element.d.ts +4 -0
  102. package/utils/element.js +10 -0
  103. package/utils/index.d.ts +1 -0
  104. package/utils/index.js +1 -0
  105. package/utils/size.d.ts +10 -0
  106. package/utils/size.js +19 -0
  107. package/utils/throttle.d.ts +2 -2
  108. package/utils/throttle.js +4 -9
  109. package/spinner/utils.d.ts +0 -2
  110. package/spinner/utils.js +0 -1
@@ -0,0 +1,4 @@
1
+ export declare const debounceTimeout: (ms: number) => (cb: () => void) => {
2
+ fn: () => void;
3
+ cancel: () => void;
4
+ };
@@ -0,0 +1,21 @@
1
+ const createDebounce = (delayFn, cancelFn) => cb => {
2
+ let id = null;
3
+ const delayCallback = () => {
4
+ id = null;
5
+ cb();
6
+ };
7
+ return {
8
+ fn: () => {
9
+ if (id !== null) {
10
+ cancelFn(id);
11
+ }
12
+ id = delayFn(delayCallback);
13
+ },
14
+ cancel: () => {
15
+ if (id !== null) {
16
+ cancelFn(id);
17
+ }
18
+ }
19
+ };
20
+ };
21
+ export const debounceTimeout = ms => createDebounce(cb => global.setTimeout(cb, ms), global.clearTimeout);
@@ -6,7 +6,11 @@ declare global {
6
6
  }
7
7
  }
8
8
  export declare class NectaryElement extends HTMLElement {
9
+ #private;
9
10
  attachShadow(options?: Partial<ShadowRootInit>): ShadowRoot;
10
11
  version: string;
11
12
  get focusable(): boolean;
13
+ connectedCallback(): void;
14
+ disconnectedCallback(): void;
15
+ get isConnected(): boolean;
12
16
  }
package/utils/element.js CHANGED
@@ -35,4 +35,14 @@ export class NectaryElement extends HTMLElement {
35
35
  get focusable() {
36
36
  return false;
37
37
  }
38
+ #isConnected = false;
39
+ connectedCallback() {
40
+ this.#isConnected = true;
41
+ }
42
+ disconnectedCallback() {
43
+ this.#isConnected = false;
44
+ }
45
+ get isConnected() {
46
+ return this.#isConnected;
47
+ }
38
48
  }
package/utils/index.d.ts CHANGED
@@ -5,4 +5,5 @@ export * from './element';
5
5
  export * from './rect';
6
6
  export * from './slot';
7
7
  export * from './throttle';
8
+ export * from './debounce';
8
9
  export * from './get-react-event-handler';
package/utils/index.js CHANGED
@@ -5,4 +5,5 @@ export * from './element';
5
5
  export * from './rect';
6
6
  export * from './slot';
7
7
  export * from './throttle';
8
+ export * from './debounce';
8
9
  export * from './get-react-event-handler';
@@ -0,0 +1,10 @@
1
+ export declare type TSinchSize = 'l' | 'm' | 's';
2
+ export declare type TSinchSizeEx = TSinchSize | 'xs';
3
+ export declare const DEFAULT_SIZE: TSinchSize;
4
+ export declare const sizeValues: readonly TSinchSize[];
5
+ export declare const sizeExValues: readonly TSinchSizeEx[];
6
+ declare type TAssertSize = (value: string | null, name: string) => asserts value is TSinchSize;
7
+ export declare const assertSize: TAssertSize;
8
+ declare type TAssertSizeEx = (value: string | null, name: string) => asserts value is TSinchSizeEx;
9
+ export declare const assertSizeEx: TAssertSizeEx;
10
+ export {};
package/utils/size.js ADDED
@@ -0,0 +1,19 @@
1
+ export const DEFAULT_SIZE = 'm';
2
+ export const sizeValues = ['l', 'm', 's'];
3
+ export const sizeExValues = [...sizeValues, 'xs'];
4
+ export const assertSize = (value, name) => {
5
+ if (value === null || value.length === 0) {
6
+ return;
7
+ }
8
+ if (!sizeValues.includes(value)) {
9
+ throw new Error(`Invalid size attribute for ${name}: ${value}`);
10
+ }
11
+ };
12
+ export const assertSizeEx = (value, name) => {
13
+ if (value === null || value.length === 0) {
14
+ return;
15
+ }
16
+ if (!sizeExValues.includes(value)) {
17
+ throw new Error(`Invalid size attribute for ${name}: ${value}`);
18
+ }
19
+ };
@@ -1,4 +1,4 @@
1
- export declare const throttleAnimationFrame: (cb: (...args: any[]) => void) => {
2
- fn: (...args: any[]) => void;
1
+ export declare const throttleAnimationFrame: (cb: () => void) => {
2
+ fn: () => void;
3
3
  cancel: () => void;
4
4
  };
package/utils/throttle.js CHANGED
@@ -1,16 +1,11 @@
1
- const throttle = (delayFn, cancelFn) => cb => {
1
+ const createThrottle = (delayFn, cancelFn) => cb => {
2
2
  let id = null;
3
- let fnArgs;
4
3
  const delayCallback = () => {
5
4
  id = null;
6
- cb(fnArgs);
5
+ cb();
7
6
  };
8
7
  return {
9
- fn: function () {
10
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11
- args[_key] = arguments[_key];
12
- }
13
- fnArgs = args;
8
+ fn: () => {
14
9
  if (id === null) {
15
10
  id = delayFn(delayCallback);
16
11
  }
@@ -22,4 +17,4 @@ const throttle = (delayFn, cancelFn) => cb => {
22
17
  }
23
18
  };
24
19
  };
25
- export const throttleAnimationFrame = throttle(global.requestAnimationFrame, global.cancelAnimationFrame);
20
+ export const throttleAnimationFrame = createThrottle(global.requestAnimationFrame, global.cancelAnimationFrame);
@@ -1,2 +0,0 @@
1
- import type { TSinchSpinnerType } from './types';
2
- export declare const spinnerTypes: readonly TSinchSpinnerType[];
package/spinner/utils.js DELETED
@@ -1 +0,0 @@
1
- export const spinnerTypes = ['large', 'medium', 'small'];