@functionalcms/svelte-components 4.36.9 → 5.0.0-beta1

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 (127) hide show
  1. package/css/functional.css +48 -1
  2. package/dist/auth/getMachineAccessToken.d.ts +1 -1
  3. package/dist/auth/getMachineAccessToken.js +1 -2
  4. package/dist/auth/machineAuthenticationProvider.d.ts +1 -1
  5. package/dist/auth/machineAuthenticationProvider.js +1 -2
  6. package/dist/auth/tokenRefresh.d.ts +1 -1
  7. package/dist/auth/tokenRefresh.js +4 -5
  8. package/dist/auth/types.js +4 -8
  9. package/dist/auth/userAuthenticationProvider.d.ts +1 -1
  10. package/dist/auth/userAuthenticationProvider.js +1 -2
  11. package/dist/components/Icon.svelte +16 -0
  12. package/dist/components/Icon.svelte.d.ts +9 -0
  13. package/dist/components/content/Markdown.svelte +2 -2
  14. package/dist/components/content/Markdown.svelte.d.ts +17 -4
  15. package/dist/components/form/Dropzone.svelte +2 -5
  16. package/dist/components/form/SmartForm.svelte +206 -60
  17. package/dist/components/form/SmartForm.svelte.d.ts +2 -2
  18. package/dist/components/form/form.d.ts +87 -17
  19. package/dist/components/form/form.js +86 -6
  20. package/dist/components/icons.d.ts +763 -0
  21. package/dist/components/icons.js +765 -0
  22. package/dist/components/integrations/EasyTools.svelte +1 -1
  23. package/dist/components/layouts/DefaultLayout.svelte +92 -41
  24. package/dist/components/layouts/DefaultLayout.svelte.d.ts +17 -8
  25. package/dist/components/layouts/FlexBox.svelte +73 -0
  26. package/dist/components/layouts/FlexBox.svelte.d.ts +17 -0
  27. package/dist/components/layouts/MenuLayout.svelte +39 -201
  28. package/dist/components/layouts/MenuLayout.svelte.d.ts +2 -10
  29. package/dist/components/layouts/StyleBox.svelte +17 -0
  30. package/dist/components/layouts/StyleBox.svelte.d.ts +7 -0
  31. package/dist/components/layouts/Well.svelte +8 -34
  32. package/dist/components/layouts/Well.svelte.d.ts +4 -8
  33. package/dist/components/layouts/menuItems.d.ts +29 -0
  34. package/dist/components/layouts/menuItems.js +28 -0
  35. package/dist/index-server.d.ts +2 -1
  36. package/dist/index-server.js +2 -1
  37. package/dist/index.d.ts +9 -47
  38. package/dist/index.js +8 -59
  39. package/dist/server-side/getServices.d.ts +8 -8
  40. package/dist/server-side/getServices.js +16 -27
  41. package/dist/server-side/handlers/paraglideHandler.d.ts +2 -0
  42. package/dist/server-side/handlers/paraglideHandler.js +13 -0
  43. package/dist/server-side/handlers/redirectPipelineHandler.d.ts +5 -0
  44. package/dist/server-side/{getRedirectPipeline.js → handlers/redirectPipelineHandler.js} +1 -2
  45. package/dist/utils/stringHash.d.ts +1 -0
  46. package/dist/utils/stringHash.js +7 -0
  47. package/package.json +28 -39
  48. package/css/functional.css.map +0 -1
  49. package/dist/components/MaterialIconSet.d.ts +0 -3819
  50. package/dist/components/MaterialIconSet.js +0 -3823
  51. package/dist/components/Styling.d.ts +0 -59
  52. package/dist/components/Styling.js +0 -66
  53. package/dist/components/blog/blog.d.ts +0 -20
  54. package/dist/components/blog/blog.js +0 -29
  55. package/dist/components/dynamic/CopyToClipboard.svelte +0 -16
  56. package/dist/components/dynamic/CopyToClipboard.svelte.d.ts +0 -36
  57. package/dist/components/dynamic/DynamicButton.d.ts +0 -1
  58. package/dist/components/dynamic/DynamicButton.js +0 -10
  59. package/dist/components/dynamic/DynamicButton.svelte +0 -33
  60. package/dist/components/dynamic/DynamicButton.svelte.d.ts +0 -9
  61. package/dist/components/form/Button.svelte +0 -389
  62. package/dist/components/form/Button.svelte.d.ts +0 -30
  63. package/dist/components/form/ChoiceInput.svelte +0 -375
  64. package/dist/components/form/ChoiceInput.svelte.d.ts +0 -3
  65. package/dist/components/form/Input.svelte +0 -461
  66. package/dist/components/form/Input.svelte.d.ts +0 -30
  67. package/dist/components/form/Select.svelte +0 -163
  68. package/dist/components/form/Select.svelte.d.ts +0 -21
  69. package/dist/components/form/Switch.svelte +0 -293
  70. package/dist/components/form/Switch.svelte.d.ts +0 -14
  71. package/dist/components/indicators/Loader.svelte +0 -114
  72. package/dist/components/indicators/Loader.svelte.d.ts +0 -30
  73. package/dist/components/indicators/Spinner.svelte +0 -109
  74. package/dist/components/indicators/Spinner.svelte.d.ts +0 -28
  75. package/dist/components/layouts/Banner.svelte +0 -26
  76. package/dist/components/layouts/Banner.svelte.d.ts +0 -8
  77. package/dist/components/layouts/FoldablePanel.svelte +0 -16
  78. package/dist/components/layouts/FoldablePanel.svelte.d.ts +0 -7
  79. package/dist/components/layouts/SimpleFooter.svelte +0 -23
  80. package/dist/components/layouts/SimpleFooter.svelte.d.ts +0 -8
  81. package/dist/components/layouts/Tabs.svelte +0 -362
  82. package/dist/components/layouts/Tabs.svelte.d.ts +0 -11
  83. package/dist/components/layouts/TwoColumnsLayout.svelte +0 -44
  84. package/dist/components/layouts/TwoColumnsLayout.svelte.d.ts +0 -13
  85. package/dist/components/layouts/menuLayout.d.ts +0 -12
  86. package/dist/components/layouts/menuLayout.js +0 -1
  87. package/dist/components/layouts/tabs.d.ts +0 -21
  88. package/dist/components/layouts/tabs.js +0 -13
  89. package/dist/components/menu/CollapsibleMenu.svelte +0 -66
  90. package/dist/components/menu/CollapsibleMenu.svelte.d.ts +0 -18
  91. package/dist/components/menu/DynamicMenu.svelte +0 -55
  92. package/dist/components/menu/DynamicMenu.svelte.d.ts +0 -13
  93. package/dist/components/menu/HamburgerMenu.svelte +0 -62
  94. package/dist/components/menu/HamburgerMenu.svelte.d.ts +0 -14
  95. package/dist/components/menu/ListMenu.svelte +0 -61
  96. package/dist/components/menu/ListMenu.svelte.d.ts +0 -17
  97. package/dist/components/menu/NavigationDrawer.svelte +0 -53
  98. package/dist/components/menu/NavigationDrawer.svelte.d.ts +0 -18
  99. package/dist/components/menu/types.d.ts +0 -23
  100. package/dist/components/menu/types.js +0 -35
  101. package/dist/components/presentation/Accordion.svelte +0 -82
  102. package/dist/components/presentation/Accordion.svelte.d.ts +0 -11
  103. package/dist/components/presentation/Card.svelte +0 -147
  104. package/dist/components/presentation/Card.svelte.d.ts +0 -15
  105. package/dist/components/presentation/Carousel.d.ts +0 -5
  106. package/dist/components/presentation/Carousel.js +0 -1
  107. package/dist/components/presentation/Carousel.svelte +0 -119
  108. package/dist/components/presentation/Carousel.svelte.d.ts +0 -17
  109. package/dist/components/presentation/Dialog.svelte +0 -75
  110. package/dist/components/presentation/Dialog.svelte.d.ts +0 -22
  111. package/dist/components/presentation/Disclose.svelte +0 -116
  112. package/dist/components/presentation/Disclose.svelte.d.ts +0 -11
  113. package/dist/components/presentation/Drawer.svelte +0 -118
  114. package/dist/components/presentation/Drawer.svelte.d.ts +0 -13
  115. package/dist/components/presentation/EmptyState.svelte +0 -67
  116. package/dist/components/presentation/EmptyState.svelte.d.ts +0 -10
  117. package/dist/components/presentation/Gallery.svelte +0 -35
  118. package/dist/components/presentation/Gallery.svelte.d.ts +0 -14
  119. package/dist/components/presentation/Link.svelte +0 -362
  120. package/dist/components/presentation/Link.svelte.d.ts +0 -27
  121. package/dist/components/utils.d.ts +0 -3
  122. package/dist/components/utils.js +0 -1
  123. package/dist/index.server.d.ts +0 -11
  124. package/dist/index.server.js +0 -10
  125. package/dist/server-side/getRedirectPipeline.d.ts +0 -6
  126. package/dist/utils.d.ts +0 -1
  127. package/dist/utils.js +0 -3
@@ -1,8 +1,17 @@
1
1
  export declare enum FieldType {
2
2
  Input = "input",
3
+ NumberInput = "number-input",
4
+ FloatInput = "float-input",
5
+ PhoneInput = "phone",
3
6
  Textarea = "textarea",
4
7
  Radio = "radio",
5
- Checkbox = "checkbox"
8
+ Checkbox = "checkbox",
9
+ Range = "range",
10
+ Select = "select",
11
+ MultiSelect = "multi-select",
12
+ TimePicker = "time-picker",
13
+ Toggle = "toggle",
14
+ File = "file"
6
15
  }
7
16
  export declare enum InputType {
8
17
  Text = "text",
@@ -20,26 +29,87 @@ export declare enum InputType {
20
29
  Color = "color",
21
30
  Textarea = "textarea"
22
31
  }
23
- export declare enum LabelSize {
24
- Small = "small",
25
- Large = "large",
26
- None = ""
27
- }
28
- export interface Field {
29
- name: string;
30
- label?: string;
31
- type: FieldType;
32
- subType?: InputType;
33
- isRequired?: boolean;
32
+ export type FieldDef = {
33
+ id: string;
34
+ label: string;
35
+ class?: string;
36
+ labelClass?: string;
37
+ typeOfField: "input" | "textarea" | "select" | "collection" | "phoneInput" | "file" | "timepicker";
38
+ disabled?: boolean;
39
+ readonly?: boolean;
40
+ required?: boolean;
41
+ clearable?: boolean;
42
+ value: any;
43
+ };
44
+ export type InputField = FieldDef & {
45
+ size: "md" | "sm" | "lg";
46
+ icon?: string;
47
+ addon?: boolean;
34
48
  placeholder?: string;
35
- options?: Array<{
36
- label: string;
37
- value: string;
38
- checked?: boolean;
49
+ type: InputType;
50
+ isFloat?: boolean;
51
+ floatVariant: "filled" | "outlined" | "standard";
52
+ typeOfField: "input";
53
+ };
54
+ export type TextareaField = FieldDef & {
55
+ rows: number;
56
+ cols: number;
57
+ placeholder?: string;
58
+ typeOfField: "textarea";
59
+ };
60
+ export type FilePickerField = FieldDef & {
61
+ typeOfField: "file";
62
+ size: "md" | "sm" | "lg";
63
+ };
64
+ export type CollectionField = FieldDef & {
65
+ items: Array<{
66
+ name: string;
67
+ checked: boolean;
39
68
  }>;
69
+ groupName: string;
70
+ type: "checkbox" | "radio" | "toggle";
71
+ typeOfField: "collection";
40
72
  checked?: boolean;
41
- }
73
+ };
74
+ export type SelectField = FieldDef & {
75
+ options: Array<{
76
+ value: string;
77
+ label: string;
78
+ }>;
79
+ type: "single" | "multiple";
80
+ typeOfField: "select";
81
+ };
82
+ export type TimePickerField = FieldDef & {
83
+ typeOfField: "timepicker";
84
+ size: "md" | "sm" | "lg";
85
+ };
86
+ export type PhoneInputField = FieldDef & {
87
+ typeOfField: "phoneInput";
88
+ size: "md" | "sm" | "lg";
89
+ placeholder?: string;
90
+ };
91
+ export type Field = InputField | TextareaField | CollectionField | SelectField | FilePickerField | TimePickerField | PhoneInputField;
42
92
  export declare enum SubmitResult {
43
93
  Success = "success",
44
94
  Error = "error"
45
95
  }
96
+ export declare function createInputField(id: string, label: string, type?: InputType, value?: any, options?: Partial<Omit<InputField, "id" | "label" | "typeOfField" | "type">>): InputField;
97
+ export declare function createTextareaField(id: string, label: string, value?: any, rows?: number, cols?: number, options?: Partial<Omit<TextareaField, "id" | "label" | "typeOfField" | "rows" | "cols">>): TextareaField;
98
+ export declare function createFilePickerField(id: string, label: string, value?: any, options?: Partial<Omit<FilePickerField, "id" | "label" | "typeOfField">>): FilePickerField;
99
+ export declare function createCollectionField(id: string, label: string, items: Array<{
100
+ name: string;
101
+ checked: boolean;
102
+ }>, groupName: string, type?: "checkbox" | "radio" | "toggle", value?: any, options?: Partial<Omit<CollectionField, "id" | "label" | "typeOfField" | "items" | "groupName" | "type">>): CollectionField;
103
+ export declare function createSelectField(id: string, label: string, selectOptions: Array<{
104
+ value: string;
105
+ label: string;
106
+ }>, type?: "single" | "multiple", value?: any, options?: Partial<Omit<SelectField, "id" | "label" | "typeOfField" | "options" | "type">>): SelectField;
107
+ export declare function createTimePickerField(id: string, label: string, value?: any, options?: Partial<Omit<TimePickerField, "id" | "label" | "typeOfField">>): TimePickerField;
108
+ export declare function createPhoneInputField(id: string, label: string, value?: any, options?: Partial<Omit<PhoneInputField, "id" | "label" | "typeOfField">>): PhoneInputField;
109
+ export type ButtonConfig = {
110
+ label: string;
111
+ type: "submit" | "reset" | "button";
112
+ color?: "primary" | "dark" | "alternative" | "light" | "secondary" | "gray" | "red" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue" | "indigo" | "purple" | "pink" | "rose";
113
+ class?: string;
114
+ action?: (event: Event) => Promise<void>;
115
+ };
@@ -1,9 +1,18 @@
1
1
  export var FieldType;
2
2
  (function (FieldType) {
3
3
  FieldType["Input"] = "input";
4
+ FieldType["NumberInput"] = "number-input";
5
+ FieldType["FloatInput"] = "float-input";
6
+ FieldType["PhoneInput"] = "phone";
4
7
  FieldType["Textarea"] = "textarea";
5
8
  FieldType["Radio"] = "radio";
6
9
  FieldType["Checkbox"] = "checkbox";
10
+ FieldType["Range"] = "range";
11
+ FieldType["Select"] = "select";
12
+ FieldType["MultiSelect"] = "multi-select";
13
+ FieldType["TimePicker"] = "time-picker";
14
+ FieldType["Toggle"] = "toggle";
15
+ FieldType["File"] = "file";
7
16
  })(FieldType || (FieldType = {}));
8
17
  export var InputType;
9
18
  (function (InputType) {
@@ -22,14 +31,85 @@ export var InputType;
22
31
  InputType["Color"] = "color";
23
32
  InputType["Textarea"] = "textarea";
24
33
  })(InputType || (InputType = {}));
25
- export var LabelSize;
26
- (function (LabelSize) {
27
- LabelSize["Small"] = "small";
28
- LabelSize["Large"] = "large";
29
- LabelSize["None"] = "";
30
- })(LabelSize || (LabelSize = {}));
31
34
  export var SubmitResult;
32
35
  (function (SubmitResult) {
33
36
  SubmitResult["Success"] = "success";
34
37
  SubmitResult["Error"] = "error";
35
38
  })(SubmitResult || (SubmitResult = {}));
39
+ // Field initializer functions
40
+ export function createInputField(id, label, type = InputType.Text, value = "", options = {}) {
41
+ return {
42
+ id,
43
+ label,
44
+ type,
45
+ value,
46
+ typeOfField: "input",
47
+ size: options.size || "md",
48
+ floatVariant: options.floatVariant || "outlined",
49
+ ...options
50
+ };
51
+ }
52
+ export function createTextareaField(id, label, value = "", rows = 3, cols = 30, options = {}) {
53
+ return {
54
+ id,
55
+ label,
56
+ value,
57
+ rows,
58
+ cols,
59
+ typeOfField: "textarea",
60
+ ...options
61
+ };
62
+ }
63
+ export function createFilePickerField(id, label, value = null, options = {}) {
64
+ return {
65
+ id,
66
+ label,
67
+ value,
68
+ typeOfField: "file",
69
+ size: options.size || "md",
70
+ ...options
71
+ };
72
+ }
73
+ export function createCollectionField(id, label, items, groupName, type = "checkbox", value = [], options = {}) {
74
+ return {
75
+ id,
76
+ label,
77
+ value,
78
+ items,
79
+ groupName,
80
+ type,
81
+ typeOfField: "collection",
82
+ ...options
83
+ };
84
+ }
85
+ export function createSelectField(id, label, selectOptions, type = "single", value = type === "single" ? "" : [], options = {}) {
86
+ return {
87
+ id,
88
+ label,
89
+ value,
90
+ options: selectOptions,
91
+ type,
92
+ typeOfField: "select",
93
+ ...options
94
+ };
95
+ }
96
+ export function createTimePickerField(id, label, value = "", options = {}) {
97
+ return {
98
+ id,
99
+ label,
100
+ value,
101
+ typeOfField: "timepicker",
102
+ size: options.size || "md",
103
+ ...options
104
+ };
105
+ }
106
+ export function createPhoneInputField(id, label, value = "", options = {}) {
107
+ return {
108
+ id,
109
+ label,
110
+ value,
111
+ typeOfField: "phone",
112
+ size: options.size || "md",
113
+ ...options
114
+ };
115
+ }