@devslab/dds-solid 0.19.0 → 0.21.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.
- package/README.ko.md +10 -0
- package/README.md +10 -0
- package/dist/date-picker.d.ts +13 -0
- package/dist/date-picker.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +217 -53
- package/dist/index.js.map +1 -1
- package/dist/server.js +195 -26
- package/dist/server.js.map +1 -1
- package/package.json +4 -4
- package/styles.css +18 -0
package/dist/server.js
CHANGED
|
@@ -14,6 +14,7 @@ import { LocaleProvider } from "@ark-ui/solid/locale";
|
|
|
14
14
|
import { Toast, Toaster, createToaster } from "@ark-ui/solid/toast";
|
|
15
15
|
import { space } from "@devslab/dds-tokens";
|
|
16
16
|
import { Tooltip as Tooltip$1, useTooltip } from "@ark-ui/solid/tooltip";
|
|
17
|
+
import { DatePicker as DatePicker$1, parseDate } from "@ark-ui/solid/date-picker";
|
|
17
18
|
//#region src/controllable.ts
|
|
18
19
|
function createControllableSignal(options) {
|
|
19
20
|
const [internal, setInternal] = createSignal(options.defaultValue);
|
|
@@ -37,9 +38,9 @@ function describedBy(...ids) {
|
|
|
37
38
|
}
|
|
38
39
|
//#endregion
|
|
39
40
|
//#region src/controls.tsx
|
|
40
|
-
var _tmpl$$
|
|
41
|
-
var _tmpl$2$
|
|
42
|
-
var _tmpl$3$
|
|
41
|
+
var _tmpl$$6 = ["<span", " class=\"dds-spinner\" aria-hidden=\"true\"></span>"];
|
|
42
|
+
var _tmpl$2$4 = ["<span", " aria-hidden=\"true\"> *</span>"];
|
|
43
|
+
var _tmpl$3$2 = [
|
|
43
44
|
"<span",
|
|
44
45
|
">",
|
|
45
46
|
"</span>"
|
|
@@ -75,7 +76,7 @@ function Button(props) {
|
|
|
75
76
|
}
|
|
76
77
|
}), () => [
|
|
77
78
|
"<!--$-->",
|
|
78
|
-
local.loading && _tmpl$$
|
|
79
|
+
local.loading && _tmpl$$6[0] + ssrHydrationKey() + _tmpl$$6[1],
|
|
79
80
|
"<!--/-->",
|
|
80
81
|
"<!--$-->",
|
|
81
82
|
escape(local.children),
|
|
@@ -105,7 +106,7 @@ function IconButton(props) {
|
|
|
105
106
|
get ["aria-busy"]() {
|
|
106
107
|
return local.loading ? "true" : void 0;
|
|
107
108
|
}
|
|
108
|
-
}), () => local.loading ? _tmpl$$
|
|
109
|
+
}), () => local.loading ? _tmpl$$6[0] + ssrHydrationKey() + _tmpl$$6[1] : escape(local.children), true);
|
|
109
110
|
}
|
|
110
111
|
function Field(props) {
|
|
111
112
|
const generated = createUniqueId();
|
|
@@ -146,7 +147,7 @@ function Field(props) {
|
|
|
146
147
|
return id();
|
|
147
148
|
},
|
|
148
149
|
get children() {
|
|
149
|
-
return [props.label, props.required && ssr(_tmpl$2$
|
|
150
|
+
return [props.label, props.required && ssr(_tmpl$2$4, ssrHydrationKey())];
|
|
150
151
|
}
|
|
151
152
|
}),
|
|
152
153
|
typeof props.children === "function" ? props.children(control()) : props.children,
|
|
@@ -173,7 +174,7 @@ function Select(props) {
|
|
|
173
174
|
"invalid",
|
|
174
175
|
"children"
|
|
175
176
|
]);
|
|
176
|
-
return ssr(_tmpl$3$
|
|
177
|
+
return ssr(_tmpl$3$2, ssrHydrationKey() + ssrAttribute("class", escape(classes("dds-select", local.class), true), false), ssrElement("select", mergeProps$1(rest, {
|
|
177
178
|
"class": "dds-select__input",
|
|
178
179
|
get ["aria-invalid"]() {
|
|
179
180
|
return local.invalid ? "true" : void 0;
|
|
@@ -269,17 +270,17 @@ function ArkCheckable(props) {
|
|
|
269
270
|
}
|
|
270
271
|
//#endregion
|
|
271
272
|
//#region src/console-shell.tsx
|
|
272
|
-
var _tmpl$$
|
|
273
|
+
var _tmpl$$5 = [
|
|
273
274
|
"<dl",
|
|
274
275
|
" class=\"dds-console-rail__context\">",
|
|
275
276
|
"</dl>"
|
|
276
277
|
];
|
|
277
|
-
var _tmpl$2$
|
|
278
|
+
var _tmpl$2$3 = [
|
|
278
279
|
"<div",
|
|
279
280
|
" class=\"dds-console-rail__foot\">",
|
|
280
281
|
"</div>"
|
|
281
282
|
];
|
|
282
|
-
var _tmpl$3 = [
|
|
283
|
+
var _tmpl$3$1 = [
|
|
283
284
|
"<p",
|
|
284
285
|
" class=\"dds-console-page-eyebrow\">",
|
|
285
286
|
"</p>"
|
|
@@ -370,7 +371,7 @@ function ConsoleShell(props) {
|
|
|
370
371
|
return memo(() => !!props.context)() && props.context.length > 0;
|
|
371
372
|
},
|
|
372
373
|
get children() {
|
|
373
|
-
return ssr(_tmpl$$
|
|
374
|
+
return ssr(_tmpl$$5, ssrHydrationKey(), escape(createComponent(For, {
|
|
374
375
|
get each() {
|
|
375
376
|
return props.context;
|
|
376
377
|
},
|
|
@@ -402,14 +403,14 @@ function ConsoleShell(props) {
|
|
|
402
403
|
return props.foot;
|
|
403
404
|
},
|
|
404
405
|
get children() {
|
|
405
|
-
return ssr(_tmpl$2$
|
|
406
|
+
return ssr(_tmpl$2$3, ssrHydrationKey(), escape(props.foot));
|
|
406
407
|
}
|
|
407
408
|
})), escape(createComponent(Show, {
|
|
408
409
|
get when() {
|
|
409
410
|
return props.header.eyebrow;
|
|
410
411
|
},
|
|
411
412
|
get children() {
|
|
412
|
-
return ssr(_tmpl$3, ssrHydrationKey(), escape(props.header.eyebrow));
|
|
413
|
+
return ssr(_tmpl$3$1, ssrHydrationKey(), escape(props.header.eyebrow));
|
|
413
414
|
}
|
|
414
415
|
})), escape(props.header.title), escape(createComponent(Show, {
|
|
415
416
|
get when() {
|
|
@@ -422,7 +423,7 @@ function ConsoleShell(props) {
|
|
|
422
423
|
}
|
|
423
424
|
//#endregion
|
|
424
425
|
//#region src/dialog.tsx
|
|
425
|
-
var _tmpl$$
|
|
426
|
+
var _tmpl$$4 = [
|
|
426
427
|
"<div",
|
|
427
428
|
">",
|
|
428
429
|
"</div>"
|
|
@@ -546,7 +547,7 @@ function Dialog(props) {
|
|
|
546
547
|
return props.children;
|
|
547
548
|
},
|
|
548
549
|
get actions() {
|
|
549
|
-
return props.actions && ssr(_tmpl$$
|
|
550
|
+
return props.actions && ssr(_tmpl$$4, ssrHydrationKey() + ssrAttribute("class", escape(cls("dds-dialog__actions", props.actionsClass), true), false), escape(props.actions));
|
|
550
551
|
}
|
|
551
552
|
};
|
|
552
553
|
return props.frame ? props.frame(parts) : [
|
|
@@ -645,8 +646,8 @@ function RadioGroup(props) {
|
|
|
645
646
|
}
|
|
646
647
|
//#endregion
|
|
647
648
|
//#region src/icon.tsx
|
|
648
|
-
var _tmpl$$
|
|
649
|
-
var _tmpl$2$
|
|
649
|
+
var _tmpl$$3 = ["<g>", "</g>"];
|
|
650
|
+
var _tmpl$2$2 = [
|
|
650
651
|
"<title",
|
|
651
652
|
">",
|
|
652
653
|
"</title>"
|
|
@@ -692,20 +693,20 @@ function Icon(props) {
|
|
|
692
693
|
}
|
|
693
694
|
}), () => [
|
|
694
695
|
"<!--$-->",
|
|
695
|
-
local.label && ssr(_tmpl$2$
|
|
696
|
+
local.label && ssr(_tmpl$2$2, ssrHydrationKey(), escape(local.label)),
|
|
696
697
|
"<!--/-->",
|
|
697
|
-
ssr(_tmpl$$
|
|
698
|
+
ssr(_tmpl$$3, icon().body)
|
|
698
699
|
], true);
|
|
699
700
|
}
|
|
700
701
|
//#endregion
|
|
701
702
|
//#region src/status-pill.tsx
|
|
702
|
-
var _tmpl$$
|
|
703
|
+
var _tmpl$$2 = [
|
|
703
704
|
"<code",
|
|
704
705
|
" data-status=\"",
|
|
705
706
|
"\">",
|
|
706
707
|
"</code>"
|
|
707
708
|
];
|
|
708
|
-
var _tmpl$2 = [
|
|
709
|
+
var _tmpl$2$1 = [
|
|
709
710
|
"<span",
|
|
710
711
|
" data-status=\"",
|
|
711
712
|
"\"",
|
|
@@ -733,12 +734,12 @@ function createStatusPill(config) {
|
|
|
733
734
|
return known() || !open.has(props.domain);
|
|
734
735
|
},
|
|
735
736
|
get fallback() {
|
|
736
|
-
return ssr(_tmpl$$
|
|
737
|
+
return ssr(_tmpl$$2, ssrHydrationKey(), `${escape(props.domain, true)}.${escape(props.value, true)}`, escape(props.value));
|
|
737
738
|
},
|
|
738
739
|
get children() {
|
|
739
740
|
return (() => {
|
|
740
741
|
const value = resolved();
|
|
741
|
-
return ssr(_tmpl$2, ssrHydrationKey() + ssrAttribute("class", value.tone === "neutral" ? "dds-badge" : `dds-badge dds-badge--${escape(value.tone, true)}`, false), `${escape(props.domain, true)}.${escape(props.value, true)}`, ssrAttribute("data-tone", escape(value.tone, true), false), escape(value.text));
|
|
742
|
+
return ssr(_tmpl$2$1, ssrHydrationKey() + ssrAttribute("class", value.tone === "neutral" ? "dds-badge" : `dds-badge dds-badge--${escape(value.tone, true)}`, false), `${escape(props.domain, true)}.${escape(props.value, true)}`, ssrAttribute("data-tone", escape(value.tone, true), false), escape(value.text));
|
|
742
743
|
})();
|
|
743
744
|
}
|
|
744
745
|
});
|
|
@@ -969,7 +970,7 @@ function useToast() {
|
|
|
969
970
|
}
|
|
970
971
|
//#endregion
|
|
971
972
|
//#region src/tooltip.tsx
|
|
972
|
-
var _tmpl
|
|
973
|
+
var _tmpl$$1 = [
|
|
973
974
|
"<span",
|
|
974
975
|
"><!--$-->",
|
|
975
976
|
"<!--/--><!--$-->",
|
|
@@ -996,7 +997,7 @@ function Tooltip(props) {
|
|
|
996
997
|
lazyMount: false,
|
|
997
998
|
unmountOnExit: false,
|
|
998
999
|
get children() {
|
|
999
|
-
return ssr(_tmpl
|
|
1000
|
+
return ssr(_tmpl$$1, ssrHydrationKey() + ssrAttribute("class", escape(classes("dds-tooltip", props.class), true), false), escape(createComponent(Tooltip$1.Trigger, { asChild: (merge) => {
|
|
1000
1001
|
const [, attributes] = splitProps(merge(), ["onFocusIn", "onFocusOut"]);
|
|
1001
1002
|
return props.children({
|
|
1002
1003
|
...attributes,
|
|
@@ -1018,6 +1019,174 @@ function Tooltip(props) {
|
|
|
1018
1019
|
});
|
|
1019
1020
|
}
|
|
1020
1021
|
//#endregion
|
|
1021
|
-
|
|
1022
|
+
//#region src/date-picker.tsx
|
|
1023
|
+
var _tmpl$ = ["<svg", " width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"><rect x=\"3.5\" y=\"5.5\" width=\"17\" height=\"15\" rx=\"2\"></rect><path d=\"M7.5 3v5M16.5 3v5M3.5 10.5h17\"></path></svg>"];
|
|
1024
|
+
var _tmpl$2 = [
|
|
1025
|
+
"<svg",
|
|
1026
|
+
" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"><path",
|
|
1027
|
+
"></path></svg>"
|
|
1028
|
+
];
|
|
1029
|
+
var _tmpl$3 = [
|
|
1030
|
+
"<div",
|
|
1031
|
+
" class=\"dds-date-picker-footer\"><!--$-->",
|
|
1032
|
+
"<!--/--><!--$-->",
|
|
1033
|
+
"<!--/--></div>"
|
|
1034
|
+
];
|
|
1035
|
+
function CalendarIcon() {
|
|
1036
|
+
return ssr(_tmpl$, ssrHydrationKey());
|
|
1037
|
+
}
|
|
1038
|
+
function Chevron(props) {
|
|
1039
|
+
return ssr(_tmpl$2, ssrHydrationKey(), ssrAttribute("d", props.next ? "m9 5 7 7-7 7" : "m15 5-7 7 7 7", false));
|
|
1040
|
+
}
|
|
1041
|
+
function DatePicker(props) {
|
|
1042
|
+
return createComponent(Field, {
|
|
1043
|
+
get label() {
|
|
1044
|
+
return props.label;
|
|
1045
|
+
},
|
|
1046
|
+
children: (control) => createComponent(DatePicker$1.Root, {
|
|
1047
|
+
get locale() {
|
|
1048
|
+
return props.locale ?? "ko-KR";
|
|
1049
|
+
},
|
|
1050
|
+
get timeZone() {
|
|
1051
|
+
return props.timeZone ?? "Asia/Seoul";
|
|
1052
|
+
},
|
|
1053
|
+
get disabled() {
|
|
1054
|
+
return props.disabled;
|
|
1055
|
+
},
|
|
1056
|
+
get min() {
|
|
1057
|
+
return memo(() => !!props.min)() ? parseDate(props.min) : void 0;
|
|
1058
|
+
},
|
|
1059
|
+
get max() {
|
|
1060
|
+
return memo(() => !!props.max)() ? parseDate(props.max) : void 0;
|
|
1061
|
+
},
|
|
1062
|
+
startOfWeek: 0,
|
|
1063
|
+
minView: "day",
|
|
1064
|
+
maxView: "day",
|
|
1065
|
+
fixedWeeks: true,
|
|
1066
|
+
translations: {
|
|
1067
|
+
dayCell: (state) => `${state.valueText} 선택`,
|
|
1068
|
+
clearTrigger: "선택 날짜 지우기"
|
|
1069
|
+
},
|
|
1070
|
+
get value() {
|
|
1071
|
+
return memo(() => !!props.value)() ? [parseDate(props.value)] : [];
|
|
1072
|
+
},
|
|
1073
|
+
format: (v) => v.toString(),
|
|
1074
|
+
onValueChange: (details) => props.onChange(details.valueAsString[0] || ""),
|
|
1075
|
+
positioning: {
|
|
1076
|
+
placement: "bottom-start",
|
|
1077
|
+
gutter: 8
|
|
1078
|
+
},
|
|
1079
|
+
get children() {
|
|
1080
|
+
return [createComponent(DatePicker$1.Control, {
|
|
1081
|
+
"class": "dds-date-picker-control",
|
|
1082
|
+
get children() {
|
|
1083
|
+
return [createComponent(DatePicker$1.Input, mergeProps$1(control, {
|
|
1084
|
+
placeholder: "YYYY-MM-DD",
|
|
1085
|
+
autocomplete: "off"
|
|
1086
|
+
})), createComponent(DatePicker$1.Trigger, {
|
|
1087
|
+
"class": "dds-btn dds-btn--secondary",
|
|
1088
|
+
get ["aria-label"]() {
|
|
1089
|
+
return `${props.label} 달력 열기`;
|
|
1090
|
+
},
|
|
1091
|
+
get children() {
|
|
1092
|
+
return createComponent(CalendarIcon, {});
|
|
1093
|
+
}
|
|
1094
|
+
})];
|
|
1095
|
+
}
|
|
1096
|
+
}), createComponent(Portal, { get children() {
|
|
1097
|
+
return createComponent(DatePicker$1.Positioner, {
|
|
1098
|
+
"class": "dds-date-picker-positioner",
|
|
1099
|
+
get children() {
|
|
1100
|
+
return createComponent(DatePicker$1.Content, {
|
|
1101
|
+
"class": "dds-date-picker-content",
|
|
1102
|
+
get ["aria-label"]() {
|
|
1103
|
+
return `${props.label} 날짜 선택`;
|
|
1104
|
+
},
|
|
1105
|
+
get children() {
|
|
1106
|
+
return createComponent(DatePicker$1.View, {
|
|
1107
|
+
view: "day",
|
|
1108
|
+
get children() {
|
|
1109
|
+
return createComponent(DatePicker$1.Context, { children: (picker) => [
|
|
1110
|
+
createComponent(DatePicker$1.ViewControl, {
|
|
1111
|
+
"class": "dds-date-picker-header",
|
|
1112
|
+
get children() {
|
|
1113
|
+
return [
|
|
1114
|
+
createComponent(DatePicker$1.PrevTrigger, {
|
|
1115
|
+
"class": "dds-btn dds-btn--secondary",
|
|
1116
|
+
"aria-label": "이전 달",
|
|
1117
|
+
get children() {
|
|
1118
|
+
return createComponent(Chevron, {});
|
|
1119
|
+
}
|
|
1120
|
+
}),
|
|
1121
|
+
createComponent(DatePicker$1.RangeText, {}),
|
|
1122
|
+
createComponent(DatePicker$1.NextTrigger, {
|
|
1123
|
+
"class": "dds-btn dds-btn--secondary",
|
|
1124
|
+
"aria-label": "다음 달",
|
|
1125
|
+
get children() {
|
|
1126
|
+
return createComponent(Chevron, { next: true });
|
|
1127
|
+
}
|
|
1128
|
+
})
|
|
1129
|
+
];
|
|
1130
|
+
}
|
|
1131
|
+
}),
|
|
1132
|
+
createComponent(DatePicker$1.Table, {
|
|
1133
|
+
"class": "dds-date-picker-table",
|
|
1134
|
+
get children() {
|
|
1135
|
+
return [createComponent(DatePicker$1.TableHead, { get children() {
|
|
1136
|
+
return createComponent(DatePicker$1.TableRow, { get children() {
|
|
1137
|
+
return createComponent(For, {
|
|
1138
|
+
get each() {
|
|
1139
|
+
return picker().weekDays;
|
|
1140
|
+
},
|
|
1141
|
+
children: (day) => createComponent(DatePicker$1.TableHeader, { get children() {
|
|
1142
|
+
return day.short;
|
|
1143
|
+
} })
|
|
1144
|
+
});
|
|
1145
|
+
} });
|
|
1146
|
+
} }), createComponent(DatePicker$1.TableBody, { get children() {
|
|
1147
|
+
return createComponent(For, {
|
|
1148
|
+
get each() {
|
|
1149
|
+
return picker().weeks;
|
|
1150
|
+
},
|
|
1151
|
+
children: (week) => createComponent(DatePicker$1.TableRow, { get children() {
|
|
1152
|
+
return createComponent(For, {
|
|
1153
|
+
each: week,
|
|
1154
|
+
children: (day) => createComponent(DatePicker$1.TableCell, {
|
|
1155
|
+
value: day,
|
|
1156
|
+
get children() {
|
|
1157
|
+
return createComponent(DatePicker$1.TableCellTrigger, { get children() {
|
|
1158
|
+
return day.day;
|
|
1159
|
+
} });
|
|
1160
|
+
}
|
|
1161
|
+
})
|
|
1162
|
+
});
|
|
1163
|
+
} })
|
|
1164
|
+
});
|
|
1165
|
+
} })];
|
|
1166
|
+
}
|
|
1167
|
+
}),
|
|
1168
|
+
ssr(_tmpl$3, ssrHydrationKey(), escape(createComponent(Button, {
|
|
1169
|
+
type: "button",
|
|
1170
|
+
tone: "secondary",
|
|
1171
|
+
onClick: () => picker().selectToday(),
|
|
1172
|
+
children: "오늘"
|
|
1173
|
+
})), escape(createComponent(DatePicker$1.ClearTrigger, {
|
|
1174
|
+
"class": "dds-btn dds-btn--secondary",
|
|
1175
|
+
children: "지우기"
|
|
1176
|
+
})))
|
|
1177
|
+
] });
|
|
1178
|
+
}
|
|
1179
|
+
});
|
|
1180
|
+
}
|
|
1181
|
+
});
|
|
1182
|
+
}
|
|
1183
|
+
});
|
|
1184
|
+
} })];
|
|
1185
|
+
}
|
|
1186
|
+
})
|
|
1187
|
+
});
|
|
1188
|
+
}
|
|
1189
|
+
//#endregion
|
|
1190
|
+
export { Button, Checkbox, ConsoleShell, DatePicker, Dialog, Field, Icon, IconButton, Radio, RadioGroup, Select, Switch, Tab, TabList, TabPanel, Tabs, ToastProvider, Tooltip, createControllableSignal, createStatusPill, useToast };
|
|
1022
1191
|
|
|
1023
1192
|
//# sourceMappingURL=server.js.map
|