@k8o/arte-odyssey 10.2.0 → 10.3.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.
Files changed (50) hide show
  1. package/dist/components/buttons/icon-button/icon-button.d.mts +1 -1
  2. package/dist/components/buttons/icon-button/icon-button.mjs +1 -1
  3. package/dist/components/feedback/toast/toast.mjs +2 -2
  4. package/dist/components/form/autocomplete/autocomplete.mjs +20 -28
  5. package/dist/components/form/checkbox/checkbox.mjs +1 -1
  6. package/dist/components/form/checkbox-card/checkbox-card.mjs +1 -1
  7. package/dist/components/form/checkbox-group/index.d.mts +3 -3
  8. package/dist/components/form/file-field/file-field.mjs +1 -1
  9. package/dist/components/form/number-field/number-field.mjs +1 -1
  10. package/dist/components/icons/lucide-deep.d.mts +9 -0
  11. package/dist/components/icons/lucide-imports.d.mts +58 -0
  12. package/dist/components/icons/lucide-imports.mjs +58 -0
  13. package/dist/components/icons/lucide.mjs +1 -1
  14. package/dist/components/index.mjs +9 -9
  15. package/dist/components/navigation/tabs/tabs.mjs +1 -1
  16. package/dist/components/overlays/_internal/use-list-navigation.d.mts +40 -0
  17. package/dist/components/overlays/_internal/use-list-navigation.mjs +95 -0
  18. package/dist/components/overlays/dialog/dialog.mjs +1 -1
  19. package/dist/components/overlays/drawer/drawer.mjs +1 -1
  20. package/dist/components/overlays/dropdown-menu/dropdown-menu.d.mts +2 -1
  21. package/dist/components/overlays/dropdown-menu/dropdown-menu.mjs +39 -52
  22. package/dist/components/overlays/dropdown-menu/hooks.d.mts +14 -294
  23. package/dist/components/overlays/dropdown-menu/hooks.mjs +7 -18
  24. package/dist/components/overlays/list-box/hooks.d.mts +12 -292
  25. package/dist/components/overlays/list-box/hooks.mjs +7 -16
  26. package/dist/components/overlays/list-box/list-box.d.mts +1 -1
  27. package/dist/components/overlays/list-box/list-box.mjs +25 -32
  28. package/dist/components/overlays/popover/anchor-positioning.d.mts +26 -0
  29. package/dist/components/overlays/popover/anchor-positioning.mjs +44 -0
  30. package/dist/components/overlays/popover/hooks.d.mts +10 -13
  31. package/dist/components/overlays/popover/hooks.mjs +7 -14
  32. package/dist/components/overlays/popover/popover.d.mts +2 -3
  33. package/dist/components/overlays/popover/popover.mjs +31 -59
  34. package/dist/components/overlays/tooltip/tooltip.d.mts +1 -1
  35. package/dist/components/overlays/tooltip/tooltip.mjs +2 -23
  36. package/dist/helpers/index.mjs +2 -2
  37. package/dist/hooks/focus-trap/index.d.mts +19 -0
  38. package/dist/hooks/focus-trap/index.mjs +51 -0
  39. package/dist/hooks/index.mjs +4 -4
  40. package/dist/index.d.mts +1 -1
  41. package/dist/index.mjs +33 -33
  42. package/dist/integrations/_shared/renderers.mjs +6 -6
  43. package/dist/integrations/_shared/schemas.d.mts +30 -30
  44. package/dist/integrations/json-render/catalog.d.mts +26 -31
  45. package/dist/integrations/openui/form-views.d.mts +0 -9
  46. package/dist/integrations/openui/form-views.mjs +0 -9
  47. package/dist/styles/base.css +39 -1
  48. package/dist/styles/tokens.css +0 -1
  49. package/dist/types/variables.d.mts +6 -1
  50. package/package.json +4 -4
@@ -42,14 +42,12 @@ declare const iconName: z.ZodEnum<{
42
42
  form: "form";
43
43
  list: "list";
44
44
  link: "link";
45
- table: "table";
46
- send: "send";
47
- location: "location";
48
- copy: "copy";
49
45
  check: "check";
50
46
  plus: "plus";
51
47
  minus: "minus";
52
48
  close: "close";
49
+ copy: "copy";
50
+ send: "send";
53
51
  mail: "mail";
54
52
  subscribe: "subscribe";
55
53
  rss: "rss";
@@ -57,7 +55,9 @@ declare const iconName: z.ZodEnum<{
57
55
  "update-date": "update-date";
58
56
  "publish-date": "publish-date";
59
57
  "external-link": "external-link";
58
+ location: "location";
60
59
  "navigation-menu": "navigation-menu";
60
+ table: "table";
61
61
  view: "view";
62
62
  "view-off": "view-off";
63
63
  "light-mode": "light-mode";
@@ -97,14 +97,12 @@ declare const iconProps: z.ZodObject<{
97
97
  form: "form";
98
98
  list: "list";
99
99
  link: "link";
100
- table: "table";
101
- send: "send";
102
- location: "location";
103
- copy: "copy";
104
100
  check: "check";
105
101
  plus: "plus";
106
102
  minus: "minus";
107
103
  close: "close";
104
+ copy: "copy";
105
+ send: "send";
108
106
  mail: "mail";
109
107
  subscribe: "subscribe";
110
108
  rss: "rss";
@@ -112,7 +110,9 @@ declare const iconProps: z.ZodObject<{
112
110
  "update-date": "update-date";
113
111
  "publish-date": "publish-date";
114
112
  "external-link": "external-link";
113
+ location: "location";
115
114
  "navigation-menu": "navigation-menu";
115
+ table: "table";
116
116
  view: "view";
117
117
  "view-off": "view-off";
118
118
  "light-mode": "light-mode";
@@ -158,14 +158,12 @@ declare const iconButtonProps: z.ZodObject<{
158
158
  form: "form";
159
159
  list: "list";
160
160
  link: "link";
161
- table: "table";
162
- send: "send";
163
- location: "location";
164
- copy: "copy";
165
161
  check: "check";
166
162
  plus: "plus";
167
163
  minus: "minus";
168
164
  close: "close";
165
+ copy: "copy";
166
+ send: "send";
169
167
  mail: "mail";
170
168
  subscribe: "subscribe";
171
169
  rss: "rss";
@@ -173,7 +171,9 @@ declare const iconButtonProps: z.ZodObject<{
173
171
  "update-date": "update-date";
174
172
  "publish-date": "publish-date";
175
173
  "external-link": "external-link";
174
+ location: "location";
176
175
  "navigation-menu": "navigation-menu";
176
+ table: "table";
177
177
  view: "view";
178
178
  "view-off": "view-off";
179
179
  "light-mode": "light-mode";
@@ -215,16 +215,16 @@ declare const iconButtonProps: z.ZodObject<{
215
215
  lg: "lg";
216
216
  }>>;
217
217
  color: z.ZodOptional<z.ZodEnum<{
218
+ transparent: "transparent";
218
219
  primary: "primary";
219
220
  secondary: "secondary";
220
- transparent: "transparent";
221
221
  base: "base";
222
222
  }>>;
223
223
  }, z.core.$strip>;
224
224
  declare const chevronIconProps: z.ZodObject<{
225
225
  direction: z.ZodEnum<{
226
- right: "right";
227
226
  left: "left";
227
+ right: "right";
228
228
  up: "up";
229
229
  down: "down";
230
230
  }>;
@@ -237,9 +237,9 @@ declare const chevronIconProps: z.ZodObject<{
237
237
  declare const statusIconProps: z.ZodObject<{
238
238
  status: z.ZodEnum<{
239
239
  success: "success";
240
+ error: "error";
240
241
  info: "info";
241
242
  warning: "warning";
242
- error: "error";
243
243
  }>;
244
244
  size: z.ZodOptional<z.ZodEnum<{
245
245
  sm: "sm";
@@ -251,10 +251,10 @@ declare const badgeProps: z.ZodObject<{
251
251
  text: z.ZodString;
252
252
  tone: z.ZodOptional<z.ZodEnum<{
253
253
  success: "success";
254
- info: "info";
255
- warning: "warning";
256
254
  error: "error";
257
255
  neutral: "neutral";
256
+ info: "info";
257
+ warning: "warning";
258
258
  }>>;
259
259
  variant: z.ZodOptional<z.ZodEnum<{
260
260
  solid: "solid";
@@ -304,9 +304,9 @@ declare const tableProps: z.ZodObject<{
304
304
  columns: z.ZodArray<z.ZodObject<{
305
305
  label: z.ZodString;
306
306
  align: z.ZodOptional<z.ZodEnum<{
307
- right: "right";
308
- left: "left";
309
307
  center: "center";
308
+ left: "left";
309
+ right: "right";
310
310
  }>>;
311
311
  }, z.core.$strip>>;
312
312
  rows: z.ZodArray<z.ZodArray<z.ZodString>>;
@@ -330,9 +330,9 @@ declare const cardProps: z.ZodObject<{
330
330
  declare const alertProps: z.ZodObject<{
331
331
  tone: z.ZodEnum<{
332
332
  success: "success";
333
+ error: "error";
333
334
  info: "info";
334
335
  warning: "warning";
335
- error: "error";
336
336
  }>;
337
337
  message: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
338
338
  }, z.core.$strip>;
@@ -352,8 +352,8 @@ declare const progressProps: z.ZodObject<{
352
352
  }, z.core.$strip>;
353
353
  declare const skeletonProps: z.ZodObject<{
354
354
  shape: z.ZodOptional<z.ZodEnum<{
355
- circle: "circle";
356
355
  rect: "rect";
356
+ circle: "circle";
357
357
  }>>;
358
358
  size: z.ZodOptional<z.ZodEnum<{
359
359
  sm: "sm";
@@ -366,9 +366,9 @@ declare const toastProps: z.ZodObject<{
366
366
  triggerLabel: z.ZodString;
367
367
  tone: z.ZodEnum<{
368
368
  success: "success";
369
+ error: "error";
369
370
  info: "info";
370
371
  warning: "warning";
371
- error: "error";
372
372
  }>;
373
373
  message: z.ZodString;
374
374
  }, z.core.$strip>;
@@ -389,29 +389,29 @@ declare const stackProps: z.ZodObject<{
389
389
  column: "column";
390
390
  }>>;
391
391
  gap: z.ZodOptional<z.ZodEnum<{
392
- none: "none";
393
392
  sm: "sm";
394
393
  md: "md";
395
394
  lg: "lg";
396
395
  xl: "xl";
396
+ none: "none";
397
397
  }>>;
398
398
  padding: z.ZodOptional<z.ZodEnum<{
399
- none: "none";
400
399
  sm: "sm";
401
400
  md: "md";
402
401
  lg: "lg";
403
402
  xl: "xl";
403
+ none: "none";
404
404
  }>>;
405
405
  align: z.ZodOptional<z.ZodEnum<{
406
406
  start: "start";
407
+ center: "center";
407
408
  end: "end";
408
409
  stretch: "stretch";
409
- center: "center";
410
410
  }>>;
411
411
  justify: z.ZodOptional<z.ZodEnum<{
412
412
  start: "start";
413
- end: "end";
414
413
  center: "center";
414
+ end: "end";
415
415
  between: "between";
416
416
  }>>;
417
417
  }, z.core.$strip>;
@@ -419,11 +419,11 @@ declare const gridProps: z.ZodObject<{
419
419
  cols: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>, z.ZodLiteral<6>, z.ZodLiteral<"auto-fill">, z.ZodLiteral<"auto-fit">]>>;
420
420
  minItemSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<24>, z.ZodLiteral<32>, z.ZodLiteral<40>, z.ZodLiteral<48>, z.ZodLiteral<64>, z.ZodLiteral<80>]>>;
421
421
  gap: z.ZodOptional<z.ZodEnum<{
422
- none: "none";
423
422
  sm: "sm";
424
423
  md: "md";
425
424
  lg: "lg";
426
425
  xl: "xl";
426
+ none: "none";
427
427
  }>>;
428
428
  }, z.core.$strip>;
429
429
  declare const scrollLinkedProps: z.ZodObject<{}, z.core.$strip>;
@@ -616,10 +616,10 @@ declare const modalProps: z.ZodObject<{
616
616
  triggerLabel: z.ZodString;
617
617
  title: z.ZodString;
618
618
  type: z.ZodOptional<z.ZodEnum<{
619
+ center: "center";
620
+ left: "left";
619
621
  right: "right";
620
622
  bottom: "bottom";
621
- left: "left";
622
- center: "center";
623
623
  }>>;
624
624
  }, z.core.$strip>;
625
625
  declare const dialogProps: z.ZodObject<{
@@ -630,8 +630,8 @@ declare const drawerProps: z.ZodObject<{
630
630
  triggerLabel: z.ZodString;
631
631
  title: z.ZodString;
632
632
  side: z.ZodOptional<z.ZodEnum<{
633
- right: "right";
634
633
  left: "left";
634
+ right: "right";
635
635
  }>>;
636
636
  }, z.core.$strip>;
637
637
  declare const popoverProps: z.ZodObject<{
@@ -42,29 +42,29 @@ declare const catalog: import("@json-render/core").Catalog<{
42
42
  column: "column";
43
43
  }>>;
44
44
  gap: z.ZodOptional<z.ZodEnum<{
45
- none: "none";
46
45
  sm: "sm";
47
46
  md: "md";
48
47
  lg: "lg";
49
48
  xl: "xl";
49
+ none: "none";
50
50
  }>>;
51
51
  padding: z.ZodOptional<z.ZodEnum<{
52
- none: "none";
53
52
  sm: "sm";
54
53
  md: "md";
55
54
  lg: "lg";
56
55
  xl: "xl";
56
+ none: "none";
57
57
  }>>;
58
58
  align: z.ZodOptional<z.ZodEnum<{
59
59
  start: "start";
60
+ center: "center";
60
61
  end: "end";
61
62
  stretch: "stretch";
62
- center: "center";
63
63
  }>>;
64
64
  justify: z.ZodOptional<z.ZodEnum<{
65
65
  start: "start";
66
- end: "end";
67
66
  center: "center";
67
+ end: "end";
68
68
  between: "between";
69
69
  }>>;
70
70
  }, z.core.$strip>;
@@ -76,11 +76,11 @@ declare const catalog: import("@json-render/core").Catalog<{
76
76
  cols: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>, z.ZodLiteral<6>, z.ZodLiteral<"auto-fill">, z.ZodLiteral<"auto-fit">]>>;
77
77
  minItemSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<24>, z.ZodLiteral<32>, z.ZodLiteral<40>, z.ZodLiteral<48>, z.ZodLiteral<64>, z.ZodLiteral<80>]>>;
78
78
  gap: z.ZodOptional<z.ZodEnum<{
79
- none: "none";
80
79
  sm: "sm";
81
80
  md: "md";
82
81
  lg: "lg";
83
82
  xl: "xl";
83
+ none: "none";
84
84
  }>>;
85
85
  }, z.core.$strip>;
86
86
  slots: string[];
@@ -134,10 +134,10 @@ declare const catalog: import("@json-render/core").Catalog<{
134
134
  text: z.ZodString;
135
135
  tone: z.ZodOptional<z.ZodEnum<{
136
136
  success: "success";
137
- info: "info";
138
- warning: "warning";
139
137
  error: "error";
140
138
  neutral: "neutral";
139
+ info: "info";
140
+ warning: "warning";
141
141
  }>>;
142
142
  variant: z.ZodOptional<z.ZodEnum<{
143
143
  solid: "solid";
@@ -170,9 +170,9 @@ declare const catalog: import("@json-render/core").Catalog<{
170
170
  props: z.ZodObject<{
171
171
  tone: z.ZodEnum<{
172
172
  success: "success";
173
+ error: "error";
173
174
  info: "info";
174
175
  warning: "warning";
175
- error: "error";
176
176
  }>;
177
177
  message: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
178
178
  }, z.core.$strip>;
@@ -288,9 +288,9 @@ declare const catalog: import("@json-render/core").Catalog<{
288
288
  columns: z.ZodArray<z.ZodObject<{
289
289
  label: z.ZodString;
290
290
  align: z.ZodOptional<z.ZodEnum<{
291
- right: "right";
292
- left: "left";
293
291
  center: "center";
292
+ left: "left";
293
+ right: "right";
294
294
  }>>;
295
295
  }, z.core.$strip>>;
296
296
  rows: z.ZodArray<z.ZodArray<z.ZodString>>;
@@ -337,8 +337,8 @@ declare const catalog: import("@json-render/core").Catalog<{
337
337
  Skeleton: {
338
338
  props: z.ZodObject<{
339
339
  shape: z.ZodOptional<z.ZodEnum<{
340
- circle: "circle";
341
340
  rect: "rect";
341
+ circle: "circle";
342
342
  }>>;
343
343
  size: z.ZodOptional<z.ZodEnum<{
344
344
  sm: "sm";
@@ -355,14 +355,12 @@ declare const catalog: import("@json-render/core").Catalog<{
355
355
  form: "form";
356
356
  list: "list";
357
357
  link: "link";
358
- table: "table";
359
- send: "send";
360
- location: "location";
361
- copy: "copy";
362
358
  check: "check";
363
359
  plus: "plus";
364
360
  minus: "minus";
365
361
  close: "close";
362
+ copy: "copy";
363
+ send: "send";
366
364
  mail: "mail";
367
365
  subscribe: "subscribe";
368
366
  rss: "rss";
@@ -370,7 +368,9 @@ declare const catalog: import("@json-render/core").Catalog<{
370
368
  "update-date": "update-date";
371
369
  "publish-date": "publish-date";
372
370
  "external-link": "external-link";
371
+ location: "location";
373
372
  "navigation-menu": "navigation-menu";
373
+ table: "table";
374
374
  view: "view";
375
375
  "view-off": "view-off";
376
376
  "light-mode": "light-mode";
@@ -416,8 +416,8 @@ declare const catalog: import("@json-render/core").Catalog<{
416
416
  ChevronIcon: {
417
417
  props: z.ZodObject<{
418
418
  direction: z.ZodEnum<{
419
- right: "right";
420
419
  left: "left";
420
+ right: "right";
421
421
  up: "up";
422
422
  down: "down";
423
423
  }>;
@@ -433,9 +433,9 @@ declare const catalog: import("@json-render/core").Catalog<{
433
433
  props: z.ZodObject<{
434
434
  status: z.ZodEnum<{
435
435
  success: "success";
436
+ error: "error";
436
437
  info: "info";
437
438
  warning: "warning";
438
- error: "error";
439
439
  }>;
440
440
  size: z.ZodOptional<z.ZodEnum<{
441
441
  sm: "sm";
@@ -451,14 +451,12 @@ declare const catalog: import("@json-render/core").Catalog<{
451
451
  form: "form";
452
452
  list: "list";
453
453
  link: "link";
454
- table: "table";
455
- send: "send";
456
- location: "location";
457
- copy: "copy";
458
454
  check: "check";
459
455
  plus: "plus";
460
456
  minus: "minus";
461
457
  close: "close";
458
+ copy: "copy";
459
+ send: "send";
462
460
  mail: "mail";
463
461
  subscribe: "subscribe";
464
462
  rss: "rss";
@@ -466,7 +464,9 @@ declare const catalog: import("@json-render/core").Catalog<{
466
464
  "update-date": "update-date";
467
465
  "publish-date": "publish-date";
468
466
  "external-link": "external-link";
467
+ location: "location";
469
468
  "navigation-menu": "navigation-menu";
469
+ table: "table";
470
470
  view: "view";
471
471
  "view-off": "view-off";
472
472
  "light-mode": "light-mode";
@@ -508,9 +508,9 @@ declare const catalog: import("@json-render/core").Catalog<{
508
508
  lg: "lg";
509
509
  }>>;
510
510
  color: z.ZodOptional<z.ZodEnum<{
511
+ transparent: "transparent";
511
512
  primary: "primary";
512
513
  secondary: "secondary";
513
- transparent: "transparent";
514
514
  base: "base";
515
515
  }>>;
516
516
  }, z.core.$strip>;
@@ -628,10 +628,10 @@ declare const catalog: import("@json-render/core").Catalog<{
628
628
  triggerLabel: z.ZodString;
629
629
  title: z.ZodString;
630
630
  type: z.ZodOptional<z.ZodEnum<{
631
+ center: "center";
632
+ left: "left";
631
633
  right: "right";
632
634
  bottom: "bottom";
633
- left: "left";
634
- center: "center";
635
635
  }>>;
636
636
  }, z.core.$strip>;
637
637
  slots: string[];
@@ -650,8 +650,8 @@ declare const catalog: import("@json-render/core").Catalog<{
650
650
  triggerLabel: z.ZodString;
651
651
  title: z.ZodString;
652
652
  side: z.ZodOptional<z.ZodEnum<{
653
- right: "right";
654
653
  left: "left";
654
+ right: "right";
655
655
  }>>;
656
656
  }, z.core.$strip>;
657
657
  slots: string[];
@@ -685,9 +685,9 @@ declare const catalog: import("@json-render/core").Catalog<{
685
685
  triggerLabel: z.ZodString;
686
686
  tone: z.ZodEnum<{
687
687
  success: "success";
688
+ error: "error";
688
689
  info: "info";
689
690
  warning: "warning";
690
- error: "error";
691
691
  }>;
692
692
  message: z.ZodString;
693
693
  }, z.core.$strip>;
@@ -776,11 +776,8 @@ declare const catalog: import("@json-render/core").Catalog<{
776
776
  * const systemPrompt = catalog.prompt({ customRules: [...arteOdysseyRules] });
777
777
  */
778
778
  declare const arteOdysseyRules: readonly string[];
779
- /** catalog に登録されたコンポーネント定義のマップ(型レベル)。 */
780
779
  type ComponentSchemas = (typeof catalog)['data']['components'];
781
- /** catalog に登録されたコンポーネント名のユニオン。 */
782
780
  type ComponentName = keyof ComponentSchemas;
783
- /** 指定したコンポーネントの props 型(Zod スキーマから推論)。 */
784
781
  type ComponentProps<K extends ComponentName> = z.infer<ComponentSchemas[K]['props']>;
785
782
  /**
786
783
  * arte-odyssey のコンポーネントだけで構成された型付き spec の要素。
@@ -809,12 +806,10 @@ type ArteSpec = {
809
806
  elements: Record<string, ArteSpecElement>;
810
807
  state?: Spec['state'];
811
808
  };
812
- /** 検証で見つかった 1 件の問題。 */
813
809
  type GeneratedSpecIssue = {
814
810
  /** 問題のあった要素キー(spec 全体の問題なら未指定)。 */elementKey?: string; /** 人間(および LLM)向けの説明。 */
815
811
  message: string;
816
812
  };
817
- /** {@link validateGeneratedSpec} の結果。 */
818
813
  type ValidateGeneratedSpecResult = {
819
814
  ok: true;
820
815
  spec: ArteSpec;
@@ -3,15 +3,6 @@ import { FC } from "react";
3
3
  import { ComponentRenderProps } from "@openuidev/react-lang";
4
4
 
5
5
  //#region src/integrations/openui/form-views.d.ts
6
- /**
7
- * OpenUI のフォーム状態(`useStateField`)に接続する関数コンポーネント群。
8
- *
9
- * `defineComponent` の `component` フィールドにそのまま渡せる FC として実装する。
10
- * フックを使うので React の rules-of-hooks を満たす大文字始まり関数として
11
- * 定義する必要があり、`library.tsx` の宣言的な `defineComponent` 並びから
12
- * 切り出してここに集約した。値域と setter の解決だけを担当し、見た目の組み立て
13
- * は `_shared/renderers` の `renderXxx` に委譲する。
14
- */
15
6
  declare const TextFieldView: FC<ComponentRenderProps<TextFieldProps>>;
16
7
  declare const CheckboxView: FC<ComponentRenderProps<CheckboxProps>>;
17
8
  declare const SwitchView: FC<ComponentRenderProps<SwitchProps>>;
@@ -2,15 +2,6 @@
2
2
  import { renderAutocomplete, renderCheckbox, renderCheckboxCard, renderCheckboxGroup, renderListBox, renderNumberField, renderPagination, renderPasswordInput, renderRadio, renderRadioCard, renderSelect, renderSlider, renderSwitch, renderTextField, renderTextarea } from "../_shared/renderers.mjs";
3
3
  import { useStateField } from "@openuidev/react-lang";
4
4
  //#region src/integrations/openui/form-views.tsx
5
- /**
6
- * OpenUI のフォーム状態(`useStateField`)に接続する関数コンポーネント群。
7
- *
8
- * `defineComponent` の `component` フィールドにそのまま渡せる FC として実装する。
9
- * フックを使うので React の rules-of-hooks を満たす大文字始まり関数として
10
- * 定義する必要があり、`library.tsx` の宣言的な `defineComponent` 並びから
11
- * 切り出してここに集約した。値域と setter の解決だけを担当し、見た目の組み立て
12
- * は `_shared/renderers` の `renderXxx` に委譲する。
13
- */
14
5
  const TextFieldView = ({ props }) => {
15
6
  const field = useStateField(props.name, props.defaultValue ?? "");
16
7
  return renderTextField(props, field.value, field.setValue);
@@ -65,7 +65,6 @@
65
65
  }
66
66
  }
67
67
 
68
- /* dark・light themeの値を使うための宣言 */
69
68
  @custom-variant dark (&:where(.dark, .dark *));
70
69
  @custom-variant light (&:where(.light, .light *));
71
70
 
@@ -73,3 +72,42 @@
73
72
  @custom-variant vertical (
74
73
  &:where(.writing-v, .writing-v *):not(.writing-h, .writing-h *)
75
74
  );
75
+
76
+ /*
77
+ * Popover(top-layer)の開く時のアニメーション。
78
+ * :popover-open になった瞬間に keyframe を再生する。安静時の値は上書きしない
79
+ * (natural=opacity:1)ため固着しない。閉じる時は display:none で即時(Modal/Drawer 同様)。
80
+ * scale は transform ではなく `scale` プロパティを使い、CSS Anchor Positioning
81
+ * (inset で配置)と干渉させない。
82
+ */
83
+ .ao-anim-scale:popover-open {
84
+ animation: ao-pop-in 0.18s ease;
85
+ }
86
+ .ao-anim-fade:popover-open {
87
+ animation: ao-fade-in 0.15s ease;
88
+ }
89
+
90
+ @keyframes ao-pop-in {
91
+ from {
92
+ scale: 0.92;
93
+ }
94
+ to {
95
+ scale: 1;
96
+ }
97
+ }
98
+
99
+ @keyframes ao-fade-in {
100
+ from {
101
+ opacity: 0;
102
+ }
103
+ to {
104
+ opacity: 1;
105
+ }
106
+ }
107
+
108
+ @media (prefers-reduced-motion: reduce) {
109
+ .ao-anim-scale:popover-open,
110
+ .ao-anim-fade:popover-open {
111
+ animation: none;
112
+ }
113
+ }
@@ -299,7 +299,6 @@
299
299
  --color-transparent: transparent;
300
300
  --color-back-drop: var(--back-drop);
301
301
 
302
- /* group */
303
302
  --color-group-primary: var(--group-primary);
304
303
  --color-group-secondary: var(--group-secondary);
305
304
  --color-group-tertiary: var(--group-tertiary);
@@ -1,9 +1,14 @@
1
1
  //#region src/types/variables.d.ts
2
2
  type Status = 'success' | 'info' | 'warning' | 'error';
3
3
  type Direction = 'up' | 'down' | 'right' | 'left';
4
+ /**
5
+ * オーバーレイの配置。物理方向(side)と整列(alignment)の組み合わせ。
6
+ * 旧 `@floating-ui/react` の `Placement` 互換のローカル定義。
7
+ */
8
+ type Placement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
4
9
  type Option = Readonly<{
5
10
  value: string;
6
11
  label: string;
7
12
  }>;
8
13
  //#endregion
9
- export { Direction, Option, Status };
14
+ export { Direction, Option, Placement, Status };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k8o/arte-odyssey",
3
- "version": "10.2.0",
3
+ "version": "10.3.0",
4
4
  "description": "k8o's React UI library with built-in generative UI adapters (json-render & OpenUI) for LLM-driven, on-brand interfaces",
5
5
  "keywords": [
6
6
  "ai",
@@ -76,7 +76,6 @@
76
76
  "registry": "https://registry.npmjs.org"
77
77
  },
78
78
  "dependencies": {
79
- "@floating-ui/react": "0.27.19",
80
79
  "baseline-status": "1.1.1",
81
80
  "clsx": "2.1.1",
82
81
  "lucide-react": "1.17.0",
@@ -105,12 +104,13 @@
105
104
  "react": "19.2.6",
106
105
  "react-dom": "19.2.6",
107
106
  "storybook": "10.4.1",
107
+ "storybook-addon-determinism": "0.1.1",
108
108
  "storybook-addon-mock-date": "3.0.2",
109
109
  "storybook-addon-vrt": "0.1.0",
110
110
  "tailwind-token-extractor": "0.2.0",
111
111
  "tailwindcss": "4.3.0",
112
- "vite": "8.0.14",
113
- "vite-plus": "0.1.23",
112
+ "vite": "8.0.16",
113
+ "vite-plus": "0.1.24",
114
114
  "vitest": "4.1.7",
115
115
  "vitest-browser-react": "2.2.0",
116
116
  "zod": "4.4.3"