@godxjp/ui 28.13.0 → 30.0.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 (164) hide show
  1. package/agent/START-HERE.md +29 -10
  2. package/agent/components/Anchor.json +6 -1
  3. package/agent/components/AppShell.json +1 -1
  4. package/agent/components/AreaChart.json +19 -1
  5. package/agent/components/BarChart.json +11 -1
  6. package/agent/components/Cascader.json +1 -1
  7. package/agent/components/CompactBarTrend.json +1 -1
  8. package/agent/components/DataState.json +1 -1
  9. package/agent/components/DataTable.json +4 -4
  10. package/agent/components/FormField.json +1 -1
  11. package/agent/components/InfiniteQueryState.json +1 -1
  12. package/agent/components/Input.json +1 -1
  13. package/agent/components/LineChart.json +20 -2
  14. package/agent/components/ListRow.json +1 -1
  15. package/agent/components/Masonry.json +1 -1
  16. package/agent/components/MasterDetail.json +1 -1
  17. package/agent/components/PasswordStrength.json +1 -1
  18. package/agent/components/PermissionMatrix.json +1 -1
  19. package/agent/components/Select.json +1 -0
  20. package/agent/components/Sidebar.json +1 -1
  21. package/agent/components/Table.json +8 -3
  22. package/agent/components/ThemeScope.json +49 -0
  23. package/agent/components/Topbar.json +1 -0
  24. package/agent/components/TopbarItem.json +2 -1
  25. package/agent/components/Transfer.json +1 -1
  26. package/agent/components/TreeSelect.json +1 -1
  27. package/agent/components/UploadCropDialog.json +1 -1
  28. package/agent/components/formatDate.json +1 -1
  29. package/agent/components-index.json +5 -0
  30. package/agent/components.json +138 -30
  31. package/agent/index.json +19 -9
  32. package/agent/llms.txt +10 -10
  33. package/agent/patterns/tenant-brand-color.json +28 -0
  34. package/agent/patterns-index.json +27 -0
  35. package/agent/patterns.json +28 -0
  36. package/agent/rules.json +15 -0
  37. package/agent/tokens.json +5055 -1060
  38. package/dist/app/index.d.ts +3 -0
  39. package/dist/app/index.js +3 -0
  40. package/dist/app/tenant-theme.d.ts +80 -0
  41. package/dist/app/tenant-theme.js +154 -0
  42. package/dist/app/theme-axes.d.ts +14 -1
  43. package/dist/app/theme-axes.js +24 -31
  44. package/dist/components/charts/chart-cartesian.d.ts +5 -1
  45. package/dist/components/charts/chart-cartesian.js +15 -8
  46. package/dist/components/data-display/badge.d.ts +1 -1
  47. package/dist/components/data-display/badge.js +21 -3
  48. package/dist/components/data-display/carousel.js +4 -4
  49. package/dist/components/data-display/data-table.js +13 -2
  50. package/dist/components/data-display/permission-matrix.js +1 -1
  51. package/dist/components/data-display/table.d.ts +11 -2
  52. package/dist/components/data-display/table.js +19 -3
  53. package/dist/components/data-entry/control-appearance.d.ts +12 -6
  54. package/dist/components/data-entry/control-appearance.js +1 -1
  55. package/dist/components/data-entry/select.js +4 -3
  56. package/dist/components/feedback/dialog.js +6 -3
  57. package/dist/components/feedback/overlay-header-tone.d.ts +7 -0
  58. package/dist/components/feedback/overlay-header-tone.js +4 -4
  59. package/dist/components/feedback/sheet.d.ts +1 -1
  60. package/dist/components/feedback/sheet.js +6 -9
  61. package/dist/components/feedback/sonner.js +16 -3
  62. package/dist/components/general/button.js +22 -5
  63. package/dist/components/layout/affix.js +15 -1
  64. package/dist/components/layout/sidebar.js +7 -1
  65. package/dist/components/navigation/anchor.d.ts +1 -1
  66. package/dist/components/navigation/anchor.js +5 -4
  67. package/dist/components/navigation/app-setting-picker.js +1 -1
  68. package/dist/components/navigation/pagination.js +1 -1
  69. package/dist/components/navigation/tabs.js +15 -2
  70. package/dist/components/query/infinite-query-state.d.ts +22 -6
  71. package/dist/contracts/measurement.json +1 -1
  72. package/dist/lib/control-styles.d.ts +31 -11
  73. package/dist/lib/control-styles.js +6 -6
  74. package/dist/lib/overlay-portal.d.ts +20 -0
  75. package/dist/lib/overlay-portal.js +93 -0
  76. package/dist/props/components/app.prop.d.ts +12 -0
  77. package/dist/props/components/charts.prop.d.ts +30 -0
  78. package/dist/props/components/index.d.ts +1 -1
  79. package/dist/props/components/navigation.prop.d.ts +21 -2
  80. package/dist/props/components/query.prop.d.ts +36 -2
  81. package/dist/props/registry.d.ts +46 -1
  82. package/dist/props/registry.js +38 -3
  83. package/dist/styles/alert-layout.css +39 -19
  84. package/dist/styles/badge-layout.css +11 -7
  85. package/dist/styles/base.css +14 -5
  86. package/dist/styles/card-layout.css +29 -16
  87. package/dist/styles/chart-layout.css +27 -5
  88. package/dist/styles/control.css +225 -103
  89. package/dist/styles/data-display-layout.css +178 -76
  90. package/dist/styles/data-entry-layout.css +35 -99
  91. package/dist/styles/dialog-layout.css +58 -28
  92. package/dist/styles/float-button-layout.css +5 -5
  93. package/dist/styles/focus-ring.css +11 -7
  94. package/dist/styles/layout.css +53 -25
  95. package/dist/styles/logo-layout.css +3 -3
  96. package/dist/styles/motion.css +2 -2
  97. package/dist/styles/navigation-layout.css +117 -44
  98. package/dist/styles/shell-layout.css +90 -124
  99. package/dist/styles/table-layout.css +66 -24
  100. package/dist/styles/text-layout.css +13 -4
  101. package/dist/styles/toggle.css +9 -3
  102. package/dist/tokens/components/actions.css +1 -1
  103. package/dist/tokens/components/attachments.css +4 -4
  104. package/dist/tokens/components/badge.css +4 -4
  105. package/dist/tokens/components/banner.css +1 -1
  106. package/dist/tokens/components/callout.css +1 -1
  107. package/dist/tokens/components/card.css +13 -8
  108. package/dist/tokens/components/chart.css +11 -2
  109. package/dist/tokens/components/chat-bubble.css +2 -2
  110. package/dist/tokens/components/control.css +41 -22
  111. package/dist/tokens/components/conversations.css +2 -1
  112. package/dist/tokens/components/data-display.css +23 -18
  113. package/dist/tokens/components/data-entry.css +1 -1
  114. package/dist/tokens/components/descriptions.css +2 -2
  115. package/dist/tokens/components/draggable-panel.css +2 -2
  116. package/dist/tokens/components/feedback.css +29 -9
  117. package/dist/tokens/components/float-button.css +1 -1
  118. package/dist/tokens/components/legal-document.css +2 -2
  119. package/dist/tokens/components/logo.css +2 -2
  120. package/dist/tokens/components/mega-menu.css +6 -4
  121. package/dist/tokens/components/navigation.css +27 -13
  122. package/dist/tokens/components/segmented.css +11 -6
  123. package/dist/tokens/components/separator.css +1 -1
  124. package/dist/tokens/components/shell.css +24 -10
  125. package/dist/tokens/components/table.css +13 -5
  126. package/dist/tokens/components/thought-chain.css +2 -2
  127. package/dist/tokens/components/toggle.css +3 -1
  128. package/dist/tokens/components/tree.css +3 -1
  129. package/dist/tokens/components/upload.css +8 -8
  130. package/dist/tokens/components/welcome.css +1 -1
  131. package/dist/tokens/foundation.css +30 -3
  132. package/docs/COMPOSITION-VS-COMPONENT.md +31 -0
  133. package/docs/CUSTOMER-THEMING.md +637 -1
  134. package/docs/FRAME-COVERAGE-REPORT.md +3 -2
  135. package/docs/GLASSMORPHISM-STANDARD.md +196 -0
  136. package/docs/THEME-API-COVERAGE.md +538 -0
  137. package/docs/TOKEN-RESOLUTION.md +195 -0
  138. package/docs/TOKENS.md +63 -24
  139. package/docs/asset-modules.d.ts +7 -0
  140. package/docs/data-display/charts.tsx +80 -0
  141. package/docs/data-display/data-table/index.tsx +30 -0
  142. package/docs/data-display/popover.tsx +1 -1
  143. package/docs/data-display/table.tsx +52 -0
  144. package/docs/feedback/sheet.tsx +10 -10
  145. package/docs/foundation/density.tsx +4 -4
  146. package/docs/i18n/messages/en.json +506 -0
  147. package/docs/i18n/messages/ja.json +506 -0
  148. package/docs/i18n/messages/vi.json +506 -0
  149. package/docs/layout/account-chip.tsx +2 -2
  150. package/docs/layout/responsive-grid.tsx +1 -1
  151. package/docs/navigation/toolbar.tsx +20 -12
  152. package/docs/providers/theme-scope.tsx +186 -0
  153. package/docs/showcase/caimono-price-comparison.tsx +911 -0
  154. package/docs/showcase/case4-login.tsx +2 -2
  155. package/docs/showcase/permission-matrix.tsx +13 -5
  156. package/docs/showcase/table-pagination.tsx +2 -1
  157. package/docs/showcase/tenant-brand-color.tsx +338 -0
  158. package/docs/showcase/theme-lab.tsx +2125 -0
  159. package/docs/themes/flat.css +462 -0
  160. package/docs/themes/glassmorphism.css +958 -0
  161. package/docs/themes/index.ts +219 -0
  162. package/docs/themes/neubrutalism.css +475 -0
  163. package/package.json +4 -3
  164. package/scripts/explain-token.mjs +382 -0
@@ -689,5 +689,511 @@
689
689
  }
690
690
  }
691
691
  }
692
+ },
693
+ "caimono": {
694
+ "brand": "Caimono",
695
+ "eyebrow": "価格の内訳まで、わかりやすく。",
696
+ "demo": "UIプロトタイプ・商品、店舗、価格はすべて架空のサンプルです。",
697
+ "synthetic": "架空の商品",
698
+ "product": "Aero H1 ワイヤレスヘッドホン",
699
+ "productMeta": "モデル AERO-H1 · {count}点 · H2・セット商品は対象外",
700
+ "variant": "比較するカラー",
701
+ "black": "ブラック・H1-BK",
702
+ "cream": "クリーム・H1-CR",
703
+ "condition": "商品の状態",
704
+ "new": "新品",
705
+ "used": "中古",
706
+ "lowest": "比較条件内の最安支払額",
707
+ "noEligible": "条件に合う価格情報がありません",
708
+ "incl": "税込・確認済みの国内送料込み",
709
+ "couponActive": "確認した条件に基づきHakoのクーポンを適用",
710
+ "couponInactive": "クーポン・ポイント差引き前",
711
+ "bestDetails": "最安対象の内訳を見る",
712
+ "priceAlert": "値下がり通知を設定",
713
+ "save": "お気に入りに追加",
714
+ "saved": "お気に入りに追加済み",
715
+ "offers": "販売店の価格比較",
716
+ "snapshot": "サンプルデータの基準日時:{date}(日本時間)",
717
+ "findShop": "掲載店舗を検索",
718
+ "searchPlaceholder": "店舗名を入力…",
719
+ "deliverTo": "国内のお届け先",
720
+ "Tokyo": "東京都",
721
+ "Osaka": "大阪府",
722
+ "sort": "並び順",
723
+ "totalSort": "支払総額が安い順",
724
+ "deliverySort": "お届けが早い順",
725
+ "free": "国内送料無料",
726
+ "stockOnly": "在庫ありのみ",
727
+ "fast": "{duration}以内に配送",
728
+ "reset": "条件をリセット",
729
+ "counts": "表示件数:{total} · 最安判定の対象:{eligible}",
730
+ "shop": "販売店",
731
+ "cash": "支払総額",
732
+ "delivery": "お届け・保証",
733
+ "action": "ショップ",
734
+ "breakdown": "内訳を見る",
735
+ "detailFor": "価格の内訳 — {merchant}",
736
+ "best": "支払総額が最安",
737
+ "observed": "記録日時:{date}",
738
+ "itemValue": "商品:{amount}",
739
+ "shippingValue": "国内送料:{amount}",
740
+ "discountValue": "対象クーポン:−{amount}",
741
+ "unknownTotal": "送料未確認のため総額不明",
742
+ "unknown": "未確認",
743
+ "eta": "{duration}以内の見込み(サンプル)",
744
+ "pointsValue": "獲得予定ポイント:{count} · 支払額から差し引きません",
745
+ "stale": "価格情報が古いため要確認",
746
+ "outStock": "在庫なし",
747
+ "needsShipping": "送料は要確認",
748
+ "inStock": "在庫あり",
749
+ "manufacturer": "メーカー保証(サンプル)",
750
+ "sellerWarranty": "店舗保証(サンプル)",
751
+ "noResultTitle": "条件に合う店舗が見つかりません",
752
+ "noResultBody": "絞り込み条件を減らすか、店舗名を変更してください。未確認の価格を0円として扱うことはありません。",
753
+ "limitNote": "掲載情報のうち、型番・カラー・状態・市場が一致し、支払総額を確認できるものを比較します。購入前に販売店で最終価格をご確認ください。",
754
+ "couponTitle": "Hakoのクーポンをお持ちですか?",
755
+ "couponLabel": "{amount}割引の条件を確認し、対象であることを確認しました",
756
+ "couponHelp": "Hako Marketの新規アカウント向けクーポンを想定したサンプルです。初期状態では適用しません。",
757
+ "expires": "有効期限:{date}(日本時間)",
758
+ "whyRank": "比較・表示のルール",
759
+ "rule1": "同じ型番・カラー・商品状態・市場で比較。",
760
+ "rule2": "更新済み・在庫あり・費用確認済みの情報が対象。",
761
+ "rule3": "紹介報酬で価格順を変更しません。",
762
+ "kaimiBody": "ポイント還元と、今支払う金額は別です。まず支払総額を確認してから、ポイントの条件や有効期限をチェックしましょう。",
763
+ "buyAssist": "日本からの購入代行が必要ですか?",
764
+ "buyAssistBody": "代行手数料・海外送料・未確定費用を別に案内します。国内価格をお届け総額として表示しません。",
765
+ "quote": "見積りの内訳例を見る",
766
+ "historyTitle": "最安支払額の推移",
767
+ "historyScope": "架空データ・ブラック/新品/東京都・クーポン適用前・絞り込み条件とは連動しません",
768
+ "period": "表示期間",
769
+ "historyMetric": "確認済みの支払総額・ポイント差引きなし",
770
+ "date": "サンプル日付",
771
+ "price": "サンプル総額",
772
+ "reviewTitle": "安さの前に、合うものを。",
773
+ "editorial": "編集部レビュー",
774
+ "editorialBody": "架空の商品につき実機テストは行っていません。テスト点数や「検証済み」バッジは表示しません。",
775
+ "community": "ユーザーレビュー",
776
+ "communityBody": "レビューはまだありません。店舗の評価を、商品の品質評価として使用しません。",
777
+ "specTitle": "サンプル仕様",
778
+ "model": "型番",
779
+ "modelValue": "AERO-H1",
780
+ "connection": "接続方式",
781
+ "wireless": "ワイヤレス",
782
+ "unit": "比較単位",
783
+ "market": "対象市場",
784
+ "japan": "日本",
785
+ "disclosure": "商業的な関係の明示",
786
+ "disclosureText": "このサンプルにはアフィリエイトリンクはありません。実運用では手数料を価格表の近くに明示し、広告枠は分けて表示します。サンプルでは{duration}より古い価格を最安判定から除外します。",
787
+ "footerNote": "プロトタイプ · 店舗・決済・通知には接続していません。",
788
+ "close": "閉じる",
789
+ "breakdownTitle": "支払う金額の内訳",
790
+ "breakdownNote": "サンプル情報です。実際の取引や販売店サイトへの遷移は行いません。",
791
+ "item": "商品価格",
792
+ "shipping": "国内送料",
793
+ "fee": "必須手数料",
794
+ "discount": "条件確認済みクーポン",
795
+ "points": "獲得予定ポイント",
796
+ "notDeducted": "支払総額からは差し引きません",
797
+ "notRankedExplain": "この情報は最安支払額の判定対象外です。古い情報や未確認の費用があることを明示したうえで、掲載価格を残しています。",
798
+ "alertTitle": "希望価格を設定",
799
+ "alertBody": "このデモは希望価格をこのブラウザ内に保存するだけです。メールや通知は送信しません。実装時はカラー・状態・配送先・価格の定義を指定して通知します。",
800
+ "alertScope": "AERO-H1 · {variant} · {condition} · {destination} · JPY",
801
+ "alertLabel": "支払総額が次の金額以下になったら通知(円)",
802
+ "alertHelp": "1円以上の整数で入力。ポイントや個別クーポンは差し引きません。",
803
+ "alertSave": "デモに希望価格を保存",
804
+ "alertSaved": "この端末に保存しました。実際の通知は設定されていません。",
805
+ "storageFail": "ブラウザに保存できませんでした。設定は保存されていません。",
806
+ "favoriteOn": "このブラウザのお気に入りに保存しました。",
807
+ "favoriteOff": "このブラウザのお気に入りから削除しました。",
808
+ "quoteTitle": "購入代行:2段階の見積り",
809
+ "quoteBody": "これは説明用のサンプルで、サービスの正式な見積りではありません。確認済みの費用と未確定の費用を分けて表示します。",
810
+ "domestic": "選択条件での日本国内支払額",
811
+ "assistFee": "購入代行手数料",
812
+ "intlShip": "海外送料",
813
+ "importCost": "輸入時の税金・手数料",
814
+ "landed": "お届けまでの総額",
815
+ "pendingQuote": "要見積り",
816
+ "notFinal": "現時点では確定できません",
817
+ "quoteNote": "費用が未確定の状態で決済ボタンを表示しません。本番サービスでは「今すぐ購入」ではなく、見積り依頼へ進めます。",
818
+ "merchants": {
819
+ "mori": "Mori Store",
820
+ "aoi": "Aoi Direct",
821
+ "hako": "Hako Market",
822
+ "kumo": "Kumo Shop",
823
+ "haru": "Haru Select",
824
+ "mika": "Mika Audio",
825
+ "neko": "Neko Outlet",
826
+ "other": "Other Model Shop"
827
+ }
828
+ },
829
+ "dataTableDocs": {
830
+ "stackedRecordWide": "レコードコレクション(広い幅:表のまま)",
831
+ "stackedRecordFolded": "同じ表・同じ列定義(狭い幅:カードに畳む)"
832
+ },
833
+ "chartsDocs": {
834
+ "areaSplitTitle": "AreaChart · 塗りと線を分ける / 値軸のクロップ",
835
+ "areaSplitBody": "series[].fillColor で帯の色を線の color と独立に指定し、valueDomain / valueTicks で値軸を明示します。ゼロ基点でない軸は「形」が主題で、かつゼロが基準にならない量(相場・気温・指数・レイテンシ百分位)に限って正当です。大小を比べさせる図(棒グラフのすべて)では、変動を誇張する誤読を生みます。使うときは軸の範囲を明示し、グリッドを残してください。",
836
+ "areaSplitLabel": "週次相場(24,000〜31,000円にクロップ)",
837
+ "areaSplitDescription": "ゼロ基点ではありません。軸の範囲は 24,000〜31,000 円です。",
838
+ "priceSeries": "相場",
839
+ "tokenScopeTitle": "テーマトークン · 領域スコープ",
840
+ "tokenScopeBody": "線の太さ・帯の濃さ・グリッドの破線はハウススタイルなので prop ではなくトークンです。下のブロックにだけ --chart-series-stroke-width / --chart-area-fill-alpha / --chart-grid-line-dash を当てています。ページ固有 CSS も raw recharts も要りません。",
841
+ "tokenScopeLabel": "週次相場(テーマ適用)"
842
+ },
843
+ "themeScopeDocs": {
844
+ "page": {
845
+ "subtitle": "テーマを持つ領域。そこから開くオーバーレイも領域のトークンを保つ。",
846
+ "title": "ThemeScope"
847
+ },
848
+ "intro": {
849
+ "title": "なぜ領域にこれが要るのか",
850
+ "description": "すべてのオーバーレイは document.body にポータルするため、カスタムプロパティの継承はポータル境界で止まる。",
851
+ "body": "自分にテーマを当てた領域は自分の部分木しか塗れず、そこから開いたものは塗れない。実測では、領域が --primary 204 100% 37% を読む一方、開いた Dialog はパッケージ既定の 268.7 100% 50% を読んでいた。ThemeScope は領域と文書ルートの計算済みの差分をポータル先のホスト要素へ運ぶので、オーバーレイは DOM の包含関係そのもので継承する。テーマ用の prop は持たず DOM を読むため、インライン style でもクラスでもスタイルシートの規則でも結果は同じになる。"
852
+ },
853
+ "region": {
854
+ "description": "ここから何を開いても、開いたパネルはこの領域のトークンで塗られる。",
855
+ "pending": "審査待ち",
856
+ "queue": "キューに 12 件",
857
+ "reviewerLabel": "審査担当を割り当てる",
858
+ "reviewerPlaceholder": "審査担当を選択",
859
+ "approve": "申請を承認",
860
+ "history": "審査履歴",
861
+ "notify": "申請者へ通知"
862
+ },
863
+ "dialog": {
864
+ "title": "この申請を承認する",
865
+ "description": "承認はあなたのアカウントに記録され、申請者へ直ちに通知される。",
866
+ "confirm": "承認",
867
+ "body": "この顧客の申請 3 件が同じ証憑一式を待っている。"
868
+ },
869
+ "popover": {
870
+ "body": "証憑不足で一度差し戻し、同日中に再提出。"
871
+ },
872
+ "toast": {
873
+ "approved": "申請を承認した",
874
+ "saved": "申請者へ通知した"
875
+ },
876
+ "acme": {
877
+ "name": "ACME ロジスティクス"
878
+ },
879
+ "night": {
880
+ "name": "夜勤コンソール"
881
+ },
882
+ "without": {
883
+ "title": "ThemeScope なしの同じ領域",
884
+ "description": "トークンの宣言は上とまったく同じ。違いはラッパーが素の div であることだけ。",
885
+ "open": "申請を承認",
886
+ "dialogTitle": "この申請を承認する",
887
+ "dialogDescription": "このパネルが不具合そのもの。開いた領域ではなくパッケージ既定で塗られている。",
888
+ "dialogBody": "開いたボタンと中のボタンを見比べる。領域の色は運ばれていない。"
889
+ }
890
+ },
891
+ "tableDocs": {
892
+ "title": "入出金明細 · row tone",
893
+ "item": "項目",
894
+ "amount": "金額",
895
+ "status": "状態",
896
+ "fee": "振込手数料",
897
+ "done": "処理済",
898
+ "overdue": "支払期日超過(3日)",
899
+ "check": "要確認",
900
+ "failed": "引き落とし失敗",
901
+ "failedBadge": "失敗"
902
+ },
903
+ "themeLab": {
904
+ "page": {
905
+ "title": "テーマラボ",
906
+ "subtitle": "1ページに描画可能な全コンポーネント、複数のテーマ、複数のシードカラー。ここでのテーマはカスタムプロパティだけでできています。",
907
+ "footer": "テーマとシードはURLに載るため、スクリーンショットと計測は同じマス目を指せます。"
908
+ },
909
+ "product": "テーマラボ",
910
+ "switch": {
911
+ "title": "テーマとシード",
912
+ "note": "テーマの追加はCSSファイル1つと docs/themes/index.ts の1行だけ。このページは編集しません。",
913
+ "themeLabel": "テーマ",
914
+ "seedLabel": "シードカラー",
915
+ "modeLabel": "明暗",
916
+ "seedHex": "シード",
917
+ "seedInk": "シード上の文字色",
918
+ "seedContrast": "文字のコントラスト(WCAG 2.2 SC 1.4.3)",
919
+ "legendPass": "4.5:1 以上",
920
+ "legendFail": "AA 未満"
921
+ },
922
+ "mode": {
923
+ "light": "ライト",
924
+ "dark": "ダーク"
925
+ },
926
+ "theme": {
927
+ "base": {
928
+ "name": "既定",
929
+ "note": "ライブラリ自身のテーマ。テーマファイルも上書きもなく、テーマ未適用の見え方を示す対照群です。"
930
+ },
931
+ "glass": {
932
+ "name": "グラスモーフィズム",
933
+ "note": "半透明のすりガラス面、彩度を伴う背景ぼかし、細い明るい縁、そして鮮やかな背景の上に重なる奥行き。"
934
+ },
935
+ "flat": {
936
+ "name": "フラット",
937
+ "note": "角丸なし、影なし、線で区切る不透明な面。角丸を0にするだけで67行の宣言が必要です。"
938
+ },
939
+ "neubrutalism": {
940
+ "name": "ニューブルータリズム",
941
+ "note": "太い黒枠、ぼかしのない硬いドロップシャドウ、角ゼロ、彩度の高い面。枠を太くするのに22宣言かかり、それでも全体の五分の一にしか届かない。"
942
+ }
943
+ },
944
+ "seed": {
945
+ "violet": "バイオレット",
946
+ "azure": "アジュール",
947
+ "coral": "コーラル",
948
+ "citron": "シトロン",
949
+ "navy": "ネイビー"
950
+ },
951
+ "nav": {
952
+ "section": "ワークスペース",
953
+ "overview": "概要",
954
+ "reports": "レポート",
955
+ "people": "メンバー",
956
+ "settings": "設定",
957
+ "role": "管理者",
958
+ "footer": "ログイン中"
959
+ },
960
+ "app": {
961
+ "console": "コンソール",
962
+ "billing": "請求"
963
+ },
964
+ "topbar": {
965
+ "notifications": "通知",
966
+ "account": "アカウント"
967
+ },
968
+ "menu": {
969
+ "profile": "プロフィール",
970
+ "billing": "請求",
971
+ "logout": "ログアウト"
972
+ },
973
+ "popover": {
974
+ "title": "新着2件",
975
+ "body": "いま対応が必要なものはありません。",
976
+ "action": "すべて既読にする"
977
+ },
978
+ "section": {
979
+ "type": "文字・マーク・リズム",
980
+ "typeNote": "半透明の面で最初に壊れるのは文字色の階調なので、その全段階を同時に並べています。",
981
+ "actions": "アクション",
982
+ "display": "ステータスとデータ表示",
983
+ "tables": "テーブル",
984
+ "charts": "チャート",
985
+ "fields": "フォーム部品",
986
+ "fieldsNote": "入力欄はテーマである前に「入力できる場所」として読めなければなりません。塗り・境界線・フォーカスリング・プレースホルダー・入力済みと空の両状態を並べています。",
987
+ "nav": "ナビゲーション",
988
+ "feedback": "フィードバック",
989
+ "overlays": "オーバーレイ",
990
+ "overlaysNote": "これらは置いてあるだけでなく計測時に実際に開かれます。いずれもこのDOMの外へポータルされ、ThemeScope のオーバーレイホスト経由でテーマを受け取ります。",
991
+ "regions": "入れ子になる領域",
992
+ "chat": "会話",
993
+ "absent": "描画できなかったもの",
994
+ "absentNote": "見えない欠落は、誰も勘定に入れない欠落です。"
995
+ },
996
+ "absent": {
997
+ "export": "エクスポート",
998
+ "reason": "理由",
999
+ "provider": "プロバイダー。プレビュー実行環境がこのページの上で既にマウントしています。",
1000
+ "overlayPortal": "全オーバーレイのポータル先を付け替えるプロバイダー。ここで使うと、このページが測ろうとしている ThemeScope のホストを置き換えてしまいます。",
1001
+ "themeScope": "このページ自身のラッパーです。",
1002
+ "ownsPage": "ドキュメント全体を占有するシェルで、AppShell の中に入れ子にできません。",
1003
+ "hook": "フックであり、描画する面を持ちません。",
1004
+ "function": "コンポーネントではなく関数です。",
1005
+ "inertia": "Inertia アダプター。このプレビューにないルーターを必要とします。",
1006
+ "needsFile": "ファイル入力から選ばれた実際の File が必要です。",
1007
+ "needsNetwork": "ネットワーク画像が必要なため、リポジトリ内の素材で代替しています。",
1008
+ "needsRouter": "ルートとプリフェッチ可能なクエリが必要です。",
1009
+ "needsQuery": "実際の TanStack Query の結果が必要で、これはテーマではなくデータの話です。",
1010
+ "invisible": "ページ上にありますが、定義上なにも描画しません。",
1011
+ "needsSchema": "zod スキーマが必要ですが、check:example-imports はドキュメントページに react・lucide-react・@godxjp/ui 以外の import を許可していません。",
1012
+ "sameSurface": "ページ上にある AlertDialog を組み立て直した形で、新しい面は描画しません。"
1013
+ },
1014
+ "action": {
1015
+ "save": "保存",
1016
+ "cancel": "キャンセル",
1017
+ "secondary": "セカンダリ",
1018
+ "outline": "アウトライン",
1019
+ "ghost": "ゴースト",
1020
+ "dashed": "破線",
1021
+ "destructive": "削除",
1022
+ "link": "リンク",
1023
+ "disabled": "無効",
1024
+ "search": "検索",
1025
+ "bold": "太字",
1026
+ "unread": "未読",
1027
+ "retry": "再試行",
1028
+ "more": "その他",
1029
+ "share": "共有",
1030
+ "open": "開く"
1031
+ },
1032
+ "align": {
1033
+ "start": "左寄せ",
1034
+ "center": "中央",
1035
+ "end": "右寄せ"
1036
+ },
1037
+ "label": {
1038
+ "variants": "バリアント",
1039
+ "sizes": "サイズ",
1040
+ "toggles": "トグルと評価",
1041
+ "actionsBar": "回答の操作",
1042
+ "badges": "バッジと色見本",
1043
+ "items": "件",
1044
+ "align": "配置",
1045
+ "progress": "使用容量",
1046
+ "people": "チーム",
1047
+ "tools": "ツール",
1048
+ "schedule": "スケジュール",
1049
+ "week": "週",
1050
+ "start": "期間の開始",
1051
+ "end": "期間の終了",
1052
+ "permissions": "権限",
1053
+ "quickPick": "クイック選択",
1054
+ "noResults": "表示するものがありません",
1055
+ "available": "選択可能",
1056
+ "selected": "選択済み",
1057
+ "qr": "登録用QRコード",
1058
+ "thumbnail": "ダッシュボードのスクリーンショット",
1059
+ "credential": "APIキー",
1060
+ "detail": "詳細",
1061
+ "master": "一覧",
1062
+ "catalog": "カタログから追加",
1063
+ "mainNav": "メインナビゲーション",
1064
+ "onThisPage": "このページの内容",
1065
+ "pinned": "固定バー",
1066
+ "skeletons": "読み込み中のプレースホルダー",
1067
+ "assistant": "アシスタント",
1068
+ "loading": "読み込み中",
1069
+ "rating": "評価"
1070
+ },
1071
+ "table": {
1072
+ "name": "名称",
1073
+ "owner": "担当",
1074
+ "status": "状態",
1075
+ "amount": "金額"
1076
+ },
1077
+ "tone": {
1078
+ "neutral": "通常",
1079
+ "success": "承認済み",
1080
+ "warning": "保留",
1081
+ "destructive": "却下",
1082
+ "info": "情報"
1083
+ },
1084
+ "stat": {
1085
+ "members": "メンバー数",
1086
+ "revenue": "売上",
1087
+ "usage": "利用率",
1088
+ "open": "未処理の申請",
1089
+ "hint": "先月比 +3%"
1090
+ },
1091
+ "chart": {
1092
+ "trend": "計画と実績",
1093
+ "plan": "計画",
1094
+ "actual": "実績",
1095
+ "byMonth": "月別",
1096
+ "stacked": "積み上げ",
1097
+ "split": "内訳",
1098
+ "weekly": "直近7日間"
1099
+ },
1100
+ "field": {
1101
+ "name": "名称",
1102
+ "namePlaceholder": "2〜60文字",
1103
+ "email": "メールアドレス",
1104
+ "emailError": "メールアドレスの形式ではありません。",
1105
+ "search": "検索",
1106
+ "searchPlaceholder": "名称またはIDで検索",
1107
+ "quantity": "数量",
1108
+ "password": "パスワード",
1109
+ "notes": "メモ",
1110
+ "tags": "ラベル",
1111
+ "role": "ロール",
1112
+ "date": "日付",
1113
+ "time": "時刻",
1114
+ "timeRange": "シフト",
1115
+ "colour": "ブランドカラー",
1116
+ "volume": "音量",
1117
+ "region": "地域",
1118
+ "account": "勘定科目",
1119
+ "notify": "メール通知",
1120
+ "agree": "利用規約に同意します",
1121
+ "scope": "適用範囲"
1122
+ },
1123
+ "role": {
1124
+ "viewer": "閲覧者",
1125
+ "editor": "編集者",
1126
+ "admin": "管理者"
1127
+ },
1128
+ "perm": {
1129
+ "read": "参照",
1130
+ "write": "更新",
1131
+ "admin": "管理"
1132
+ },
1133
+ "overlay": {
1134
+ "dialog": "ダイアログを開く",
1135
+ "sheet": "シートを開く",
1136
+ "alertDialog": "削除の確認",
1137
+ "tooltip": "ツールチップを表示",
1138
+ "toast": "トーストを表示",
1139
+ "toastMessage": "保存しました。",
1140
+ "twoFactor": "二要素認証を設定",
1141
+ "inlineNote": "Select のリストボックスもオーバーレイです。任意の内容の上に重なるため、3つのうち最も不透明な塗りが必要になります。"
1142
+ },
1143
+ "error": {
1144
+ "title": "このレポートへのアクセス権がありません"
1145
+ },
1146
+ "auth": {
1147
+ "title": "サインイン",
1148
+ "requester": "テーマラボがアクセスを要求しています",
1149
+ "switch": "アカウントを切り替える",
1150
+ "or": "または",
1151
+ "terms": "利用規約",
1152
+ "privacy": "プライバシー"
1153
+ },
1154
+ "chat": {
1155
+ "welcomeTitle": "こんにちは",
1156
+ "welcomeBody": "請求、経費、勤怠についてお手伝いできます。",
1157
+ "assistant": "どのようなご用件でしょうか。",
1158
+ "user": "昨日の請求書を要約して。",
1159
+ "assistantName": "アシスタント",
1160
+ "userName": "あなた",
1161
+ "thoughts": "実行した手順",
1162
+ "placeholder": "メッセージを入力"
1163
+ },
1164
+ "sample": {
1165
+ "alpha": "北部地区",
1166
+ "beta": "本社オフィス",
1167
+ "gamma": "南部倉庫",
1168
+ "delta": "港湾別棟",
1169
+ "epsilon": "現場チーム",
1170
+ "one": "ファム・タイ・ズオン",
1171
+ "two": "佐藤 舞",
1172
+ "three": "ディエゴ・コスタ",
1173
+ "short": "数分前に更新されました。",
1174
+ "long": "整いすぎた見本こそが欠陥です。この行には3行に折り返すラベルと1語のラベル、改行できない長い語と空のセル、そしてレイアウトが受け取りうる最長の文字列が同居しています。",
1175
+ "headline": "このコンポーネント群は複雑なテーマを着られるか。",
1176
+ "linkLabel": "トークン解決のルールを読む",
1177
+ "codeLabel": "テーマの抜粋",
1178
+ "secure": "セッションは暗号化されています",
1179
+ "syncing": "同期中",
1180
+ "marqueeLabel": "スクロールを一時停止",
1181
+ "aspectTitle": "比率が固定された領域"
1182
+ },
1183
+ "launcher": {
1184
+ "trigger": "アプリ",
1185
+ "title": "アプリを切り替える"
1186
+ },
1187
+ "org": {
1188
+ "trigger": "組織"
1189
+ },
1190
+ "twoFactor": {
1191
+ "title": "二要素認証を設定する",
1192
+ "description": "認証アプリでコードを読み取り、表示された6桁を入力してください。",
1193
+ "manualKey": "または、このキーを手入力してください",
1194
+ "code": "6桁のコード",
1195
+ "recovery": "リカバリーコードは安全な場所に保管してください。表示は一度きりです。",
1196
+ "acknowledge": "保管しました"
1197
+ }
692
1198
  }
693
1199
  }