@infonomic/uikit 2.8.0 → 2.9.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.
@@ -0,0 +1,6 @@
1
+ import { Intent } from '../@types/shared';
2
+ export declare function Badge({ children, intent }: {
3
+ children: React.ReactNode;
4
+ intent?: Intent;
5
+ }): React.JSX.Element;
6
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/badge.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAGzC,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAkB,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAEzH"}
@@ -0,0 +1,10 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import classnames from "classnames";
3
+ import badge_module from "./badge.module.js";
4
+ function Badge({ children, intent = "primary" }) {
5
+ return /*#__PURE__*/ jsx("div", {
6
+ className: classnames('badge', intent, badge_module.badge, badge_module[intent]),
7
+ children: children
8
+ });
9
+ }
10
+ export { Badge };
@@ -0,0 +1,12 @@
1
+ import "./badge_module.css";
2
+ const badge_module = {
3
+ badge: "badge-8xVidp",
4
+ primary: "primary-oZyR_M",
5
+ secondary: "secondary-VsqJTm",
6
+ noeffect: "noeffect-R8eJtO",
7
+ success: "success-h2otET",
8
+ info: "info-OG3F3u",
9
+ warning: "warning-zTXksZ",
10
+ danger: "danger-hKF7l_"
11
+ };
12
+ export { badge_module as default };
@@ -0,0 +1,82 @@
1
+ .badge-8xVidp {
2
+ font-size: var(--font-size-sm);
3
+ text-align: center;
4
+ white-space: nowrap;
5
+ vertical-align: baseline;
6
+ border-radius: var(--border-radius-sm);
7
+ padding: .25em .4em;
8
+ font-weight: 500;
9
+ line-height: 1;
10
+ display: inline-block;
11
+ }
12
+
13
+ .primary-oZyR_M {
14
+ color: #fff;
15
+ background-color: var(--primary-500);
16
+ }
17
+
18
+ .secondary-VsqJTm {
19
+ color: #000;
20
+ background-color: var(--secondary-500);
21
+ }
22
+
23
+ .noeffect-R8eJtO {
24
+ color: #000;
25
+ background-color: var(--gray-100);
26
+ }
27
+
28
+ .success-h2otET {
29
+ color: #fff;
30
+ background-color: var(--green-500);
31
+ }
32
+
33
+ .info-OG3F3u {
34
+ color: #fff;
35
+ background-color: var(--blue-300);
36
+ }
37
+
38
+ .warning-zTXksZ {
39
+ color: var(--foreground);
40
+ background-color: var(--yellow-300);
41
+ }
42
+
43
+ .danger-hKF7l_ {
44
+ color: #fff;
45
+ background-color: var(--red-500);
46
+ }
47
+
48
+ .dark .primary-oZyR_M:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
49
+ color: #fff;
50
+ background-color: var(--primary-400);
51
+ }
52
+
53
+ .dark .secondary-VsqJTm:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
54
+ color: #000;
55
+ background-color: var(--secondary-400);
56
+ }
57
+
58
+ .dark .noeffect-R8eJtO:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
59
+ color: #fff;
60
+ background-color: var(--gray-700);
61
+ }
62
+
63
+ .dark .success-h2otET:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
64
+ color: #fff;
65
+ background-color: var(--green-400);
66
+ }
67
+
68
+ .dark .info-OG3F3u:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
69
+ color: #fff;
70
+ background-color: var(--blue-400);
71
+ }
72
+
73
+ .dark .warning-zTXksZ:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
74
+ color: #000;
75
+ background-color: var(--yellow-400);
76
+ }
77
+
78
+ .dark .danger-hKF7l_:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
79
+ color: #fff;
80
+ background-color: var(--red-400);
81
+ }
82
+
package/dist/react.d.ts CHANGED
@@ -6,6 +6,7 @@ export * from './components/@types/shared.js';
6
6
  export * from './components/accordion/accordion.js';
7
7
  export * from './components/animation/fade-in-lift.js';
8
8
  export * from './components/avatar/avatar.js';
9
+ export * from './components/badge/badge.js';
9
10
  export * from './components/button/button.js';
10
11
  export * from './components/button/button-group.js';
11
12
  export * from './components/button/control-buttons.js';
@@ -95,4 +96,5 @@ export * from './widgets/drawer/drawer.js';
95
96
  export * from './widgets/drawer/drawer-context.js';
96
97
  export * from './widgets/modal/modal.js';
97
98
  export * from './widgets/search/search.js';
99
+ export * from './widgets/datepicker/datepicker.js';
98
100
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
package/dist/react.js CHANGED
@@ -2,6 +2,7 @@ export * from "./components/@types/shared.js";
2
2
  export * from "./components/accordion/accordion.js";
3
3
  export * from "./components/animation/fade-in-lift.js";
4
4
  export * from "./components/avatar/avatar.js";
5
+ export * from "./components/badge/badge.js";
5
6
  export * from "./components/button/button.js";
6
7
  export * from "./components/button/button-group.js";
7
8
  export * from "./components/button/control-buttons.js";
@@ -91,3 +92,4 @@ export * from "./widgets/drawer/drawer.js";
91
92
  export * from "./widgets/drawer/drawer-context.js";
92
93
  export * from "./widgets/modal/modal.js";
93
94
  export * from "./widgets/search/search.js";
95
+ export * from "./widgets/datepicker/datepicker.js";
@@ -0,0 +1,31 @@
1
+ import type React from 'react';
2
+ import type { Intent, Size, Variant } from '../../components/input/@types/input.js';
3
+ export interface DatePickerProps extends React.InputHTMLAttributes<HTMLInputElement> {
4
+ id: string;
5
+ name: string;
6
+ label?: string;
7
+ required?: boolean;
8
+ initialValue?: Date | null;
9
+ mode?: 'date' | 'datetime';
10
+ yearsInFuture?: number;
11
+ yearsInPast?: number;
12
+ variant?: Variant;
13
+ inputSize?: Size;
14
+ inputWrapperClassName?: string;
15
+ inputClassName?: string;
16
+ intent?: Intent;
17
+ containerClassName?: string;
18
+ helpText?: string;
19
+ errorText?: string;
20
+ ariaLabelForSearch?: string;
21
+ ariaLabelForClear?: string;
22
+ onClear?: () => void;
23
+ onDateChange?: (value: Date | null) => void;
24
+ validatorFn?: (value: Date) => {
25
+ valid: boolean;
26
+ value: Date;
27
+ };
28
+ placeHolderText?: string;
29
+ }
30
+ export declare function DatePicker({ id, name, label, required, initialValue, mode, yearsInFuture, yearsInPast, variant, intent, inputSize, inputClassName, inputWrapperClassName, containerClassName, onClear, onDateChange, validatorFn, helpText, errorText, placeHolderText, ariaLabelForSearch, ariaLabelForClear, ...rest }: DatePickerProps): React.JSX.Element;
31
+ //# sourceMappingURL=datepicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../src/widgets/datepicker/datepicker.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAA;AAMnF,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;IAClF,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAA;IAC3C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK;QAC7B,KAAK,EAAE,OAAO,CAAA;QACd,KAAK,EAAE,IAAI,CAAA;KACZ,CAAA;IACD,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,IAAiB,EACjB,aAAiB,EACjB,WAAgB,EAChB,OAAO,EACP,MAAM,EACN,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,OAAkB,EAClB,YAAuB,EACvB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,eAAoB,EACpB,kBAA2B,EAC3B,iBAA2B,EAC3B,GAAG,IAAI,EACR,EAAE,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA0OrC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@infonomic/uikit",
3
3
  "private": false,
4
4
  "license": "MIT",
5
- "version": "2.8.0",
5
+ "version": "2.9.0",
6
6
  "type": "module",
7
7
  "description": "Infonomic UI kit is a collection of reusable UI components and utilities for React and Astro.",
8
8
  "keywords": [
@@ -0,0 +1,83 @@
1
+ .badge {
2
+ display: inline-block;
3
+ padding: 0.25em 0.4em;
4
+ font-size: var(--font-size-sm);
5
+ font-weight: 500;
6
+ line-height: 1;
7
+ text-align: center;
8
+ white-space: nowrap;
9
+ vertical-align: baseline;
10
+ border-radius: var(--border-radius-sm);
11
+ }
12
+
13
+ .primary {
14
+ color: white;
15
+ background-color: var(--primary-500);
16
+ }
17
+
18
+ .secondary {
19
+ color: black;
20
+ background-color: var(--secondary-500);
21
+ }
22
+
23
+ .noeffect {
24
+ color: black;
25
+ background-color: var(--gray-100);
26
+ }
27
+
28
+ .success {
29
+ color: white;
30
+ background-color: var(--green-500);
31
+ }
32
+
33
+ .info {
34
+ color: white;
35
+ background-color: var(--blue-300);
36
+ }
37
+
38
+ .warning {
39
+ color: var(--foreground);
40
+ background-color: var(--yellow-300);
41
+ }
42
+
43
+ .danger {
44
+ color: white;
45
+ background-color: var(--red-500);
46
+ }
47
+
48
+ :global(.dark) {
49
+ .primary:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
50
+ color: white;
51
+ background-color: var(--primary-400);
52
+ }
53
+
54
+ .secondary:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
55
+ color: black;;
56
+ background-color: var(--secondary-400);
57
+ }
58
+
59
+ .noeffect:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
60
+ color: white;
61
+ background-color: var(--gray-700);
62
+ }
63
+
64
+ .success:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
65
+ color: white;
66
+ background-color: var(--green-400);
67
+ }
68
+
69
+ .info:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
70
+ color: white;
71
+ background-color: var(--blue-400);
72
+ }
73
+
74
+ .warning:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
75
+ color: black;
76
+ background-color: var(--yellow-400);
77
+ }
78
+
79
+ .danger:not(:where([class~="not-dark"], [class~="not-dark"] *)) {
80
+ color: white;
81
+ background-color: var(--red-400);
82
+ }
83
+ }
@@ -0,0 +1,42 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+
3
+ import { capitalize } from '../../utils/capitalize.js'
4
+
5
+ import { intent } from '../@types/shared.js'
6
+ import { Badge } from './badge.js'
7
+
8
+ type Story = StoryObj<typeof Badge>
9
+
10
+ const AllIntents = (): React.JSX.Element => {
11
+ return (
12
+ <div style={{ maxWidth: '800px', margin: '0 auto' }}>
13
+ {intent.map((i) => {
14
+ return (
15
+ <div
16
+ key={i}
17
+ style={{
18
+ marginBottom: '12px',
19
+ }}
20
+ >
21
+ <Badge key={`${i}`} intent={i}>{`${capitalize(i)}`}</Badge>
22
+ </div>
23
+ )
24
+ })}
25
+ </div>
26
+ )
27
+ }
28
+
29
+ export const Intents: Story = {
30
+ render: () => <AllIntents />,
31
+ }
32
+
33
+ const meta: Meta<typeof Badge> = {
34
+ /* 👇 The title prop is optional.
35
+ * See https://storybook.js.org/docs/react/configure/overview#configure-story-loading
36
+ * to learn how to generate automatic titles
37
+ */
38
+ title: 'Components/Badge',
39
+ component: Badge,
40
+ }
41
+
42
+ export default meta
@@ -0,0 +1,7 @@
1
+ import cx from 'classnames'
2
+ import { Intent } from '../@types/shared'
3
+ import styles from './badge.module.css'
4
+
5
+ export function Badge({ children, intent = "primary" }: { children: React.ReactNode, intent?: Intent }): React.JSX.Element {
6
+ return <div className={cx('badge', intent, styles.badge, styles[intent])}>{children}</div>
7
+ }
package/src/react.ts CHANGED
@@ -7,6 +7,7 @@ export * from './components/@types/shared.js'
7
7
  export * from './components/accordion/accordion.js'
8
8
  export * from './components/animation/fade-in-lift.js'
9
9
  export * from './components/avatar/avatar.js'
10
+ export * from './components/badge/badge.js'
10
11
  export * from './components/button/button.js'
11
12
  export * from './components/button/button-group.js'
12
13
  export * from './components/button/control-buttons.js'
@@ -97,3 +98,4 @@ export * from './widgets/drawer/drawer.js'
97
98
  export * from './widgets/drawer/drawer-context.js'
98
99
  export * from './widgets/modal/modal.js'
99
100
  export * from './widgets/search/search.js'
101
+ export * from './widgets/datepicker/datepicker.js'