@ketvietlab/design-system 0.1.25 → 0.1.29

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 (122) hide show
  1. package/README.md +29 -0
  2. package/dist/atlas/island-runtime.d.mts +2 -0
  3. package/dist/atlas/island-runtime.d.mts.map +1 -0
  4. package/dist/atlas/island-runtime.mjs +2 -0
  5. package/dist/atlas/island-runtime.mjs.map +1 -0
  6. package/dist/atlas/relation-select-hydration.d.ts +2 -0
  7. package/dist/atlas/relation-select-hydration.d.ts.map +1 -0
  8. package/dist/atlas/relation-select-hydration.js +40 -0
  9. package/dist/atlas/relation-select-hydration.js.map +1 -0
  10. package/dist/atlas-cli.d.ts.map +1 -1
  11. package/dist/atlas-cli.js +18 -3
  12. package/dist/atlas-cli.js.map +1 -1
  13. package/dist/catalogue/index.js +1 -1
  14. package/dist/catalogue/inventory-policy.json +49 -0
  15. package/dist/catalogue/inventory.generated.js +1 -1
  16. package/dist/catalogue/inventory.generated.js.map +1 -1
  17. package/dist/catalogue/inventory.generated.json +2613 -1092
  18. package/dist/catalogue/registry.d.ts.map +1 -1
  19. package/dist/catalogue/registry.js +18 -0
  20. package/dist/catalogue/registry.js.map +1 -1
  21. package/dist/catalogue/specimens.d.ts.map +1 -1
  22. package/dist/catalogue/specimens.js +130 -10
  23. package/dist/catalogue/specimens.js.map +1 -1
  24. package/dist/contract/index.d.ts.map +1 -1
  25. package/dist/contract/index.js +10 -0
  26. package/dist/contract/index.js.map +1 -1
  27. package/dist/foundations/tokens.css +34 -26
  28. package/dist/index.d.ts +14 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +8 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/interactions/ket-table/demo.d.ts +4 -0
  33. package/dist/interactions/ket-table/demo.d.ts.map +1 -0
  34. package/dist/interactions/ket-table/demo.js +147 -0
  35. package/dist/interactions/ket-table/demo.js.map +1 -0
  36. package/dist/interactions/ket-table/index.d.ts +199 -0
  37. package/dist/interactions/ket-table/index.d.ts.map +1 -0
  38. package/dist/interactions/ket-table/index.js +376 -0
  39. package/dist/interactions/ket-table/index.js.map +1 -0
  40. package/dist/interactions/ket-table/styles.css +282 -0
  41. package/dist/interactions/lightbox/demo.d.ts +3 -0
  42. package/dist/interactions/lightbox/demo.d.ts.map +1 -0
  43. package/dist/interactions/lightbox/demo.js +21 -0
  44. package/dist/interactions/lightbox/demo.js.map +1 -0
  45. package/dist/interactions/lightbox/index.d.ts +58 -0
  46. package/dist/interactions/lightbox/index.d.ts.map +1 -0
  47. package/dist/interactions/lightbox/index.js +220 -0
  48. package/dist/interactions/lightbox/index.js.map +1 -0
  49. package/dist/interactions/lightbox/styles.css +153 -0
  50. package/dist/interactions/relation-select/demo.d.ts +3 -0
  51. package/dist/interactions/relation-select/demo.d.ts.map +1 -0
  52. package/dist/interactions/relation-select/demo.js +36 -0
  53. package/dist/interactions/relation-select/demo.js.map +1 -0
  54. package/dist/interactions/relation-select/index.d.ts +87 -0
  55. package/dist/interactions/relation-select/index.d.ts.map +1 -0
  56. package/dist/interactions/relation-select/index.js +307 -0
  57. package/dist/interactions/relation-select/index.js.map +1 -0
  58. package/dist/interactions/relation-select/styles.css +311 -0
  59. package/dist/interactions/reorder-list/index.d.ts +23 -0
  60. package/dist/interactions/reorder-list/index.d.ts.map +1 -0
  61. package/dist/interactions/reorder-list/index.js +15 -0
  62. package/dist/interactions/reorder-list/index.js.map +1 -0
  63. package/dist/interactions/reorder-list/runtime.d.ts +5 -0
  64. package/dist/interactions/reorder-list/runtime.d.ts.map +1 -0
  65. package/dist/interactions/reorder-list/runtime.js +85 -0
  66. package/dist/interactions/reorder-list/runtime.js.map +1 -0
  67. package/dist/interactions/reorder-list/styles.css +33 -0
  68. package/dist/interactions/search-filter/demo.d.ts +3 -0
  69. package/dist/interactions/search-filter/demo.d.ts.map +1 -0
  70. package/dist/interactions/search-filter/demo.js +74 -0
  71. package/dist/interactions/search-filter/demo.js.map +1 -0
  72. package/dist/interactions/search-filter/index.d.ts +153 -0
  73. package/dist/interactions/search-filter/index.d.ts.map +1 -0
  74. package/dist/interactions/search-filter/index.js +824 -0
  75. package/dist/interactions/search-filter/index.js.map +1 -0
  76. package/dist/interactions/search-filter/styles.css +580 -0
  77. package/dist/layouts/app-navigation/index.d.ts +11 -5
  78. package/dist/layouts/app-navigation/index.d.ts.map +1 -1
  79. package/dist/layouts/app-navigation/index.js +5 -3
  80. package/dist/layouts/app-navigation/index.js.map +1 -1
  81. package/dist/layouts/app-navigation/styles.css +50 -0
  82. package/dist/layouts/page-identity/index.d.ts +2 -0
  83. package/dist/layouts/page-identity/index.d.ts.map +1 -1
  84. package/dist/layouts/page-identity/index.js +2 -2
  85. package/dist/layouts/page-identity/index.js.map +1 -1
  86. package/dist/layouts/shell/index.d.ts +34 -1
  87. package/dist/layouts/shell/index.d.ts.map +1 -1
  88. package/dist/layouts/shell/index.js +26 -2
  89. package/dist/layouts/shell/index.js.map +1 -1
  90. package/dist/layouts/shell/styles.css +283 -0
  91. package/dist/patterns/data-table/styles.css +1 -1
  92. package/dist/patterns/list-page/index.d.ts +10 -3
  93. package/dist/patterns/list-page/index.d.ts.map +1 -1
  94. package/dist/patterns/list-page/index.js +10 -6
  95. package/dist/patterns/list-page/index.js.map +1 -1
  96. package/dist/patterns/list-page/responsive.css +1 -5
  97. package/dist/patterns/list-page/styles.css +25 -3
  98. package/dist/patterns/modal-sheet/index.d.ts +2 -0
  99. package/dist/patterns/modal-sheet/index.d.ts.map +1 -1
  100. package/dist/patterns/modal-sheet/index.js +3 -1
  101. package/dist/patterns/modal-sheet/index.js.map +1 -1
  102. package/dist/patterns/record-form/styles.css +34 -0
  103. package/dist/primitives/actions/index.d.ts +4 -0
  104. package/dist/primitives/actions/index.d.ts.map +1 -1
  105. package/dist/primitives/actions/index.js +2 -2
  106. package/dist/primitives/actions/index.js.map +1 -1
  107. package/dist/primitives/actions/styles.css +9 -0
  108. package/dist/primitives/feedback/styles.css +4 -1
  109. package/dist/primitives/status/index.d.ts +12 -1
  110. package/dist/primitives/status/index.d.ts.map +1 -1
  111. package/dist/primitives/status/index.js +16 -1
  112. package/dist/primitives/status/index.js.map +1 -1
  113. package/dist/primitives/status/styles.css +28 -0
  114. package/dist/record/formatted-values/index.d.ts +2 -1
  115. package/dist/record/formatted-values/index.d.ts.map +1 -1
  116. package/dist/record/formatted-values/index.js +2 -1
  117. package/dist/record/formatted-values/index.js.map +1 -1
  118. package/dist/runtime/index.d.ts.map +1 -1
  119. package/dist/runtime/index.js +129 -2
  120. package/dist/runtime/index.js.map +1 -1
  121. package/dist/styles.css +1 -1
  122. package/package.json +2 -2
@@ -0,0 +1,153 @@
1
+ import type { IslandController, IslandProps } from '@ketvietlab/ketjs-view';
2
+ export declare const HOOKS: readonly ['search-filter', 'search-filter-bar', 'search-filter-section-toggle', 'search-filter-sheet', 'search-filter-clear', 'search-filter-icon', 'search-filter-field', 'search-filter-input', 'search-filter-facets', 'search-filter-facet', 'search-filter-facet-remove', 'search-filter-suggestions', 'search-filter-suggestion', 'search-filter-toggle', 'search-filter-columns', 'search-filter-column', 'search-filter-column-title', 'search-filter-empty', 'search-filter-grouping', 'search-filter-grouping-head', 'search-filter-grouping-list', 'search-filter-grouping-item', 'search-filter-grouping-order', 'search-filter-grouping-label', 'search-filter-grouping-actions', 'search-filter-grouping-action', 'search-filter-grouping-clear', 'search-filter-grouping-add-label', 'custom-filter', 'custom-filter-row', 'custom-filter-add', 'custom-group-by', 'favorite-list', 'favorite-item', 'favorite-item-default', 'favorite-item-remove', 'favorite-save', 'favorite-save-toggle', 'favorite-save-row'];
3
+ /**
4
+ * The same 7 field types and their operator vocabulary as
5
+ * `packages/ketjs/src/data/list-search.ts`'s `ListFieldType`/`defaultOperators` —
6
+ * redeclared here because design-system cannot depend on `@ketvietlab/ketjs`.
7
+ */
8
+ export type SearchFilterFieldType = 'text' | 'number' | 'boolean' | 'selection' | 'reference' | 'date' | 'datetime';
9
+ export type SearchFilterOperator = 'contains' | 'notContains' | 'equals' | 'notEquals' | 'startsWith' | 'gt' | 'gte' | 'lt' | 'lte' | 'between' | 'anyOf' | 'isTrue' | 'isFalse' | 'isSet' | 'isNotSet';
10
+ /** The density of the search bar; `compact` uses the small control-height token. */
11
+ export type SearchFilterSize = 'default' | 'compact';
12
+ export type CustomFilterField = {
13
+ value: string;
14
+ label: string;
15
+ type: SearchFilterFieldType;
16
+ /** Screen-owned choices, including permission-checked reference lookups. */
17
+ choices?: readonly {
18
+ value: string;
19
+ label: string;
20
+ }[];
21
+ };
22
+ /** A removable chip in the search field. `type` only drives its colour token. */
23
+ export type SearchFacet = {
24
+ id: string;
25
+ type: 'field' | 'filter' | 'groupBy' | 'favorite';
26
+ label: string;
27
+ };
28
+ export type SearchFilterOption = {
29
+ id: string;
30
+ label: string;
31
+ active: boolean;
32
+ /** Options sharing a `group` are OR'd together, set off from the next group by a divider. */
33
+ group?: string;
34
+ options?: SearchFilterOption[];
35
+ };
36
+ export type SearchGroupByOption = {
37
+ id: string;
38
+ label: string;
39
+ active: boolean;
40
+ group?: string;
41
+ options?: SearchGroupByOption[];
42
+ };
43
+ export type SearchFavorite = {
44
+ id: string;
45
+ label: string;
46
+ isDefault: boolean;
47
+ active: boolean;
48
+ };
49
+ export type SearchFilterCustomRule = {
50
+ id: string;
51
+ field: string;
52
+ operator: SearchFilterOperator;
53
+ value: string;
54
+ label: string;
55
+ };
56
+ export type SearchFilterManager = {
57
+ applyFunction: string;
58
+ bodyId: string;
59
+ /** Static, screen-owned input kept with every apply request (for example the active locale). */
60
+ applyInput?: Record<string, unknown>;
61
+ saveFavoriteFunction?: string;
62
+ deleteFavoriteFunction?: string;
63
+ setDefaultFavoriteFunction?: string;
64
+ };
65
+ /** A shell handles this event synchronously and supplies its navigation promise. */
66
+ export type SearchFilterNavigateDetail = {
67
+ id: string;
68
+ href: string;
69
+ signal: AbortSignal;
70
+ respondWith(result: Promise<void>): void;
71
+ };
72
+ export type SearchFilterLabels = {
73
+ searchLabel: string;
74
+ searchPlaceholder: string;
75
+ /** Accessible name for the combined mobile Filters/Group By/Favorites sheet. */
76
+ toggleLabel: string;
77
+ filters: string;
78
+ groupBy: string;
79
+ groupByApplied?: string;
80
+ groupByAdd?: string;
81
+ groupByClear?: string;
82
+ groupByMoveEarlier?: string;
83
+ groupByMoveLater?: string;
84
+ favorites: string;
85
+ /** The field-less suggestion: `${searchGenericLabel}: "query"`. */
86
+ searchGenericLabel: string;
87
+ /** The per-field suggestion: `${searchFieldPrefix} <field> ${searchFieldPreposition}: "query"`. */
88
+ searchFieldPrefix: string;
89
+ searchFieldPreposition: string;
90
+ customFilterField: string;
91
+ customFilterOperator: string;
92
+ customFilterValue: string;
93
+ customFilterAdd: string;
94
+ customGroupByPlaceholder: string;
95
+ saveSearch: string;
96
+ favoriteName: string;
97
+ favoriteDefault: string;
98
+ favoriteSaveAction: string;
99
+ favoriteCancel?: string;
100
+ favoriteError?: string;
101
+ favoriteRemove: string;
102
+ favoriteSetDefault: string;
103
+ noFavorites: string;
104
+ clear: string;
105
+ applyError: string;
106
+ retry: string;
107
+ clearFilters?: string;
108
+ close?: string;
109
+ valueFrom?: string;
110
+ valueTo?: string;
111
+ operatorLabels?: Partial<Record<SearchFilterOperator, string>>;
112
+ };
113
+ export type SearchFilterConfig = {
114
+ name: string;
115
+ /** Disable unsupported editors while retaining the same search and preset-facet interaction. */
116
+ capabilities?: {
117
+ groupBy?: boolean;
118
+ favorites?: boolean;
119
+ customFilters?: boolean;
120
+ };
121
+ /** Keeps the standard interaction while reducing the search bar's visual density. */
122
+ size?: SearchFilterSize;
123
+ query?: string;
124
+ /** Native link to a screen-owned favorite form, when one exists. */
125
+ favoriteHref?: string;
126
+ facets: SearchFacet[];
127
+ filters: SearchFilterOption[];
128
+ groupBy: SearchGroupByOption[];
129
+ /** Maximum simultaneous grouping levels supported by the consumer. */
130
+ maxGroupBy?: number;
131
+ favorites: SearchFavorite[];
132
+ customFilterFields: CustomFilterField[];
133
+ /** Rules already encoded in the server-rendered list state. */
134
+ customFilters?: SearchFilterCustomRule[];
135
+ labels: SearchFilterLabels;
136
+ manager?: SearchFilterManager;
137
+ };
138
+ /** Shared by SSR and interactive chips; values remain data and choices supply display labels. */
139
+ export declare const searchFilterRuleLabel: (options: {
140
+ fieldLabel: string;
141
+ operator: SearchFilterOperator;
142
+ value?: unknown;
143
+ choices?: CustomFilterField['choices'];
144
+ operatorLabels?: SearchFilterLabels['operatorLabels'];
145
+ }) => string;
146
+ type SearchFilterIslandProps = IslandProps & {
147
+ id: string;
148
+ config: SearchFilterConfig;
149
+ };
150
+ export declare function createSearchFilterView(props: SearchFilterIslandProps): IslandController;
151
+ export declare const searchFilter: (props: IslandProps) => IslandController;
152
+ export {};
153
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/design-system/src/interactions/search-filter/index.tsx"],"names":[],"mappings":"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"}