@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/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$$5 = ["<span", " class=\"dds-spinner\" aria-hidden=\"true\"></span>"];
41
- var _tmpl$2$3 = ["<span", " aria-hidden=\"true\"> *</span>"];
42
- var _tmpl$3$1 = [
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$$5[0] + ssrHydrationKey() + _tmpl$$5[1],
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$$5[0] + ssrHydrationKey() + _tmpl$$5[1] : escape(local.children), true);
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$3, ssrHydrationKey())];
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$1, ssrHydrationKey() + ssrAttribute("class", escape(classes("dds-select", local.class), true), false), ssrElement("select", mergeProps$1(rest, {
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$$4 = [
273
+ var _tmpl$$5 = [
273
274
  "<dl",
274
275
  " class=\"dds-console-rail__context\">",
275
276
  "</dl>"
276
277
  ];
277
- var _tmpl$2$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$$4, ssrHydrationKey(), escape(createComponent(For, {
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$2, ssrHydrationKey(), escape(props.foot));
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$$3 = [
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$$3, ssrHydrationKey() + ssrAttribute("class", escape(cls("dds-dialog__actions", props.actionsClass), true), false), escape(props.actions));
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$$2 = ["<g>", "</g>"];
649
- var _tmpl$2$1 = [
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$1, ssrHydrationKey(), escape(local.label)),
696
+ local.label && ssr(_tmpl$2$2, ssrHydrationKey(), escape(local.label)),
696
697
  "<!--/-->",
697
- ssr(_tmpl$$2, icon().body)
698
+ ssr(_tmpl$$3, icon().body)
698
699
  ], true);
699
700
  }
700
701
  //#endregion
701
702
  //#region src/status-pill.tsx
702
- var _tmpl$$1 = [
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$$1, ssrHydrationKey(), `${escape(props.domain, true)}.${escape(props.value, true)}`, escape(props.value));
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$, ssrHydrationKey() + ssrAttribute("class", escape(classes("dds-tooltip", props.class), true), false), escape(createComponent(Tooltip$1.Trigger, { asChild: (merge) => {
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
- export { Button, Checkbox, ConsoleShell, Dialog, Field, Icon, IconButton, Radio, RadioGroup, Select, Switch, Tab, TabList, TabPanel, Tabs, ToastProvider, Tooltip, createControllableSignal, createStatusPill, useToast };
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