@plastic-js/tsumiki 0.1.0 → 0.1.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 (103) hide show
  1. package/dist/components/Accordion.js +7 -0
  2. package/dist/components/Accordion.js.map +1 -0
  3. package/dist/components/Avatar.js +7 -0
  4. package/dist/components/Avatar.js.map +1 -0
  5. package/dist/components/CardNumberInput.js +67 -0
  6. package/dist/components/CardNumberInput.js.map +1 -0
  7. package/dist/components/Carousel.js +7 -0
  8. package/dist/components/Carousel.js.map +1 -0
  9. package/dist/components/Checkbox.js +7 -0
  10. package/dist/components/Checkbox.js.map +1 -0
  11. package/dist/components/Clipboard.js +7 -0
  12. package/dist/components/Clipboard.js.map +1 -0
  13. package/dist/components/Collapsible.js +7 -0
  14. package/dist/components/Collapsible.js.map +1 -0
  15. package/dist/components/ColorPicker.js +7 -0
  16. package/dist/components/ColorPicker.js.map +1 -0
  17. package/dist/components/Combobox.js +19 -0
  18. package/dist/components/Combobox.js.map +1 -0
  19. package/dist/components/ConfirmDialog.js +36 -0
  20. package/dist/components/ConfirmDialog.js.map +1 -0
  21. package/dist/components/DateInput.js +7 -0
  22. package/dist/components/DateInput.js.map +1 -0
  23. package/dist/components/DatePicker.js +7 -0
  24. package/dist/components/DatePicker.js.map +1 -0
  25. package/dist/components/Dialog.js +218 -0
  26. package/dist/components/Dialog.js.map +1 -0
  27. package/dist/components/Drawer.js +7 -0
  28. package/dist/components/Drawer.js.map +1 -0
  29. package/dist/components/Field.js +7 -0
  30. package/dist/components/Field.js.map +1 -0
  31. package/dist/components/Fieldset.js +7 -0
  32. package/dist/components/Fieldset.js.map +1 -0
  33. package/dist/components/FileUpload.js +7 -0
  34. package/dist/components/FileUpload.js.map +1 -0
  35. package/dist/components/FilteredSelect.js +173 -0
  36. package/dist/components/FilteredSelect.js.map +1 -0
  37. package/dist/components/FocusTrap.js +7 -0
  38. package/dist/components/FocusTrap.js.map +1 -0
  39. package/dist/components/HoverCard.js +7 -0
  40. package/dist/components/HoverCard.js.map +1 -0
  41. package/dist/components/Icon.js +37 -0
  42. package/dist/components/Icon.js.map +1 -0
  43. package/dist/components/Listbox.js +7 -0
  44. package/dist/components/Listbox.js.map +1 -0
  45. package/dist/components/Menu.js +7 -0
  46. package/dist/components/Menu.js.map +1 -0
  47. package/dist/components/MoneyInput.js +114 -0
  48. package/dist/components/MoneyInput.js.map +1 -0
  49. package/dist/components/MyFilteredSelect.js +119 -0
  50. package/dist/components/MyFilteredSelect.js.map +1 -0
  51. package/dist/components/NumberInput.js +7 -0
  52. package/dist/components/NumberInput.js.map +1 -0
  53. package/dist/components/Pagination.js +7 -0
  54. package/dist/components/Pagination.js.map +1 -0
  55. package/dist/components/Popover.js +7 -0
  56. package/dist/components/Popover.js.map +1 -0
  57. package/dist/components/Portal.js +7 -0
  58. package/dist/components/Portal.js.map +1 -0
  59. package/dist/components/Presence.js +7 -0
  60. package/dist/components/Presence.js.map +1 -0
  61. package/dist/components/Progress.js +7 -0
  62. package/dist/components/Progress.js.map +1 -0
  63. package/dist/components/RadioGroup.js +7 -0
  64. package/dist/components/RadioGroup.js.map +1 -0
  65. package/dist/components/RatingGroup.js +7 -0
  66. package/dist/components/RatingGroup.js.map +1 -0
  67. package/dist/components/SearchInput.js +66 -0
  68. package/dist/components/SearchInput.js.map +1 -0
  69. package/dist/components/Select.js +7 -0
  70. package/dist/components/Select.js.map +1 -0
  71. package/dist/components/SignaturePad.js +7 -0
  72. package/dist/components/SignaturePad.js.map +1 -0
  73. package/dist/components/Skeleton.js +29 -0
  74. package/dist/components/Skeleton.js.map +1 -0
  75. package/dist/components/Slider.js +7 -0
  76. package/dist/components/Slider.js.map +1 -0
  77. package/dist/components/Splitter.js +7 -0
  78. package/dist/components/Splitter.js.map +1 -0
  79. package/dist/components/Steps.js +7 -0
  80. package/dist/components/Steps.js.map +1 -0
  81. package/dist/components/SwipeReveal.js +161 -0
  82. package/dist/components/SwipeReveal.js.map +1 -0
  83. package/dist/components/Switch.js +7 -0
  84. package/dist/components/Switch.js.map +1 -0
  85. package/dist/components/Tabs.js +7 -0
  86. package/dist/components/Tabs.js.map +1 -0
  87. package/dist/components/TagsInput.js +7 -0
  88. package/dist/components/TagsInput.js.map +1 -0
  89. package/dist/components/Toast.js +7 -0
  90. package/dist/components/Toast.js.map +1 -0
  91. package/dist/components/Toggle.js +7 -0
  92. package/dist/components/Toggle.js.map +1 -0
  93. package/dist/components/ToggleGroup.js +7 -0
  94. package/dist/components/ToggleGroup.js.map +1 -0
  95. package/dist/components/Tooltip.js +7 -0
  96. package/dist/components/Tooltip.js.map +1 -0
  97. package/dist/components/Tour.js +7 -0
  98. package/dist/components/Tour.js.map +1 -0
  99. package/dist/components/TreeView.js +7 -0
  100. package/dist/components/TreeView.js.map +1 -0
  101. package/dist/index.js +50 -2714
  102. package/package.json +1 -1
  103. package/dist/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.js","names":["RadioGroup"],"sources":["../../src/components/RadioGroup.jsx"],"sourcesContent":["import { RadioGroup } from '@plastic-js/ark'\n\nexport default RadioGroup\n"],"mappings":";;AAEA,IAAA,qBAAeA"}
@@ -0,0 +1,7 @@
1
+ import { RatingGroup } from "@plastic-js/ark";
2
+ //#region src/components/RatingGroup.jsx
3
+ var RatingGroup_default = RatingGroup;
4
+ //#endregion
5
+ export { RatingGroup_default as default };
6
+
7
+ //# sourceMappingURL=RatingGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RatingGroup.js","names":["RatingGroup"],"sources":["../../src/components/RatingGroup.jsx"],"sourcesContent":["import { RatingGroup } from '@plastic-js/ark'\n\nexport default RatingGroup\n"],"mappings":";;AAEA,IAAA,sBAAeA"}
@@ -0,0 +1,66 @@
1
+ import { insert, jsx, mergeProps, setProp, template } from "@plastic-js/plastic/jsx-runtime";
2
+ import { css } from "@emotion/css";
3
+ import { splitProps } from "@plastic-js/plastic";
4
+ //#region src/components/SearchInput.jsx
5
+ var _tmpl2 = template("<svg fill=\"none\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"7\"></circle><path d=\"M21 21l-4.35-4.35\"></path></svg>");
6
+ var _tmpl = template("<div><span aria-hidden=\"true\"></span><!></div>");
7
+ var wrapperClass = css({
8
+ flex: 1,
9
+ minWidth: 0,
10
+ position: "relative"
11
+ });
12
+ var inputClass = css({
13
+ width: "100%",
14
+ height: "44px",
15
+ background: "var(--surface)",
16
+ border: "1px solid var(--border)",
17
+ borderRadius: "10px",
18
+ padding: "0 14px 0 44px",
19
+ color: "var(--ink)",
20
+ fontSize: "15px",
21
+ fontFamily: "inherit",
22
+ outline: "none",
23
+ "&::placeholder": { color: "var(--muted)" },
24
+ "&:focus": { borderColor: "var(--accent)" }
25
+ });
26
+ var iconClass = css({
27
+ position: "absolute",
28
+ left: "13px",
29
+ top: "50%",
30
+ transform: "translateY(-50%)",
31
+ color: "var(--muted)",
32
+ pointerEvents: "none",
33
+ "& svg": {
34
+ width: "18px",
35
+ height: "18px"
36
+ }
37
+ });
38
+ var SearchInput = (props) => {
39
+ const [local, rest] = splitProps(props, ["placeholder", "onInput"]);
40
+ return () => {
41
+ const _el0 = _tmpl.cloneNode(true);
42
+ const _el1 = _el0.firstChild;
43
+ const _el2 = _el0.firstChild.nextSibling;
44
+ insert(_el1, () => jsx(SearchIcon, {}));
45
+ setProp(_el1, "className", () => iconClass);
46
+ insert(_el0, () => jsx("input", mergeProps({
47
+ className: inputClass,
48
+ get onInput() {
49
+ return local.onInput;
50
+ },
51
+ get placeholder() {
52
+ return local.placeholder ?? "Search...";
53
+ },
54
+ type: "search"
55
+ }, rest)), _el2);
56
+ setProp(_el0, "className", () => wrapperClass);
57
+ return _el0;
58
+ };
59
+ };
60
+ function SearchIcon() {
61
+ return _tmpl2.cloneNode(true);
62
+ }
63
+ //#endregion
64
+ export { SearchInput as default };
65
+
66
+ //# sourceMappingURL=SearchInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.js","names":["css","splitProps","_tmpl2","_template","_tmpl","wrapperClass","flex","minWidth","position","inputClass","width","height","background","border","borderRadius","padding","color","fontSize","fontFamily","outline","borderColor","iconClass","left","top","transform","pointerEvents","SearchInput","props","local","rest","_el0","cloneNode","_el1","firstChild","_el2","nextSibling","_insert","_jsx","SearchIcon","_setProp","_mergeProps","className","onInput","placeholder","type"],"sources":["../../src/components/SearchInput.jsx"],"sourcesContent":["import { css } from '@emotion/css'\nimport { splitProps } from '@plastic-js/plastic'\n\nconst wrapperClass = css({\n\tflex: 1,\n\tminWidth: 0,\n\tposition: 'relative',\n})\n\nconst inputClass = css({\n\twidth: '100%',\n\theight: '44px',\n\tbackground: 'var(--surface)',\n\tborder: '1px solid var(--border)',\n\tborderRadius: '10px',\n\tpadding: '0 14px 0 44px',\n\tcolor: 'var(--ink)',\n\tfontSize: '15px',\n\tfontFamily: 'inherit',\n\toutline: 'none',\n\t'&::placeholder': { color: 'var(--muted)' },\n\t'&:focus': { borderColor: 'var(--accent)' },\n})\n\nconst iconClass = css({\n\tposition: 'absolute',\n\tleft: '13px',\n\ttop: '50%',\n\ttransform: 'translateY(-50%)',\n\tcolor: 'var(--muted)',\n\tpointerEvents: 'none',\n\t'& svg': { width: '18px', height: '18px' },\n})\n\nconst SearchInput = (props)=> {\n\tconst [local, rest] = splitProps(props, ['placeholder', 'onInput'])\n\treturn (\n\t\t<div className={wrapperClass}>\n\t\t\t<span aria-hidden='true' className={iconClass}>\n\t\t\t\t<SearchIcon />\n\t\t\t</span>\n\t\t\t<input\n\t\t\t\tclassName={inputClass}\n\t\t\t\tonInput={local.onInput}\n\t\t\t\tplaceholder={local.placeholder ?? 'Search...'}\n\t\t\t\ttype='search'\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nfunction SearchIcon(){\n\treturn (\n\t\t<svg\n\t\t\tfill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round'\n\t\t\tstrokeWidth='2' viewBox='0 0 24 24'\n\t\t>\n\t\t\t<circle cx='11' cy='11' r='7' />\n\t\t\t<path d='M21 21l-4.35-4.35' />\n\t\t</svg>\n\t)\n}\n\nexport default SearchInput\n"],"mappings":";;;;AACgD,IAAAE,SAAAC,SAAA,8NAAA;AAAA,IAAAC,QAAAD,SAAA,kDAAA;AAEhD,IAAME,eAAeL,IAAI;CACxBM,MAAM;CACNC,UAAU;CACVC,UAAU;AACX,CAAC;AAED,IAAMC,aAAaT,IAAI;CACtBU,OAAO;CACPC,QAAQ;CACRC,YAAY;CACZC,QAAQ;CACRC,cAAc;CACdC,SAAS;CACTC,OAAO;CACPC,UAAU;CACVC,YAAY;CACZC,SAAS;CACT,kBAAkB,EAAEH,OAAO,eAAe;CAC1C,WAAW,EAAEI,aAAa,gBAAgB;AAC3C,CAAC;AAED,IAAMC,YAAYrB,IAAI;CACrBQ,UAAU;CACVc,MAAM;CACNC,KAAK;CACLC,WAAW;CACXR,OAAO;CACPS,eAAe;CACf,SAAS;EAAEf,OAAO;EAAQC,QAAQ;CAAO;AAC1C,CAAC;AAED,IAAMe,eAAeC,UAAS;CAC7B,MAAM,CAACC,OAAOC,QAAQ5B,WAAW0B,OAAO,CAAC,eAAe,SAAS,CAAC;CAClE,aAAA;EAAA,MAAAG,OAAA1B,MAAA2B,UAAA,IAAA;EAAA,MAAAC,OAAAF,KAAAG;EAAA,MAAAC,OAAAJ,KAAAG,WAAAE;EAAAC,OAAAJ,YAAAK,IAAAC,YAAA,CAAA,CAAA,CAAA;EAAAC,QAAAP,MAAA,mBAEsCX,SAAS;EAAAe,OAAAN,YAAAO,IAAA,SAAAG,WAAA;GAAAC,WAIjChC;GAAU,IAAAiC,UAAA;IAAA,OACZd,MAAMc;GAAO;GAAA,IAAAC,cAAA;IAAA,OACTf,MAAMe,eAAe;GAAW;GAAAC,MACxC;EAAQ,GACTf,IAAI,CAAA,GAAAK,IAAA;EAAAK,QAAAT,MAAA,mBATMzB,YAAY;EAAA,OAAAyB;CAAA;AAa9B;AAEA,SAASQ,aAAY;CACpB,OAAApC,OAAA6B,UAAA,IAAA;AASD"}
@@ -0,0 +1,7 @@
1
+ import { Select } from "@plastic-js/ark";
2
+ //#region src/components/Select.jsx
3
+ var Select_default = Select;
4
+ //#endregion
5
+ export { Select_default as default };
6
+
7
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","names":["Select"],"sources":["../../src/components/Select.jsx"],"sourcesContent":["import { Select } from '@plastic-js/ark'\n\nexport default Select\n"],"mappings":";;AAEA,IAAA,iBAAeA"}
@@ -0,0 +1,7 @@
1
+ import { SignaturePad } from "@plastic-js/ark";
2
+ //#region src/components/SignaturePad.jsx
3
+ var SignaturePad_default = SignaturePad;
4
+ //#endregion
5
+ export { SignaturePad_default as default };
6
+
7
+ //# sourceMappingURL=SignaturePad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignaturePad.js","names":["SignaturePad"],"sources":["../../src/components/SignaturePad.jsx"],"sourcesContent":["import { SignaturePad } from '@plastic-js/ark'\n\nexport default SignaturePad\n"],"mappings":";;AAEA,IAAA,uBAAeA"}
@@ -0,0 +1,29 @@
1
+ import { setProp, template } from "@plastic-js/plastic/jsx-runtime";
2
+ import { css, keyframes } from "@emotion/css";
3
+ //#region src/components/Skeleton.jsx
4
+ var _tmpl = template("<span></span>");
5
+ var baseClass = css({
6
+ display: "block",
7
+ background: "linear-gradient(90deg, var(--border) 0%, var(--surface) 50%, var(--border) 100%)",
8
+ backgroundSize: "200% 100%",
9
+ animation: `${keyframes({
10
+ "0%": { backgroundPosition: "-200% 0" },
11
+ "100%": { backgroundPosition: "200% 0" }
12
+ })} 1.4s ease-in-out infinite`,
13
+ borderRadius: "6px"
14
+ });
15
+ var Skeleton = ({ width = "100%", height = "14px", radius, className, style }) => (() => {
16
+ const _el0 = _tmpl.cloneNode(true);
17
+ setProp(_el0, "className", () => className ? `${baseClass} ${className}` : baseClass);
18
+ setProp(_el0, "style", () => ({
19
+ width,
20
+ height,
21
+ borderRadius: radius,
22
+ ...style
23
+ }));
24
+ return _el0;
25
+ })();
26
+ //#endregion
27
+ export { Skeleton as default };
28
+
29
+ //# sourceMappingURL=Skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.js","names":["css","keyframes","_tmpl","_template","shimmer","backgroundPosition","baseClass","display","background","backgroundSize","animation","borderRadius","Skeleton","width","height","radius","className","style","_el0","cloneNode","_setProp"],"sources":["../../src/components/Skeleton.jsx"],"sourcesContent":["import { css, keyframes } from '@emotion/css'\n\nconst shimmer = keyframes({\n\t'0%': { backgroundPosition: '-200% 0' },\n\t'100%': { backgroundPosition: '200% 0' },\n})\n\nconst baseClass = css({\n\tdisplay: 'block',\n\tbackground: 'linear-gradient(90deg, var(--border) 0%, var(--surface) 50%, var(--border) 100%)',\n\tbackgroundSize: '200% 100%',\n\tanimation: `${shimmer} 1.4s ease-in-out infinite`,\n\tborderRadius: '6px',\n})\n\nconst Skeleton = ({\n\twidth = '100%', height = '14px', radius, className, style,\n})=> (\n\t<span\n\t\tclassName={className ? `${baseClass} ${className}` : baseClass}\n\t\tstyle={{\n\t\t\twidth, height, borderRadius: radius, ...style,\n\t\t}}\n\t/>\n)\n\nexport default Skeleton\n"],"mappings":";;;AAA6C,IAAAE,QAAAC,SAAA,eAAA;AAO7C,IAAMG,YAAYN,IAAI;CACrBO,SAAS;CACTC,YAAY;CACZC,gBAAgB;CAChBC,WAAW,GATIT,UAAU;EACzB,MAAM,EAAEI,oBAAoB,UAAU;EACtC,QAAQ,EAAEA,oBAAoB,SAAS;CACxC,CAMeD,EAAO;CACrBO,cAAc;AACf,CAAC;AAED,IAAMC,YAAY,EACjBC,QAAQ,QAAQC,SAAS,QAAQC,QAAQC,WAAWC,mBACpD;CAAA,MAAAC,OAAAhB,MAAAiB,UAAA,IAAA;CAAAC,QAAAF,MAAA,mBAEYF,YAAY,GAAGV,UAAS,GAAIU,cAAcV,SAAS;CAAAc,QAAAF,MAAA,gBACvD;EACNL;EAAOC;EAAQH,cAAcI;EAAQ,GAAGE;CACzC,EAAC;CAAA,OAAAC;AAAA,GAAA"}
@@ -0,0 +1,7 @@
1
+ import { Slider } from "@plastic-js/ark";
2
+ //#region src/components/Slider.jsx
3
+ var Slider_default = Slider;
4
+ //#endregion
5
+ export { Slider_default as default };
6
+
7
+ //# sourceMappingURL=Slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slider.js","names":["Slider"],"sources":["../../src/components/Slider.jsx"],"sourcesContent":["import { Slider } from '@plastic-js/ark'\n\nexport default Slider\n"],"mappings":";;AAEA,IAAA,iBAAeA"}
@@ -0,0 +1,7 @@
1
+ import { Splitter } from "@plastic-js/ark";
2
+ //#region src/components/Splitter.jsx
3
+ var Splitter_default = Splitter;
4
+ //#endregion
5
+ export { Splitter_default as default };
6
+
7
+ //# sourceMappingURL=Splitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Splitter.js","names":["Splitter"],"sources":["../../src/components/Splitter.jsx"],"sourcesContent":["import { Splitter } from '@plastic-js/ark'\n\nexport default Splitter\n"],"mappings":";;AAEA,IAAA,mBAAeA"}
@@ -0,0 +1,7 @@
1
+ import { Steps } from "@plastic-js/ark";
2
+ //#region src/components/Steps.jsx
3
+ var Steps_default = Steps;
4
+ //#endregion
5
+ export { Steps_default as default };
6
+
7
+ //# sourceMappingURL=Steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Steps.js","names":["Steps"],"sources":["../../src/components/Steps.jsx"],"sourcesContent":["import { Steps } from '@plastic-js/ark'\n\nexport default Steps\n"],"mappings":";;AAEA,IAAA,gBAAeA"}
@@ -0,0 +1,161 @@
1
+ import { insert, setProp, template } from "@plastic-js/plastic/jsx-runtime";
2
+ import { css } from "@emotion/css";
3
+ import { createEffect, createSignal } from "@plastic-js/plastic";
4
+ //#region src/components/SwipeReveal.jsx
5
+ var _tmpl2 = template("<button type=\"button\"></button>");
6
+ var _tmpl = template("<div><div data-dragging=\"false\"><div></div><div></div></div></div>");
7
+ var ACTIONS_WIDTH = 160;
8
+ var wrapperClass = css`
9
+ position: relative;
10
+ overflow: hidden;
11
+ border-radius: 12px;
12
+ user-select: none;
13
+ `;
14
+ var trackClass = css`
15
+ display: flex;
16
+ align-items: stretch;
17
+ will-change: transform;
18
+ transition: transform 220ms ease;
19
+ touch-action: pan-y;
20
+ &[data-dragging="true"] { transition: none; }
21
+ `;
22
+ var actionsClass = css`
23
+ flex: 0 0 ${ACTIONS_WIDTH}px;
24
+ display: flex;
25
+ `;
26
+ var actionBtnClass = css`
27
+ flex: 1;
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ border: none;
32
+ color: #fff;
33
+ font-size: 14px;
34
+ font-weight: 600;
35
+ cursor: pointer;
36
+ font-family: inherit;
37
+ `;
38
+ var contentClass = css`
39
+ flex: 0 0 100%;
40
+ `;
41
+ var SwipeReveal = ({ actions, children, onSwipeStart, onOpenChange, activeId, thisId }) => {
42
+ const isOpen = createSignal(false);
43
+ let trackEl = null;
44
+ let startX = 0;
45
+ let startY = 0;
46
+ let baseOffset = 0;
47
+ let currentOffset = 0;
48
+ let dragging = false;
49
+ let axisLocked = false;
50
+ let horizontal = false;
51
+ let moved = false;
52
+ const setTrackRef = (el) => {
53
+ trackEl = el;
54
+ };
55
+ const applyTransform = (px) => {
56
+ if (trackEl) trackEl.style.transform = `translateX(${px}px)`;
57
+ };
58
+ const snap = (toOpen) => {
59
+ currentOffset = toOpen ? -160 : 0;
60
+ if (trackEl) {
61
+ trackEl.dataset.dragging = "false";
62
+ applyTransform(currentOffset);
63
+ }
64
+ onOpenChange?.(toOpen);
65
+ isOpen(toOpen);
66
+ };
67
+ createEffect(() => {
68
+ const currentActive = typeof activeId === "function" ? activeId() : activeId;
69
+ if (currentActive !== void 0 && currentActive !== thisId && isOpen()) {
70
+ isOpen(false);
71
+ currentOffset = 0;
72
+ if (trackEl) {
73
+ trackEl.dataset.dragging = "false";
74
+ applyTransform(0);
75
+ }
76
+ }
77
+ });
78
+ const onPointerDown = (e) => {
79
+ if (e.pointerType === "mouse" && e.button !== 0) return;
80
+ startX = e.clientX;
81
+ startY = e.clientY;
82
+ baseOffset = isOpen() ? -160 : 0;
83
+ dragging = true;
84
+ axisLocked = false;
85
+ horizontal = false;
86
+ moved = false;
87
+ e.currentTarget.setPointerCapture?.(e.pointerId);
88
+ };
89
+ const onPointerMove = (e) => {
90
+ if (!dragging) return;
91
+ const dx = e.clientX - startX;
92
+ const dy = e.clientY - startY;
93
+ if (!axisLocked) {
94
+ if (Math.abs(dx) < 6 && Math.abs(dy) < 6) return;
95
+ horizontal = Math.abs(dx) > Math.abs(dy);
96
+ axisLocked = true;
97
+ if (horizontal && trackEl) trackEl.dataset.dragging = "true";
98
+ }
99
+ if (!horizontal) return;
100
+ moved = true;
101
+ let next = baseOffset + dx;
102
+ if (next > 0) next = 0;
103
+ if (next < -160) next = -160 - (next + ACTIONS_WIDTH) * .2;
104
+ currentOffset = next;
105
+ applyTransform(next);
106
+ };
107
+ const onPointerUp = (e) => {
108
+ if (!dragging) return;
109
+ dragging = false;
110
+ e.currentTarget.releasePointerCapture?.(e.pointerId);
111
+ if (!horizontal) return;
112
+ snap(currentOffset < -80);
113
+ };
114
+ const handleContentClick = (e) => {
115
+ if (moved) {
116
+ e.stopPropagation();
117
+ return;
118
+ }
119
+ if (isOpen()) {
120
+ e.stopPropagation();
121
+ snap(false);
122
+ return;
123
+ }
124
+ };
125
+ const handleActionClick = (action) => (e) => {
126
+ e.stopPropagation();
127
+ snap(false);
128
+ action.onClick?.(e);
129
+ };
130
+ return () => {
131
+ const _el0 = _tmpl.cloneNode(true);
132
+ const _el1 = _el0.firstChild;
133
+ const _el2 = _el1.firstChild;
134
+ const _el3 = _el1.firstChild.nextSibling;
135
+ insert(_el2, () => children);
136
+ setProp(_el2, "className", () => contentClass);
137
+ setProp(_el2, "onClick", () => handleContentClick);
138
+ insert(_el3, () => actions.map((action) => () => {
139
+ const _el0 = _tmpl2.cloneNode(true);
140
+ insert(_el0, () => action.label);
141
+ setProp(_el0, "className", () => actionBtnClass);
142
+ setProp(_el0, "onClick", () => handleActionClick(action));
143
+ setProp(_el0, "style", () => ({ background: action.color }));
144
+ setProp(_el0, "tabIndex", () => isOpen() ? 0 : -1);
145
+ return _el0;
146
+ }));
147
+ setProp(_el3, "className", () => actionsClass);
148
+ setProp(_el1, "className", () => trackClass);
149
+ setProp(_el1, "onPointerCancel", () => onPointerUp);
150
+ setProp(_el1, "onPointerDown", () => onPointerDown);
151
+ setProp(_el1, "onPointerMove", () => onPointerMove);
152
+ setProp(_el1, "onPointerUp", () => onPointerUp);
153
+ setProp(_el1, "ref", () => setTrackRef);
154
+ setProp(_el0, "className", () => wrapperClass);
155
+ return _el0;
156
+ };
157
+ };
158
+ //#endregion
159
+ export { SwipeReveal as default };
160
+
161
+ //# sourceMappingURL=SwipeReveal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwipeReveal.js","names":["css","createEffect","createSignal","_tmpl2","_template","_tmpl","ACTIONS_WIDTH","SWIPE_THRESHOLD","wrapperClass","trackClass","actionsClass","actionBtnClass","contentClass","SwipeReveal","actions","children","onSwipeStart","onOpenChange","activeId","thisId","isOpen","trackEl","startX","startY","baseOffset","currentOffset","dragging","axisLocked","horizontal","moved","setTrackRef","el","applyTransform","px","style","transform","snap","toOpen","dataset","currentActive","undefined","onPointerDown","e","pointerType","button","clientX","clientY","currentTarget","setPointerCapture","pointerId","onPointerMove","dx","dy","Math","abs","next","onPointerUp","releasePointerCapture","shouldOpen","handleContentClick","stopPropagation","handleActionClick","action","onClick","_el0","cloneNode","_el1","firstChild","_el2","_el3","nextSibling","_insert","_setProp","map","label","background","color"],"sources":["../../src/components/SwipeReveal.jsx"],"sourcesContent":["import { css } from '@emotion/css'\nimport { createEffect, createSignal } from '@plastic-js/plastic'\n\nconst ACTIONS_WIDTH = 160\nconst SWIPE_THRESHOLD = ACTIONS_WIDTH / 2\n\nconst wrapperClass = css`\n\tposition: relative;\n\toverflow: hidden;\n\tborder-radius: 12px;\n\tuser-select: none;\n`\n\nconst trackClass = css`\n\tdisplay: flex;\n\talign-items: stretch;\n\twill-change: transform;\n\ttransition: transform 220ms ease;\n\ttouch-action: pan-y;\n\t&[data-dragging=\"true\"] { transition: none; }\n`\n\nconst actionsClass = css`\n\tflex: 0 0 ${ACTIONS_WIDTH}px;\n\tdisplay: flex;\n`\n\nconst actionBtnClass = css`\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder: none;\n\tcolor: #fff;\n\tfont-size: 14px;\n\tfont-weight: 600;\n\tcursor: pointer;\n\tfont-family: inherit;\n`\n\nconst contentClass = css`\n\tflex: 0 0 100%;\n`\n\nconst SwipeReveal = ({\n\tactions, children, onSwipeStart, onOpenChange, activeId, thisId,\n})=> {\n\tconst isOpen = createSignal(false)\n\n\tlet trackEl = null\n\tlet startX = 0\n\tlet startY = 0\n\tlet baseOffset = 0\n\tlet currentOffset = 0\n\tlet dragging = false\n\tlet axisLocked = false\n\tlet horizontal = false\n\tlet moved = false\n\n\tconst setTrackRef = (el)=> { trackEl = el }\n\n\tconst applyTransform = (px)=> {\n\t\tif (trackEl){ trackEl.style.transform = `translateX(${px}px)` }\n\t}\n\n\tconst snap = (toOpen)=> {\n\t\tcurrentOffset = toOpen ? -ACTIONS_WIDTH : 0\n\t\tif (trackEl){\n\t\t\ttrackEl.dataset.dragging = 'false'\n\t\t\tapplyTransform(currentOffset)\n\t\t}\n\t\tonOpenChange?.(toOpen)\n\t\tisOpen(toOpen)\n\t}\n\n\t// only one card open at a time — close when another card's swipe activates\n\tcreateEffect(()=> {\n\t\tconst currentActive = typeof activeId === 'function' ? activeId() : activeId\n\t\tif (currentActive !== undefined && currentActive !== thisId && isOpen()){\n\t\t\tisOpen(false)\n\t\t\tcurrentOffset = 0\n\t\t\tif (trackEl){\n\t\t\t\ttrackEl.dataset.dragging = 'false'\n\t\t\t\tapplyTransform(0)\n\t\t\t}\n\t\t}\n\t})\n\n\tconst onPointerDown = (e)=> {\n\t\tif (e.pointerType === 'mouse' && e.button !== 0){ return }\n\t\tstartX = e.clientX\n\t\tstartY = e.clientY\n\t\tbaseOffset = isOpen() ? -ACTIONS_WIDTH : 0\n\t\tdragging = true\n\t\taxisLocked = false\n\t\thorizontal = false\n\t\tmoved = false\n\t\te.currentTarget.setPointerCapture?.(e.pointerId)\n\t}\n\n\tconst onPointerMove = (e)=> {\n\t\tif (!dragging){ return }\n\t\tconst dx = e.clientX - startX\n\t\tconst dy = e.clientY - startY\n\t\tif (!axisLocked){\n\t\t\tif (Math.abs(dx) < 6 && Math.abs(dy) < 6){ return }\n\t\t\thorizontal = Math.abs(dx) > Math.abs(dy)\n\t\t\taxisLocked = true\n\t\t\tif (horizontal && trackEl){ trackEl.dataset.dragging = 'true' }\n\t\t}\n\t\tif (!horizontal){ return }\n\t\tmoved = true\n\t\tlet next = baseOffset + dx\n\t\tif (next > 0){ next = 0 }\n\t\tif (next < -ACTIONS_WIDTH){ next = -ACTIONS_WIDTH - (next + ACTIONS_WIDTH) * 0.2 }\n\t\tcurrentOffset = next\n\t\tapplyTransform(next)\n\t}\n\n\tconst onPointerUp = (e)=> {\n\t\tif (!dragging){ return }\n\t\tdragging = false\n\t\te.currentTarget.releasePointerCapture?.(e.pointerId)\n\t\tif (!horizontal){ return }\n\t\tconst shouldOpen = currentOffset < -SWIPE_THRESHOLD\n\t\tsnap(shouldOpen)\n\t}\n\n\tconst handleContentClick = (e)=> {\n\t\tif (moved){ e.stopPropagation(); return }\n\t\tif (isOpen()){ e.stopPropagation(); snap(false); return }\n\t}\n\n\tconst handleActionClick = action=> (e)=> {\n\t\te.stopPropagation()\n\t\tsnap(false)\n\t\taction.onClick?.(e)\n\t}\n\n\treturn (\n\t\t<div className={wrapperClass}>\n\t\t\t<div\n\t\t\t\tclassName={trackClass}\n\t\t\t\tdata-dragging='false'\n\t\t\t\tonPointerCancel={onPointerUp}\n\t\t\t\tonPointerDown={onPointerDown}\n\t\t\t\tonPointerMove={onPointerMove}\n\t\t\t\tonPointerUp={onPointerUp}\n\t\t\t\tref={setTrackRef}\n\t\t\t>\n\t\t\t\t<div className={contentClass} onClick={handleContentClick}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t<div className={actionsClass}>\n\t\t\t\t\t{actions.map(action=> (\n\t\t\t\t\t\t// prevent tab focus when actions are hidden off-screen\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName={actionBtnClass}\n\t\t\t\t\t\t\tonClick={handleActionClick(action)}\n\t\t\t\t\t\t\tstyle={{ background: action.color }}\n\t\t\t\t\t\t\ttabIndex={isOpen() ? 0 : -1}\n\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default SwipeReveal\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Switch } from "@plastic-js/ark";
2
+ //#region src/components/Switch.jsx
3
+ var Switch_default = Switch;
4
+ //#endregion
5
+ export { Switch_default as default };
6
+
7
+ //# sourceMappingURL=Switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.js","names":["Switch"],"sources":["../../src/components/Switch.jsx"],"sourcesContent":["import { Switch } from '@plastic-js/ark'\n\nexport default Switch\n"],"mappings":";;AAEA,IAAA,iBAAeA"}
@@ -0,0 +1,7 @@
1
+ import { Tabs } from "@plastic-js/ark";
2
+ //#region src/components/Tabs.jsx
3
+ var Tabs_default = Tabs;
4
+ //#endregion
5
+ export { Tabs_default as default };
6
+
7
+ //# sourceMappingURL=Tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.js","names":["Tabs"],"sources":["../../src/components/Tabs.jsx"],"sourcesContent":["import { Tabs } from '@plastic-js/ark'\n\nexport default Tabs\n"],"mappings":";;AAEA,IAAA,eAAeA"}
@@ -0,0 +1,7 @@
1
+ import { TagsInput } from "@plastic-js/ark";
2
+ //#region src/components/TagsInput.jsx
3
+ var TagsInput_default = TagsInput;
4
+ //#endregion
5
+ export { TagsInput_default as default };
6
+
7
+ //# sourceMappingURL=TagsInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagsInput.js","names":["TagsInput"],"sources":["../../src/components/TagsInput.jsx"],"sourcesContent":["import { TagsInput } from '@plastic-js/ark'\n\nexport default TagsInput\n"],"mappings":";;AAEA,IAAA,oBAAeA"}
@@ -0,0 +1,7 @@
1
+ import { Toast, createToaster } from "@plastic-js/ark";
2
+ //#region src/components/Toast.jsx
3
+ var Toast_default = Object.assign(Toast, { createToaster });
4
+ //#endregion
5
+ export { Toast_default as default };
6
+
7
+ //# sourceMappingURL=Toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.js","names":["Toast","createToaster","Object","assign"],"sources":["../../src/components/Toast.jsx"],"sourcesContent":["import { Toast, createToaster } from '@plastic-js/ark'\n\nexport default Object.assign(Toast, { createToaster })\n"],"mappings":";;AAEA,IAAA,gBAAeE,OAAOC,OAAOH,OAAO,EAAEC,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Toggle } from "@plastic-js/ark";
2
+ //#region src/components/Toggle.jsx
3
+ var Toggle_default = Toggle;
4
+ //#endregion
5
+ export { Toggle_default as default };
6
+
7
+ //# sourceMappingURL=Toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.js","names":["Toggle"],"sources":["../../src/components/Toggle.jsx"],"sourcesContent":["import { Toggle } from '@plastic-js/ark'\n\nexport default Toggle\n"],"mappings":";;AAEA,IAAA,iBAAeA"}
@@ -0,0 +1,7 @@
1
+ import { ToggleGroup } from "@plastic-js/ark";
2
+ //#region src/components/ToggleGroup.jsx
3
+ var ToggleGroup_default = ToggleGroup;
4
+ //#endregion
5
+ export { ToggleGroup_default as default };
6
+
7
+ //# sourceMappingURL=ToggleGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleGroup.js","names":["ToggleGroup"],"sources":["../../src/components/ToggleGroup.jsx"],"sourcesContent":["import { ToggleGroup } from '@plastic-js/ark'\n\nexport default ToggleGroup\n"],"mappings":";;AAEA,IAAA,sBAAeA"}
@@ -0,0 +1,7 @@
1
+ import { Tooltip } from "@plastic-js/ark";
2
+ //#region src/components/Tooltip.jsx
3
+ var Tooltip_default = Tooltip;
4
+ //#endregion
5
+ export { Tooltip_default as default };
6
+
7
+ //# sourceMappingURL=Tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.js","names":["Tooltip"],"sources":["../../src/components/Tooltip.jsx"],"sourcesContent":["import { Tooltip } from '@plastic-js/ark'\n\nexport default Tooltip\n"],"mappings":";;AAEA,IAAA,kBAAeA"}
@@ -0,0 +1,7 @@
1
+ import { Tour } from "@plastic-js/ark";
2
+ //#region src/components/Tour.jsx
3
+ var Tour_default = Tour;
4
+ //#endregion
5
+ export { Tour_default as default };
6
+
7
+ //# sourceMappingURL=Tour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tour.js","names":["Tour"],"sources":["../../src/components/Tour.jsx"],"sourcesContent":["import { Tour } from '@plastic-js/ark'\n\nexport default Tour\n"],"mappings":";;AAEA,IAAA,eAAeA"}
@@ -0,0 +1,7 @@
1
+ import { TreeView } from "@plastic-js/ark";
2
+ //#region src/components/TreeView.jsx
3
+ var TreeView_default = TreeView;
4
+ //#endregion
5
+ export { TreeView_default as default };
6
+
7
+ //# sourceMappingURL=TreeView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeView.js","names":["TreeView"],"sources":["../../src/components/TreeView.jsx"],"sourcesContent":["import { TreeView } from '@plastic-js/ark'\n\nexport default TreeView\n"],"mappings":";;AAEA,IAAA,mBAAeA"}