@treeal/ds 0.1.0 → 0.1.2

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 (116) hide show
  1. package/dist/assets/style.css +1 -1
  2. package/dist/components/Select/Select.d.ts +24 -0
  3. package/dist/components/Select/Select.d.ts.map +1 -0
  4. package/dist/components/Select/index.d.ts +3 -0
  5. package/dist/components/Select/index.d.ts.map +1 -0
  6. package/dist/components/Tab/Tab.d.ts +22 -0
  7. package/dist/components/Tab/Tab.d.ts.map +1 -0
  8. package/dist/components/Tab/index.d.ts +3 -0
  9. package/dist/components/Tab/index.d.ts.map +1 -0
  10. package/dist/components/index.d.ts +5 -0
  11. package/dist/components/index.d.ts.map +1 -1
  12. package/dist/index.cjs.js +1 -1
  13. package/dist/index.cjs10.js +1 -1
  14. package/dist/index.cjs10.js.map +1 -1
  15. package/dist/index.cjs11.js +1 -1
  16. package/dist/index.cjs11.js.map +1 -1
  17. package/dist/index.cjs12.js +1 -1
  18. package/dist/index.cjs12.js.map +1 -1
  19. package/dist/index.cjs13.js +1 -1
  20. package/dist/index.cjs13.js.map +1 -1
  21. package/dist/index.cjs14.js +1 -1
  22. package/dist/index.cjs14.js.map +1 -1
  23. package/dist/index.cjs15.js +1 -1
  24. package/dist/index.cjs15.js.map +1 -1
  25. package/dist/index.cjs16.js +1 -1
  26. package/dist/index.cjs16.js.map +1 -1
  27. package/dist/index.cjs17.js +1 -1
  28. package/dist/index.cjs18.js +1 -1
  29. package/dist/index.cjs19.js +1 -1
  30. package/dist/index.cjs20.js +1 -1
  31. package/dist/index.cjs21.js +1 -1
  32. package/dist/index.cjs22.js +1 -1
  33. package/dist/index.cjs23.js +1 -1
  34. package/dist/index.cjs24.js +2 -0
  35. package/dist/index.cjs24.js.map +1 -0
  36. package/dist/index.cjs25.js +2 -0
  37. package/dist/index.cjs25.js.map +1 -0
  38. package/dist/index.cjs26.js +2 -0
  39. package/dist/index.cjs26.js.map +1 -0
  40. package/dist/index.cjs27.js +2 -0
  41. package/dist/index.cjs27.js.map +1 -0
  42. package/dist/index.cjs28.js +2 -0
  43. package/dist/index.cjs28.js.map +1 -0
  44. package/dist/index.cjs3.js +1 -1
  45. package/dist/index.cjs3.js.map +1 -1
  46. package/dist/index.cjs4.js +1 -1
  47. package/dist/index.cjs4.js.map +1 -1
  48. package/dist/index.cjs5.js +1 -1
  49. package/dist/index.cjs5.js.map +1 -1
  50. package/dist/index.cjs6.js +1 -1
  51. package/dist/index.cjs6.js.map +1 -1
  52. package/dist/index.cjs7.js +1 -1
  53. package/dist/index.cjs7.js.map +1 -1
  54. package/dist/index.cjs8.js +1 -1
  55. package/dist/index.cjs8.js.map +1 -1
  56. package/dist/index.cjs9.js +1 -1
  57. package/dist/index.cjs9.js.map +1 -1
  58. package/dist/index.esm.js +29 -24
  59. package/dist/index.esm.js.map +1 -1
  60. package/dist/index.esm10.js +66 -226
  61. package/dist/index.esm10.js.map +1 -1
  62. package/dist/index.esm11.js +221 -160
  63. package/dist/index.esm11.js.map +1 -1
  64. package/dist/index.esm12.js +157 -73
  65. package/dist/index.esm12.js.map +1 -1
  66. package/dist/index.esm13.js +54 -209
  67. package/dist/index.esm13.js.map +1 -1
  68. package/dist/index.esm14.js +90 -23
  69. package/dist/index.esm14.js.map +1 -1
  70. package/dist/index.esm15.js +35 -31
  71. package/dist/index.esm15.js.map +1 -1
  72. package/dist/index.esm16.js +219 -61
  73. package/dist/index.esm16.js.map +1 -1
  74. package/dist/index.esm17.js +38 -60
  75. package/dist/index.esm17.js.map +1 -1
  76. package/dist/index.esm18.js +22 -38
  77. package/dist/index.esm18.js.map +1 -1
  78. package/dist/index.esm19.js +102 -22
  79. package/dist/index.esm19.js.map +1 -1
  80. package/dist/index.esm20.js +22 -20
  81. package/dist/index.esm20.js.map +1 -1
  82. package/dist/index.esm21.js +20 -48
  83. package/dist/index.esm21.js.map +1 -1
  84. package/dist/index.esm22.js +59 -21
  85. package/dist/index.esm22.js.map +1 -1
  86. package/dist/index.esm23.js +60 -102
  87. package/dist/index.esm23.js.map +1 -1
  88. package/dist/index.esm24.js +26 -0
  89. package/dist/index.esm24.js.map +1 -0
  90. package/dist/index.esm25.js +52 -0
  91. package/dist/index.esm25.js.map +1 -0
  92. package/dist/index.esm26.js +34 -0
  93. package/dist/index.esm26.js.map +1 -0
  94. package/dist/index.esm27.js +26 -0
  95. package/dist/index.esm27.js.map +1 -0
  96. package/dist/index.esm28.js +16 -0
  97. package/dist/index.esm28.js.map +1 -0
  98. package/dist/index.esm3.js +89 -53
  99. package/dist/index.esm3.js.map +1 -1
  100. package/dist/index.esm4.js +58 -111
  101. package/dist/index.esm4.js.map +1 -1
  102. package/dist/index.esm5.js +106 -60
  103. package/dist/index.esm5.js.map +1 -1
  104. package/dist/index.esm6.js +60 -28
  105. package/dist/index.esm6.js.map +1 -1
  106. package/dist/index.esm7.js +26 -171
  107. package/dist/index.esm7.js.map +1 -1
  108. package/dist/index.esm8.js +167 -54
  109. package/dist/index.esm8.js.map +1 -1
  110. package/dist/index.esm9.js +62 -71
  111. package/dist/index.esm9.js.map +1 -1
  112. package/package.json +1 -1
  113. package/dist/index.cjs2.js +0 -2
  114. package/dist/index.cjs2.js.map +0 -1
  115. package/dist/index.esm2.js +0 -98
  116. package/dist/index.esm2.js.map +0 -1
@@ -1,78 +1,69 @@
1
- import { jsx as l, jsxs as r } from "react/jsx-runtime";
2
- import { useCallback as u, useEffect as v } from "react";
3
- import e from "./index.esm22.js";
4
- function k({
5
- isOpen: d,
6
- title: m,
7
- description: n,
8
- children: c,
9
- onClose: s,
10
- primaryAction: o,
11
- secondaryAction: t
1
+ import { jsxs as n, jsx as a } from "react/jsx-runtime";
2
+ import { useId as D } from "react";
3
+ import e from "./index.esm26.js";
4
+ function E({
5
+ state: i = "Default",
6
+ label: o,
7
+ placeholder: p,
8
+ message: s,
9
+ iconLabel: c,
10
+ iconLeft: m,
11
+ iconRight: t,
12
+ value: h,
13
+ onChange: b,
14
+ id: u,
15
+ className: f,
16
+ ...v
12
17
  }) {
13
- const i = u(
14
- (a) => {
15
- a.key === "Escape" && s();
16
- },
17
- [s]
18
- );
19
- if (v(() => {
20
- if (!d) return;
21
- document.addEventListener("keydown", i);
22
- const a = document.body.style.overflow;
23
- return document.body.style.overflow = "hidden", () => {
24
- document.removeEventListener("keydown", i), document.body.style.overflow = a;
25
- };
26
- }, [d, i]), !d) return null;
27
- const b = o || t;
28
- return /* @__PURE__ */ l(
29
- "div",
30
- {
31
- className: e.overlay,
32
- onClick: s,
33
- role: "presentation",
34
- children: /* @__PURE__ */ r(
35
- "div",
18
+ const N = D(), r = u ?? N, l = i === "Disabled", d = i === "Error", j = [
19
+ e.field,
20
+ i === "Hover" ? e.hover : "",
21
+ i === "Active" ? e.active : "",
22
+ l ? e.disabled : "",
23
+ d ? e.error : "",
24
+ f
25
+ ].filter(Boolean).join(" ");
26
+ return /* @__PURE__ */ n("div", { className: e.wrapper, children: [
27
+ o && /* @__PURE__ */ n("div", { className: e.labelRow, children: [
28
+ /* @__PURE__ */ a(
29
+ "label",
36
30
  {
37
- className: e.modal,
38
- role: "dialog",
39
- "aria-modal": "true",
40
- "aria-labelledby": "modal-title",
41
- "aria-describedby": n ? "modal-desc" : void 0,
42
- onClick: (a) => a.stopPropagation(),
43
- children: [
44
- /* @__PURE__ */ r("div", { className: e.heading, children: [
45
- /* @__PURE__ */ l("p", { id: "modal-title", className: e.title, children: m }),
46
- n && /* @__PURE__ */ l("p", { id: "modal-desc", className: e.description, children: n })
47
- ] }),
48
- c && /* @__PURE__ */ l("div", { className: e.body, children: c }),
49
- b && /* @__PURE__ */ l("div", { className: e.actions, children: /* @__PURE__ */ r("div", { className: e.btns, children: [
50
- t && /* @__PURE__ */ l(
51
- "button",
52
- {
53
- type: "button",
54
- className: e.btnSecondary,
55
- onClick: t.onClick,
56
- children: t.label
57
- }
58
- ),
59
- o && /* @__PURE__ */ l(
60
- "button",
61
- {
62
- type: "button",
63
- className: e.btnPrimary,
64
- onClick: o.onClick,
65
- children: o.label
66
- }
67
- )
68
- ] }) })
69
- ]
31
+ htmlFor: r,
32
+ className: [e.label, l ? e.labelDisabled : ""].filter(Boolean).join(" "),
33
+ children: o
70
34
  }
71
- )
72
- }
73
- );
35
+ ),
36
+ c && /* @__PURE__ */ a("span", { className: e.labelIcon, "aria-hidden": "true", children: c })
37
+ ] }),
38
+ /* @__PURE__ */ n("div", { className: j, children: [
39
+ m && /* @__PURE__ */ a("span", { className: e.icon, "aria-hidden": "true", children: m }),
40
+ /* @__PURE__ */ a(
41
+ "input",
42
+ {
43
+ id: r,
44
+ className: e.input,
45
+ placeholder: p,
46
+ disabled: l,
47
+ value: h,
48
+ onChange: b,
49
+ "aria-invalid": d,
50
+ "aria-describedby": s ? `${r}-message` : void 0,
51
+ ...v
52
+ }
53
+ ),
54
+ t && /* @__PURE__ */ a("span", { className: e.icon, "aria-hidden": "true", children: t })
55
+ ] }),
56
+ s && /* @__PURE__ */ a(
57
+ "p",
58
+ {
59
+ id: `${r}-message`,
60
+ className: [e.message, d ? e.messageError : ""].filter(Boolean).join(" "),
61
+ children: s
62
+ }
63
+ )
64
+ ] });
74
65
  }
75
66
  export {
76
- k as Modal
67
+ E as Input
77
68
  };
78
69
  //# sourceMappingURL=index.esm9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm9.js","sources":["../components/Modal/Modal.tsx"],"sourcesContent":["import React, { useEffect, useCallback } from 'react';\nimport styles from './Modal.module.css';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface ModalAction {\n label: string;\n onClick: () => void;\n}\n\nexport interface ModalProps {\n isOpen: boolean;\n title: string;\n description?: string;\n /** Customizable modal body content (e.g. radio/checkbox option list) */\n children?: React.ReactNode;\n onClose: () => void;\n primaryAction?: ModalAction;\n secondaryAction?: ModalAction;\n}\n\n// ─── Modal ────────────────────────────────────────────────────────────────────\n\nexport function Modal({\n isOpen,\n title,\n description,\n children,\n onClose,\n primaryAction,\n secondaryAction,\n}: ModalProps) {\n // Close on Escape key\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n },\n [onClose],\n );\n\n useEffect(() => {\n if (!isOpen) return;\n document.addEventListener('keydown', handleKeyDown);\n // Prevent body scroll while modal is open\n const prev = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.body.style.overflow = prev;\n };\n }, [isOpen, handleKeyDown]);\n\n if (!isOpen) return null;\n\n const hasActions = primaryAction || secondaryAction;\n\n return (\n <div\n className={styles.overlay}\n onClick={onClose}\n role=\"presentation\"\n >\n <div\n className={styles.modal}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"modal-title\"\n aria-describedby={description ? 'modal-desc' : undefined}\n onClick={(e) => e.stopPropagation()}\n >\n {/* Heading */}\n <div className={styles.heading}>\n <p id=\"modal-title\" className={styles.title}>\n {title}\n </p>\n {description && (\n <p id=\"modal-desc\" className={styles.description}>\n {description}\n </p>\n )}\n </div>\n\n {/* Body */}\n {children && (\n <div className={styles.body}>\n {children}\n </div>\n )}\n\n {/* Actions */}\n {hasActions && (\n <div className={styles.actions}>\n <div className={styles.btns}>\n {secondaryAction && (\n <button\n type=\"button\"\n className={styles.btnSecondary}\n onClick={secondaryAction.onClick}\n >\n {secondaryAction.label}\n </button>\n )}\n {primaryAction && (\n <button\n type=\"button\"\n className={styles.btnPrimary}\n onClick={primaryAction.onClick}\n >\n {primaryAction.label}\n </button>\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["Modal","isOpen","title","description","children","onClose","primaryAction","secondaryAction","handleKeyDown","useCallback","e","useEffect","prev","hasActions","jsx","styles","jsxs"],"mappings":";;;AAuBO,SAASA,EAAM;AAAA,EACpB,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,iBAAAC;AACF,GAAe;AAEb,QAAMC,IAAgBC;AAAA,IACpB,CAACC,MAAqB;AACpB,MAAIA,EAAE,QAAQ,YAAUL,EAAA;AAAA,IAC1B;AAAA,IACA,CAACA,CAAO;AAAA,EAAA;AAeV,MAZAM,EAAU,MAAM;AACd,QAAI,CAACV,EAAQ;AACb,aAAS,iBAAiB,WAAWO,CAAa;AAElD,UAAMI,IAAO,SAAS,KAAK,MAAM;AACjC,oBAAS,KAAK,MAAM,WAAW,UACxB,MAAM;AACX,eAAS,oBAAoB,WAAWJ,CAAa,GACrD,SAAS,KAAK,MAAM,WAAWI;AAAA,IACjC;AAAA,EACF,GAAG,CAACX,GAAQO,CAAa,CAAC,GAEtB,CAACP,EAAQ,QAAO;AAEpB,QAAMY,IAAaP,KAAiBC;AAEpC,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAO;AAAA,MAClB,SAASV;AAAA,MACT,MAAK;AAAA,MAEL,UAAA,gBAAAW;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWD,EAAO;AAAA,UAClB,MAAK;AAAA,UACL,cAAW;AAAA,UACX,mBAAgB;AAAA,UAChB,oBAAkBZ,IAAc,eAAe;AAAA,UAC/C,SAAS,CAACO,MAAMA,EAAE,gBAAA;AAAA,UAGlB,UAAA;AAAA,YAAA,gBAAAM,EAAC,OAAA,EAAI,WAAWD,EAAO,SACrB,UAAA;AAAA,cAAA,gBAAAD,EAAC,OAAE,IAAG,eAAc,WAAWC,EAAO,OACnC,UAAAb,GACH;AAAA,cACCC,uBACE,KAAA,EAAE,IAAG,cAAa,WAAWY,EAAO,aAClC,UAAAZ,EAAA,CACH;AAAA,YAAA,GAEJ;AAAA,YAGCC,KACC,gBAAAU,EAAC,OAAA,EAAI,WAAWC,EAAO,MACpB,UAAAX,GACH;AAAA,YAIDS,KACC,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAO,SACrB,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWD,EAAO,MACpB,UAAA;AAAA,cAAAR,KACC,gBAAAO;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,WAAWC,EAAO;AAAA,kBAClB,SAASR,EAAgB;AAAA,kBAExB,UAAAA,EAAgB;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGpBD,KACC,gBAAAQ;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,WAAWC,EAAO;AAAA,kBAClB,SAAST,EAAc;AAAA,kBAEtB,UAAAA,EAAc;AAAA,gBAAA;AAAA,cAAA;AAAA,YACjB,EAAA,CAEJ,EAAA,CACF;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"index.esm9.js","sources":["../components/Input/Input.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport styles from './Input.module.css';\n\nexport type InputState = 'Default' | 'Hover' | 'Active' | 'Disabled' | 'Error';\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n /** Visual/interaction state. Defaults to 'Default'. */\n state?: InputState;\n /** Label text rendered above the field. */\n label?: string;\n placeholder?: string;\n /** Helper or error message rendered below the field. */\n message?: string;\n /** Info icon rendered beside the label. */\n iconLabel?: React.ReactNode;\n /** Icon rendered inside the field, left side (24×24 slot). */\n iconLeft?: React.ReactNode;\n /** Icon rendered inside the field, right side (24×24 slot). */\n iconRight?: React.ReactNode;\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport function Input({\n state = 'Default',\n label,\n placeholder,\n message,\n iconLabel,\n iconLeft,\n iconRight,\n value,\n onChange,\n id: idProp,\n className,\n ...props\n}: InputProps) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n\n const isDisabled = state === 'Disabled';\n const isError = state === 'Error';\n\n const fieldClass = [\n styles.field,\n state === 'Hover' ? styles.hover : '',\n state === 'Active' ? styles.active : '',\n isDisabled ? styles.disabled : '',\n isError ? styles.error : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={styles.wrapper}>\n {label && (\n <div className={styles.labelRow}>\n <label\n htmlFor={id}\n className={[styles.label, isDisabled ? styles.labelDisabled : '']\n .filter(Boolean)\n .join(' ')}\n >\n {label}\n </label>\n {iconLabel && (\n <span className={styles.labelIcon} aria-hidden=\"true\">\n {iconLabel}\n </span>\n )}\n </div>\n )}\n\n <div className={fieldClass}>\n {iconLeft && (\n <span className={styles.icon} aria-hidden=\"true\">\n {iconLeft}\n </span>\n )}\n <input\n id={id}\n className={styles.input}\n placeholder={placeholder}\n disabled={isDisabled}\n value={value}\n onChange={onChange}\n aria-invalid={isError}\n aria-describedby={message ? `${id}-message` : undefined}\n {...props}\n />\n {iconRight && (\n <span className={styles.icon} aria-hidden=\"true\">\n {iconRight}\n </span>\n )}\n </div>\n\n {message && (\n <p\n id={`${id}-message`}\n className={[styles.message, isError ? styles.messageError : '']\n .filter(Boolean)\n .join(' ')}\n >\n {message}\n </p>\n )}\n </div>\n );\n}\n"],"names":["Input","state","label","placeholder","message","iconLabel","iconLeft","iconRight","value","onChange","idProp","className","props","generatedId","useId","id","isDisabled","isError","fieldClass","styles","jsxs","jsx"],"mappings":";;;AAwBO,SAASA,EAAM;AAAA,EACpB,OAAAC,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,IAAIC;AAAA,EACJ,WAAAC;AAAA,EACA,GAAGC;AACL,GAAe;AACb,QAAMC,IAAcC,EAAA,GACdC,IAAKL,KAAUG,GAEfG,IAAaf,MAAU,YACvBgB,IAAUhB,MAAU,SAEpBiB,IAAa;AAAA,IACjBC,EAAO;AAAA,IACPlB,MAAU,UAAUkB,EAAO,QAAQ;AAAA,IACnClB,MAAU,WAAWkB,EAAO,SAAS;AAAA,IACrCH,IAAaG,EAAO,WAAW;AAAA,IAC/BF,IAAUE,EAAO,QAAQ;AAAA,IACzBR;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAS,EAAC,OAAA,EAAI,WAAWD,EAAO,SACpB,UAAA;AAAA,IAAAjB,KACC,gBAAAkB,EAAC,OAAA,EAAI,WAAWD,EAAO,UACrB,UAAA;AAAA,MAAA,gBAAAE;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAASN;AAAA,UACT,WAAW,CAACI,EAAO,OAAOH,IAAaG,EAAO,gBAAgB,EAAE,EAC7D,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,UAEV,UAAAjB;AAAA,QAAA;AAAA,MAAA;AAAA,MAEFG,uBACE,QAAA,EAAK,WAAWc,EAAO,WAAW,eAAY,QAC5C,UAAAd,EAAA,CACH;AAAA,IAAA,GAEJ;AAAA,IAGF,gBAAAe,EAAC,OAAA,EAAI,WAAWF,GACb,UAAA;AAAA,MAAAZ,uBACE,QAAA,EAAK,WAAWa,EAAO,MAAM,eAAY,QACvC,UAAAb,EAAA,CACH;AAAA,MAEF,gBAAAe;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAAN;AAAA,UACA,WAAWI,EAAO;AAAA,UAClB,aAAAhB;AAAA,UACA,UAAUa;AAAA,UACV,OAAAR;AAAA,UACA,UAAAC;AAAA,UACA,gBAAcQ;AAAA,UACd,oBAAkBb,IAAU,GAAGW,CAAE,aAAa;AAAA,UAC7C,GAAGH;AAAA,QAAA;AAAA,MAAA;AAAA,MAELL,uBACE,QAAA,EAAK,WAAWY,EAAO,MAAM,eAAY,QACvC,UAAAZ,EAAA,CACH;AAAA,IAAA,GAEJ;AAAA,IAECH,KACC,gBAAAiB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI,GAAGN,CAAE;AAAA,QACT,WAAW,CAACI,EAAO,SAASF,IAAUE,EAAO,eAAe,EAAE,EAC3D,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QAEV,UAAAf;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GAEJ;AAEJ;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treeal/ds",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Treeal Design System — React component library with CSS Modules",
5
5
  "license": "MIT",
6
6
 
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F={brand:{primary:{base:"#203224"},secondary:{base:"#0F6C13"},tertiary:{base:"#E7DA10"}},default:{white:"#FFFFFF",textDark:"#524E69",textMedium:"#9490AC",disabled:"#EFEEF2",border:"#DCE5DE",stepDefault:"#E0DEED",whiteCloud:"#F5F5F5",modalBorder:"#E0DEED",modalTextMedium:"#757094"},message:{info:{base:"#2472BA"},danger:{base:"#FF3A29"}},gray:{900:"#101828",600:"#475467",500:"#667085",300:"#D0D5DD",200:"#EAECF0"},pagination:{active:"#0F6C13",border:"#CED4DA",text:"#101113"},alert:{default:{bg:"#F9F8FC",border:"#DCE5DE",title:"#524E69"},info:{bg:"#F4F9FF",border:"#C9E2FE",title:"#2472BA"},success:{bg:"#F5FBF7",border:"#CAE7D5",title:"#2C7D56"},warning:{bg:"#FFF9E9",border:"#FFDB90",title:"#A36A00"},error:{bg:"#FFF8F6",border:"#FFCABF",title:"#DE0000"}},shadow:{popper:"0px 1px 12px 0px rgba(25,27,35,0.15)"},primary:{600:"#154FEF",500:"#2970FF",400:"#5280FF",200:"#B2C9FF",100:"#DBE8FF"}};exports.colors=F;
2
- //# sourceMappingURL=index.cjs2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs2.js","sources":["../tokens/colors.ts"],"sourcesContent":["/**\n * Color tokens — extracted directly from Figma (VekfomfsZU4q2iaY1j4VXP)\n * Nodes: BtnsBase (3107:5509), TextField (3105:3885), BaseCheckRadio (3106:4752),\n * FileUpload (3210:3538), Pagination (3203:662), NavPrimary (3554:548),\n * Modal (5139:1464), AlertSticky (3114:1706)\n */\n\nexport const colors = {\n brand: {\n primary: {\n /** #203224 — Secondary button bg; Fill button text; Check/Radio checked bg */\n base: '#203224',\n },\n secondary: {\n /** #0F6C13 — Outline button border & text */\n base: '#0F6C13',\n },\n tertiary: {\n /** #E7DA10 — Fill button background */\n base: '#E7DA10',\n },\n },\n default: {\n /** #FFFFFF — Secondary button text; input background */\n white: '#FFFFFF',\n /** #524E69 — Disabled text; input active/error text */\n textDark: '#524E69',\n /** #9490AC — Placeholder; input hover/active border; Grayscale/600 */\n textMedium: '#9490AC',\n /** #EFEEF2 — Disabled background; input focus ring; Grayscale/100 */\n disabled: '#EFEEF2',\n /** #DCE5DE — Default input border; Check/Radio border */\n border: '#DCE5DE',\n /** #E0DEED — Grayscale/200 · Default step background */\n stepDefault: '#E0DEED',\n /** #F5F5F5 — Default Colors/White Cloud · Nav sidebar background */\n whiteCloud: '#F5F5F5',\n /** #E0DEED — Grayscale/200 · Modal slot border */\n modalBorder: '#E0DEED',\n /** #757094 — Default Colors/Text medium · Modal slot text, option labels */\n modalTextMedium: '#757094',\n },\n message: {\n info: {\n /** #2472BA — Text button text */\n base: '#2472BA',\n },\n danger: {\n /** #FF3A29 — Error input border & message */\n base: '#FF3A29',\n },\n },\n /** Gray scale — FileUpload / Gray/x00 tokens */\n gray: {\n /** #101828 — Gray/900 · file name, body text */\n 900: '#101828',\n /** #475467 — Gray/600 · action icon color */\n 600: '#475467',\n /** #667085 — Gray/500 · file size, muted text */\n 500: '#667085',\n /** #D0D5DD — Gray/300 · upload drop-zone default border */\n 300: '#D0D5DD',\n /** #EAECF0 — Gray/200 · file item border, progress track */\n 200: '#EAECF0',\n },\n /** Pagination tokens — Pagination (3203:662) */\n pagination: {\n /** #0F6C13 — active item bg (= brand.secondary.base) */\n active: '#0F6C13',\n /** #CED4DA — Gray/Gray 4 · inactive item border, control border */\n border: '#CED4DA',\n /** #101113 — Dark/Dark 9 · page number text */\n text: '#101113',\n },\n /** Alert tokens — AlertSticky (3114:1706) */\n alert: {\n default: { bg: '#F9F8FC', border: '#DCE5DE', title: '#524E69' },\n info: { bg: '#F4F9FF', border: '#C9E2FE', title: '#2472BA' },\n success: { bg: '#F5FBF7', border: '#CAE7D5', title: '#2C7D56' },\n warning: { bg: '#FFF9E9', border: '#FFDB90', title: '#A36A00' },\n error: { bg: '#FFF8F6', border: '#FFCABF', title: '#DE0000' },\n },\n /** Shadow tokens */\n shadow: {\n /** 0px 1px 12px 0px rgba(25,27,35,0.15) — BS-Popper */\n popper: '0px 1px 12px 0px rgba(25,27,35,0.15)',\n },\n /** Blue primary scale — FileUpload / Primary/x00 tokens */\n primary: {\n /** #154FEF — Primary/600 · \"browse\" link color */\n 600: '#154FEF',\n /** #2970FF — Primary/500 · active drop-zone border, progress fill */\n 500: '#2970FF',\n /** #5280FF — Primary/400 */\n 400: '#5280FF',\n /** #B2C9FF — Primary/200 · file badge background */\n 200: '#B2C9FF',\n /** #DBE8FF — Primary/100 · file badge ring, active drop-zone bg */\n 100: '#DBE8FF',\n },\n} as const;\n\nexport type Colors = typeof colors;\n"],"names":["colors"],"mappings":"gFAOO,MAAMA,EAAS,CACpB,MAAO,CACL,QAAS,CAEP,KAAM,SAAA,EAER,UAAW,CAET,KAAM,SAAA,EAER,SAAU,CAER,KAAM,SAAA,CACR,EAEF,QAAS,CAEP,MAAO,UAEP,SAAU,UAEV,WAAY,UAEZ,SAAU,UAEV,OAAQ,UAER,YAAa,UAEb,WAAY,UAEZ,YAAa,UAEb,gBAAiB,SAAA,EAEnB,QAAS,CACP,KAAM,CAEJ,KAAM,SAAA,EAER,OAAQ,CAEN,KAAM,SAAA,CACR,EAGF,KAAM,CAEJ,IAAK,UAEL,IAAK,UAEL,IAAK,UAEL,IAAK,UAEL,IAAK,SAAA,EAGP,WAAY,CAEV,OAAQ,UAER,OAAQ,UAER,KAAM,SAAA,EAGR,MAAO,CACL,QAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,SAAA,EACpD,KAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,SAAA,EACpD,QAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,SAAA,EACpD,QAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,SAAA,EACpD,MAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,SAAA,CAAU,EAGhE,OAAQ,CAEN,OAAQ,sCAAA,EAGV,QAAS,CAEP,IAAK,UAEL,IAAK,UAEL,IAAK,UAEL,IAAK,UAEL,IAAK,SAAA,CAET"}
@@ -1,98 +0,0 @@
1
- const F = {
2
- brand: {
3
- primary: {
4
- /** #203224 — Secondary button bg; Fill button text; Check/Radio checked bg */
5
- base: "#203224"
6
- },
7
- secondary: {
8
- /** #0F6C13 — Outline button border & text */
9
- base: "#0F6C13"
10
- },
11
- tertiary: {
12
- /** #E7DA10 — Fill button background */
13
- base: "#E7DA10"
14
- }
15
- },
16
- default: {
17
- /** #FFFFFF — Secondary button text; input background */
18
- white: "#FFFFFF",
19
- /** #524E69 — Disabled text; input active/error text */
20
- textDark: "#524E69",
21
- /** #9490AC — Placeholder; input hover/active border; Grayscale/600 */
22
- textMedium: "#9490AC",
23
- /** #EFEEF2 — Disabled background; input focus ring; Grayscale/100 */
24
- disabled: "#EFEEF2",
25
- /** #DCE5DE — Default input border; Check/Radio border */
26
- border: "#DCE5DE",
27
- /** #E0DEED — Grayscale/200 · Default step background */
28
- stepDefault: "#E0DEED",
29
- /** #F5F5F5 — Default Colors/White Cloud · Nav sidebar background */
30
- whiteCloud: "#F5F5F5",
31
- /** #E0DEED — Grayscale/200 · Modal slot border */
32
- modalBorder: "#E0DEED",
33
- /** #757094 — Default Colors/Text medium · Modal slot text, option labels */
34
- modalTextMedium: "#757094"
35
- },
36
- message: {
37
- info: {
38
- /** #2472BA — Text button text */
39
- base: "#2472BA"
40
- },
41
- danger: {
42
- /** #FF3A29 — Error input border & message */
43
- base: "#FF3A29"
44
- }
45
- },
46
- /** Gray scale — FileUpload / Gray/x00 tokens */
47
- gray: {
48
- /** #101828 — Gray/900 · file name, body text */
49
- 900: "#101828",
50
- /** #475467 — Gray/600 · action icon color */
51
- 600: "#475467",
52
- /** #667085 — Gray/500 · file size, muted text */
53
- 500: "#667085",
54
- /** #D0D5DD — Gray/300 · upload drop-zone default border */
55
- 300: "#D0D5DD",
56
- /** #EAECF0 — Gray/200 · file item border, progress track */
57
- 200: "#EAECF0"
58
- },
59
- /** Pagination tokens — Pagination (3203:662) */
60
- pagination: {
61
- /** #0F6C13 — active item bg (= brand.secondary.base) */
62
- active: "#0F6C13",
63
- /** #CED4DA — Gray/Gray 4 · inactive item border, control border */
64
- border: "#CED4DA",
65
- /** #101113 — Dark/Dark 9 · page number text */
66
- text: "#101113"
67
- },
68
- /** Alert tokens — AlertSticky (3114:1706) */
69
- alert: {
70
- default: { bg: "#F9F8FC", border: "#DCE5DE", title: "#524E69" },
71
- info: { bg: "#F4F9FF", border: "#C9E2FE", title: "#2472BA" },
72
- success: { bg: "#F5FBF7", border: "#CAE7D5", title: "#2C7D56" },
73
- warning: { bg: "#FFF9E9", border: "#FFDB90", title: "#A36A00" },
74
- error: { bg: "#FFF8F6", border: "#FFCABF", title: "#DE0000" }
75
- },
76
- /** Shadow tokens */
77
- shadow: {
78
- /** 0px 1px 12px 0px rgba(25,27,35,0.15) — BS-Popper */
79
- popper: "0px 1px 12px 0px rgba(25,27,35,0.15)"
80
- },
81
- /** Blue primary scale — FileUpload / Primary/x00 tokens */
82
- primary: {
83
- /** #154FEF — Primary/600 · "browse" link color */
84
- 600: "#154FEF",
85
- /** #2970FF — Primary/500 · active drop-zone border, progress fill */
86
- 500: "#2970FF",
87
- /** #5280FF — Primary/400 */
88
- 400: "#5280FF",
89
- /** #B2C9FF — Primary/200 · file badge background */
90
- 200: "#B2C9FF",
91
- /** #DBE8FF — Primary/100 · file badge ring, active drop-zone bg */
92
- 100: "#DBE8FF"
93
- }
94
- };
95
- export {
96
- F as colors
97
- };
98
- //# sourceMappingURL=index.esm2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm2.js","sources":["../tokens/colors.ts"],"sourcesContent":["/**\n * Color tokens — extracted directly from Figma (VekfomfsZU4q2iaY1j4VXP)\n * Nodes: BtnsBase (3107:5509), TextField (3105:3885), BaseCheckRadio (3106:4752),\n * FileUpload (3210:3538), Pagination (3203:662), NavPrimary (3554:548),\n * Modal (5139:1464), AlertSticky (3114:1706)\n */\n\nexport const colors = {\n brand: {\n primary: {\n /** #203224 — Secondary button bg; Fill button text; Check/Radio checked bg */\n base: '#203224',\n },\n secondary: {\n /** #0F6C13 — Outline button border & text */\n base: '#0F6C13',\n },\n tertiary: {\n /** #E7DA10 — Fill button background */\n base: '#E7DA10',\n },\n },\n default: {\n /** #FFFFFF — Secondary button text; input background */\n white: '#FFFFFF',\n /** #524E69 — Disabled text; input active/error text */\n textDark: '#524E69',\n /** #9490AC — Placeholder; input hover/active border; Grayscale/600 */\n textMedium: '#9490AC',\n /** #EFEEF2 — Disabled background; input focus ring; Grayscale/100 */\n disabled: '#EFEEF2',\n /** #DCE5DE — Default input border; Check/Radio border */\n border: '#DCE5DE',\n /** #E0DEED — Grayscale/200 · Default step background */\n stepDefault: '#E0DEED',\n /** #F5F5F5 — Default Colors/White Cloud · Nav sidebar background */\n whiteCloud: '#F5F5F5',\n /** #E0DEED — Grayscale/200 · Modal slot border */\n modalBorder: '#E0DEED',\n /** #757094 — Default Colors/Text medium · Modal slot text, option labels */\n modalTextMedium: '#757094',\n },\n message: {\n info: {\n /** #2472BA — Text button text */\n base: '#2472BA',\n },\n danger: {\n /** #FF3A29 — Error input border & message */\n base: '#FF3A29',\n },\n },\n /** Gray scale — FileUpload / Gray/x00 tokens */\n gray: {\n /** #101828 — Gray/900 · file name, body text */\n 900: '#101828',\n /** #475467 — Gray/600 · action icon color */\n 600: '#475467',\n /** #667085 — Gray/500 · file size, muted text */\n 500: '#667085',\n /** #D0D5DD — Gray/300 · upload drop-zone default border */\n 300: '#D0D5DD',\n /** #EAECF0 — Gray/200 · file item border, progress track */\n 200: '#EAECF0',\n },\n /** Pagination tokens — Pagination (3203:662) */\n pagination: {\n /** #0F6C13 — active item bg (= brand.secondary.base) */\n active: '#0F6C13',\n /** #CED4DA — Gray/Gray 4 · inactive item border, control border */\n border: '#CED4DA',\n /** #101113 — Dark/Dark 9 · page number text */\n text: '#101113',\n },\n /** Alert tokens — AlertSticky (3114:1706) */\n alert: {\n default: { bg: '#F9F8FC', border: '#DCE5DE', title: '#524E69' },\n info: { bg: '#F4F9FF', border: '#C9E2FE', title: '#2472BA' },\n success: { bg: '#F5FBF7', border: '#CAE7D5', title: '#2C7D56' },\n warning: { bg: '#FFF9E9', border: '#FFDB90', title: '#A36A00' },\n error: { bg: '#FFF8F6', border: '#FFCABF', title: '#DE0000' },\n },\n /** Shadow tokens */\n shadow: {\n /** 0px 1px 12px 0px rgba(25,27,35,0.15) — BS-Popper */\n popper: '0px 1px 12px 0px rgba(25,27,35,0.15)',\n },\n /** Blue primary scale — FileUpload / Primary/x00 tokens */\n primary: {\n /** #154FEF — Primary/600 · \"browse\" link color */\n 600: '#154FEF',\n /** #2970FF — Primary/500 · active drop-zone border, progress fill */\n 500: '#2970FF',\n /** #5280FF — Primary/400 */\n 400: '#5280FF',\n /** #B2C9FF — Primary/200 · file badge background */\n 200: '#B2C9FF',\n /** #DBE8FF — Primary/100 · file badge ring, active drop-zone bg */\n 100: '#DBE8FF',\n },\n} as const;\n\nexport type Colors = typeof colors;\n"],"names":["colors"],"mappings":"AAOO,MAAMA,IAAS;AAAA,EACpB,OAAO;AAAA,IACL,SAAS;AAAA;AAAA,MAEP,MAAM;AAAA,IAAA;AAAA,IAER,WAAW;AAAA;AAAA,MAET,MAAM;AAAA,IAAA;AAAA,IAER,UAAU;AAAA;AAAA,MAER,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,SAAS;AAAA;AAAA,IAEP,OAAO;AAAA;AAAA,IAEP,UAAU;AAAA;AAAA,IAEV,YAAY;AAAA;AAAA,IAEZ,UAAU;AAAA;AAAA,IAEV,QAAQ;AAAA;AAAA,IAER,aAAa;AAAA;AAAA,IAEb,YAAY;AAAA;AAAA,IAEZ,aAAa;AAAA;AAAA,IAEb,iBAAiB;AAAA,EAAA;AAAA,EAEnB,SAAS;AAAA,IACP,MAAM;AAAA;AAAA,MAEJ,MAAM;AAAA,IAAA;AAAA,IAER,QAAQ;AAAA;AAAA,MAEN,MAAM;AAAA,IAAA;AAAA,EACR;AAAA;AAAA,EAGF,MAAM;AAAA;AAAA,IAEJ,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA,EAAA;AAAA;AAAA,EAGP,YAAY;AAAA;AAAA,IAEV,QAAQ;AAAA;AAAA,IAER,QAAQ;AAAA;AAAA,IAER,MAAM;AAAA,EAAA;AAAA;AAAA,EAGR,OAAO;AAAA,IACL,SAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,UAAA;AAAA,IACpD,MAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,UAAA;AAAA,IACpD,SAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,UAAA;AAAA,IACpD,SAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,UAAA;AAAA,IACpD,OAAS,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,UAAA;AAAA,EAAU;AAAA;AAAA,EAGhE,QAAQ;AAAA;AAAA,IAEN,QAAQ;AAAA,EAAA;AAAA;AAAA,EAGV,SAAS;AAAA;AAAA,IAEP,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA,EAAA;AAET;"}