gd-bs 6.6.90 → 6.6.92

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 (60) hide show
  1. package/build/bs.js +1 -1
  2. package/build/components/alert/index.js +2 -2
  3. package/build/components/button/index.js +13 -3
  4. package/build/components/custom-element.js +529 -0
  5. package/build/components/dropdown/index.js +30 -32
  6. package/build/components/floating-ui/index.js +375 -0
  7. package/build/components/index.js +4 -0
  8. package/build/components/modal/index.js +8 -2
  9. package/build/components/nav/index.js +7 -7
  10. package/build/components/nav/templates.js +1 -1
  11. package/build/components/popover/index.js +37 -201
  12. package/build/components/tooltip/index.js +40 -117
  13. package/build/custom-elements.js +46 -0
  14. package/build/index-icons.js +5 -5
  15. package/build/index.js +5 -5
  16. package/build/render.js +581 -0
  17. package/dev.html +229 -0
  18. package/dist/gd-bs-icons.js +1 -1
  19. package/dist/gd-bs-icons.js.LICENSE.txt +20 -216
  20. package/dist/gd-bs-icons.min.js +1 -1
  21. package/dist/gd-bs.d.ts +113 -150
  22. package/dist/gd-bs.js +1 -1
  23. package/dist/gd-bs.js.LICENSE.txt +20 -216
  24. package/dist/gd-bs.min.js +1 -1
  25. package/index.html +9 -3
  26. package/indexv2.html +572 -0
  27. package/package.json +5 -5
  28. package/pre-build.js +7 -0
  29. package/src/bs.scss +2 -2
  30. package/src/components/alert/index.ts +3 -3
  31. package/src/components/button/index.ts +12 -3
  32. package/src/components/custom-element.ts +532 -0
  33. package/src/components/dropdown/index.ts +30 -36
  34. package/src/components/dropdown/types.d.ts +4 -4
  35. package/src/components/floating-ui/index.ts +392 -0
  36. package/src/components/floating-ui/types.d.ts +73 -0
  37. package/src/components/form/controlTypes.d.ts +3 -3
  38. package/src/components/index.ts +6 -1
  39. package/src/components/modal/index.ts +10 -4
  40. package/src/components/modal/types.d.ts +3 -2
  41. package/src/components/nav/index.ts +7 -7
  42. package/src/components/nav/templates.ts +1 -1
  43. package/src/components/nav/types.d.ts +1 -0
  44. package/src/components/navbar/types.d.ts +2 -2
  45. package/src/components/popover/index.ts +39 -205
  46. package/src/components/popover/types.d.ts +12 -45
  47. package/src/components/tooltip/index.ts +33 -110
  48. package/src/components/tooltip/types.d.ts +9 -45
  49. package/src/components/tooltipGroup/types.d.ts +3 -2
  50. package/src/components/types.d.ts +0 -47
  51. package/src/custom-elements.js +46 -0
  52. package/src/index-icons.d.ts +1 -3
  53. package/src/index-icons.ts +4 -4
  54. package/src/index.d.ts +2 -2
  55. package/src/index.ts +4 -4
  56. package/src/render.ts +583 -0
  57. package/src/styles/_core.scss +0 -2
  58. package/src/styles/_custom.scss +3 -8
  59. package/src/styles/_floating-ui.scss +275 -0
  60. package/src/styles/_tippy.scss +0 -249
package/dist/gd-bs.d.ts CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  declare module 'gd-bs' {
4
4
  import * as Components from "gd-bs/components/components";
5
- var tippy: Function;
5
+ var render: (el: HTMLElement) => void;
6
6
 
7
7
  export {
8
- Components, tippy
8
+ Components, render
9
9
  }
10
10
  }
11
11
 
@@ -1020,12 +1020,12 @@ declare module 'gd-bs/components/dropdown/types' {
1020
1020
 
1021
1021
  import { IBaseProps } from "gd-bs/components/types";
1022
1022
  import { IButtonTypes } from "gd-bs/components/button/types";
1023
- import { IPopover, IPopoverProps, IPopoverPlacements } from "gd-bs/components/popover/types";
1023
+ import { IFloatingUI, IFloatingUIProps, IFloatingUIPlacements } from "gd-bs/components/floating-ui/types";
1024
1024
 
1025
1025
  /**
1026
1026
  * Dropdown Placements
1027
1027
  */
1028
- export const DropdownPlacements: IPopoverPlacements;
1028
+ export const DropdownPlacements: IFloatingUIPlacements;
1029
1029
 
1030
1030
  /**
1031
1031
  * Dropdown Types
@@ -1055,7 +1055,7 @@ declare module 'gd-bs/components/dropdown/types' {
1055
1055
  isMulti: boolean;
1056
1056
 
1057
1057
  /** The popover menu. */
1058
- popover: IPopover;
1058
+ floatingUI: IFloatingUI;
1059
1059
 
1060
1060
  /** Updates the dropdown items. */
1061
1061
  setItems: (items: Array<IDropdownItem>) => void;
@@ -1124,7 +1124,7 @@ declare module 'gd-bs/components/dropdown/types' {
1124
1124
  multi?: boolean;
1125
1125
  navFl?: boolean;
1126
1126
  onChange?: (item?: IDropdownItem | Array<IDropdownItem>, ev?: Event) => void;
1127
- onMenuRendering?: (props: IPopoverProps) => IPopoverProps;
1127
+ onMenuRendering?: (props: IFloatingUIProps) => IFloatingUIProps;
1128
1128
  placement?: number;
1129
1129
  required?: boolean;
1130
1130
  title?: string;
@@ -1146,7 +1146,7 @@ declare module 'gd-bs/components/form/controlTypes' {
1146
1146
  import { IDropdown, IDropdownItem, IDropdownProps } from "gd-bs/components/dropdown/types";
1147
1147
  import { IInputGroup } from "gd-bs/components/inputGroup/types";
1148
1148
  import { IListBox } from "gd-bs/components/listBox/types";
1149
- import { IPopoverProps } from "gd-bs/components/popover/types";
1149
+ import { IFloatingUIProps } from "gd-bs/components/floating-ui/types";
1150
1150
 
1151
1151
  /**
1152
1152
  * Custom Controls
@@ -1236,7 +1236,7 @@ declare module 'gd-bs/components/form/controlTypes' {
1236
1236
  onChange?: (item: IDropdownItem, ev?: Event) => void;
1237
1237
  onControlRendering?: (control: IFormControlPropsDropdown) => void | PromiseLike<IFormControlPropsDropdown>;
1238
1238
  onGetValue?: (control: IFormControlPropsDropdown) => any;
1239
- onMenuRendering?: (props: IPopoverProps) => IPopoverProps;
1239
+ onMenuRendering?: (props: IFloatingUIProps) => IFloatingUIProps;
1240
1240
  onValidate?: (control: IFormControlPropsDropdown, results: IFormControlValidationResult<IDropdownItem>) => boolean | IFormControlValidationResult<IDropdownItem>;
1241
1241
  }
1242
1242
 
@@ -1289,7 +1289,7 @@ declare module 'gd-bs/components/form/controlTypes' {
1289
1289
  onChange?: (item: Array<IDropdownItem>, ev?: Event) => void;
1290
1290
  onControlRendering?: (control: IFormControlPropsDropdown) => void | PromiseLike<IFormControlPropsDropdown>;
1291
1291
  onGetValue?: (control: IFormControlPropsDropdown) => any;
1292
- onMenuRendering?: (props: IPopoverProps) => IPopoverProps;
1292
+ onMenuRendering?: (props: IFloatingUIProps) => IFloatingUIProps;
1293
1293
  onValidate?: (control: IFormControlPropsDropdown, results: IFormControlValidationResult<Array<IDropdownItem>>) => boolean | IFormControlValidationResult<Array<IDropdownItem>>;
1294
1294
  }
1295
1295
 
@@ -1939,7 +1939,7 @@ declare module 'gd-bs/components/modal/types' {
1939
1939
  /**
1940
1940
  * Modal
1941
1941
  */
1942
- export interface IModal {
1942
+ export interface IModal<T = HTMLElement> {
1943
1943
  /** The element. */
1944
1944
  el: HTMLElement;
1945
1945
 
@@ -1971,7 +1971,7 @@ declare module 'gd-bs/components/modal/types' {
1971
1971
  setScrollable: (value: boolean) => void;
1972
1972
 
1973
1973
  /** Updates the title. */
1974
- setTitle: (title: string) => void;
1974
+ setTitle: (title: string | T) => void;
1975
1975
 
1976
1976
  /** Updates the type. */
1977
1977
  setType: (modalType: number) => void;
@@ -2016,6 +2016,7 @@ declare module 'gd-bs/components/modal/types' {
2016
2016
  body?: string | T;
2017
2017
  disableFade?: boolean;
2018
2018
  footer?: string | T;
2019
+ header?: string | T;
2019
2020
  hideCloseButton?: boolean;
2020
2021
  id?: string;
2021
2022
  onClose?: (el: HTMLDivElement) => void;
@@ -2111,6 +2112,7 @@ declare module 'gd-bs/components/nav/types' {
2111
2112
  isTabs?: boolean;
2112
2113
  isUnderline?: boolean;
2113
2114
  isVertical?: boolean;
2115
+ menuOnly?: boolean;
2114
2116
  onClick?: (newTab?: INavLink, prevTab?: INavLink) => void;
2115
2117
  onLinkRendered?: (el?: HTMLElement, item?: INavLinkProps) => void;
2116
2118
  onRendered?: (el?: HTMLElement) => void;
@@ -2203,7 +2205,7 @@ declare module 'gd-bs/components/navbar/types' {
2203
2205
 
2204
2206
  import { IBaseProps } from "gd-bs/components/types";
2205
2207
  import { IDropdownItem } from "gd-bs/components/dropdown/types";
2206
- import { IPopoverProps } from "gd-bs/components/popover/types";
2208
+ import { IFloatingUIProps } from "gd-bs/components/floating-ui/types";
2207
2209
 
2208
2210
  /**
2209
2211
  * Navbar
@@ -2241,7 +2243,7 @@ declare module 'gd-bs/components/navbar/types' {
2241
2243
  isDisabled?: boolean;
2242
2244
  items?: Array<IDropdownItem>;
2243
2245
  onClick?: (item?: INavbarItem, ev?: Event) => void;
2244
- onMenuRendering?: (props: IPopoverProps) => IPopoverProps;
2246
+ onMenuRendering?: (props: IFloatingUIProps) => IFloatingUIProps;
2245
2247
  onRender?: (el?: HTMLElement, item?: INavbarItem) => void;
2246
2248
  target?: string;
2247
2249
  text?: string;
@@ -2534,15 +2536,16 @@ declare module 'gd-bs/components/popover/types' {
2534
2536
  /**
2535
2537
  * Popover Placements
2536
2538
  */
2537
- export const PopoverPlacements: IPopoverPlacements;
2539
+ export const PopoverPlacements: IFloatingUIPlacements;
2538
2540
 
2539
2541
  /**
2540
2542
  * Popover Types
2541
2543
  */
2542
- export const PopoverTypes: IPopoverTypes;
2544
+ export const PopoverTypes: IFloatingUITypes;
2543
2545
 
2544
- import { IBaseProps, ITippyProps } from "gd-bs/components/types";
2546
+ import { IBaseProps } from "gd-bs/components/types";
2545
2547
  import { IButtonProps } from "gd-bs/components/button/types";
2548
+ import { IFloatingUIOptions, IFloatingUIPlacements, IFloatingUITypes } from "gd-bs/components/floating-ui/types";
2546
2549
 
2547
2550
  /**
2548
2551
  * Popover
@@ -2551,8 +2554,8 @@ declare module 'gd-bs/components/popover/types' {
2551
2554
  /** The element. */
2552
2555
  el: HTMLElement;
2553
2556
 
2554
- /** The tippy instance. */
2555
- tippy: any;
2557
+ /** The floating ui instance. */
2558
+ floatingUI: any;
2556
2559
 
2557
2560
  /** Enables the popover. */
2558
2561
  enable: () => void;
@@ -2560,13 +2563,16 @@ declare module 'gd-bs/components/popover/types' {
2560
2563
  /** Hides an element’s popover. */
2561
2564
  hide: () => void;
2562
2565
 
2566
+ /** True if the popover is visible, false otherwise. */
2567
+ isVisible: boolean;
2568
+
2563
2569
  /** Toggles an element's popover. */
2564
2570
  toggle: () => void;
2565
2571
 
2566
2572
  /** Sets the body element of the popover. */
2567
2573
  setBody: (content: string | Element) => void;
2568
2574
 
2569
- /** Sets the tippy content. */
2575
+ /** Sets the floating ui content. */
2570
2576
  setContent: (content: string | Element) => void;
2571
2577
 
2572
2578
  /** Sets the header element of the popover. */
@@ -2584,50 +2590,13 @@ declare module 'gd-bs/components/popover/types' {
2584
2590
  classNameBody?: string;
2585
2591
  classNameHeader?: string;
2586
2592
  isDismissible?: boolean;
2587
- options?: ITippyProps;
2593
+ options?: IFloatingUIOptions;
2588
2594
  placement?: number;
2595
+ show?: boolean;
2589
2596
  target?: HTMLElement,
2590
2597
  title?: string;
2591
2598
  type?: number;
2592
2599
  }
2593
-
2594
- /**
2595
- * Popover Types
2596
- */
2597
- export type IPopoverTypes = {
2598
- Danger: number;
2599
- Dark: number;
2600
- Info: number;
2601
- Light: number;
2602
- LightBorder: number;
2603
- Material: number;
2604
- Primary: number;
2605
- Secondary: number;
2606
- Success: number;
2607
- Translucent: number;
2608
- Warning: number;
2609
- }
2610
-
2611
- /**
2612
- * Popover Placements
2613
- */
2614
- export type IPopoverPlacements = {
2615
- Auto: number;
2616
- AutoStart: number;
2617
- AutoEnd: number;
2618
- Bottom: number;
2619
- BottomStart: number;
2620
- BottomEnd: number;
2621
- Left: number;
2622
- LeftStart: number;
2623
- LeftEnd: number;
2624
- Right: number;
2625
- RightStart: number;
2626
- RightEnd: number;
2627
- Top: number;
2628
- TopStart: number;
2629
- TopEnd: number;
2630
- }
2631
2600
  }
2632
2601
 
2633
2602
  declare module 'gd-bs/components/progress/types' {
@@ -3043,16 +3012,17 @@ declare module 'gd-bs/components/tooltip/types' {
3043
3012
  /**
3044
3013
  * Tooltip Placements
3045
3014
  */
3046
- export const TooltipPlacements: ITooltipPlacements;
3015
+ export const TooltipPlacements: IFloatingUIPlacements;
3047
3016
 
3048
3017
  /**
3049
3018
  * Tooltip Types
3050
3019
  */
3051
- export const TooltipTypes: ITooltipTypes;
3020
+ export const TooltipTypes: IFloatingUITypes;
3052
3021
 
3053
- import { IBaseProps, ITippyProps } from "gd-bs/components/types";
3022
+ import { IBaseProps } from "gd-bs/components/types";
3054
3023
  import { IButtonProps, IButton } from "gd-bs/components/button/types";
3055
3024
  import { IDropdownProps, IDropdown } from "gd-bs/components/dropdown/types";
3025
+ import { IFloatingUIOptions, IFloatingUIPlacements, IFloatingUITypes } from "gd-bs/components/floating-ui/types";
3056
3026
 
3057
3027
  /**
3058
3028
  * Tooltip
@@ -3073,13 +3043,13 @@ declare module 'gd-bs/components/tooltip/types' {
3073
3043
  /** Reference to the dropdown. */
3074
3044
  ddl?: IDropdown;
3075
3045
 
3076
- /** The tippy instance. */
3077
- tippy: any;
3046
+ /** The floating ui instance. */
3047
+ floatingUI: any;
3078
3048
 
3079
3049
  /** Toggles an element's tooltip. */
3080
3050
  toggle: () => void;
3081
3051
 
3082
- /** Sets the tippy content. */
3052
+ /** Sets the floating ui content. */
3083
3053
  setContent: (content: string | Element) => void;
3084
3054
 
3085
3055
  /** Reveals an element’s tooltip. */
@@ -3093,49 +3063,12 @@ declare module 'gd-bs/components/tooltip/types' {
3093
3063
  btnProps?: IButtonProps;
3094
3064
  ddlProps?: IDropdownProps;
3095
3065
  content?: string | Element;
3096
- options?: ITippyProps;
3066
+ options?: IFloatingUIOptions;
3097
3067
  placement?: number;
3068
+ show?: boolean;
3098
3069
  target?: HTMLElement;
3099
3070
  type?: number;
3100
3071
  }
3101
-
3102
- /**
3103
- * Tooltip Types
3104
- */
3105
- export type ITooltipTypes = {
3106
- Danger: number;
3107
- Dark: number;
3108
- Info: number;
3109
- Light: number;
3110
- LightBorder: number;
3111
- Material: number;
3112
- Primary: number;
3113
- Secondary: number;
3114
- Success: number;
3115
- Translucent: number;
3116
- Warning: number;
3117
- }
3118
-
3119
- /**
3120
- * Tooltip Placements
3121
- */
3122
- export type ITooltipPlacements = {
3123
- Auto: number;
3124
- AutoStart: number;
3125
- AutoEnd: number;
3126
- Bottom: number;
3127
- BottomStart: number;
3128
- BottomEnd: number;
3129
- Left: number;
3130
- LeftStart: number;
3131
- LeftEnd: number;
3132
- Right: number;
3133
- RightStart: number;
3134
- RightEnd: number;
3135
- Top: number;
3136
- TopStart: number;
3137
- TopEnd: number;
3138
- }
3139
3072
  }
3140
3073
 
3141
3074
  declare module 'gd-bs/components/tooltipGroup/types' {
@@ -3161,8 +3094,9 @@ declare module 'gd-bs/components/tooltipGroup/types' {
3161
3094
  */
3162
3095
  export const TooltipGroup: (props: ITooltipGroupProps, template?: string, btnTemplate?: string) => ITooltipGroup;
3163
3096
 
3164
- import { IBaseProps, ITippyProps } from "gd-bs/components/types";
3097
+ import { IBaseProps } from "gd-bs/components/types";
3165
3098
  import { ITooltip, ITooltipProps } from "gd-bs/components/tooltip/types";
3099
+ import { IFloatingUIOptions } from "gd-bs/components/floating-ui/types";
3166
3100
 
3167
3101
  /**
3168
3102
  * Tooltip Group
@@ -3195,7 +3129,7 @@ declare module 'gd-bs/components/tooltipGroup/types' {
3195
3129
  isSmall?: boolean;
3196
3130
  isVertical?: boolean;
3197
3131
  label?: string;
3198
- tooltipOptions?: ITippyProps;
3132
+ tooltipOptions?: IFloatingUIOptions;
3199
3133
  tooltipPlacement?: number;
3200
3134
  tooltipType?: number;
3201
3135
  }
@@ -3235,52 +3169,81 @@ declare module 'gd-bs/components/types' {
3235
3169
  /** The element to render the component to. */
3236
3170
  el?: HTMLElement;
3237
3171
  }
3172
+ }
3173
+
3174
+ declare module 'gd-bs/components/floating-ui/types' {
3175
+ export const FloatingUI: (props: IFloatingUIProps) => IFloatingUI;
3176
+
3177
+ import { IBaseProps } from "gd-bs/components/types";
3178
+
3179
+ export const FloatingUIPlacements: IFloatingUIPlacements;
3180
+
3181
+ export interface IFloatingUI {
3182
+ hide: () => void;
3183
+ isVisible: boolean;
3184
+ setContent: (el: string | Element) => void;
3185
+ show: () => void;
3186
+ toggle: () => void;
3187
+ }
3238
3188
 
3239
- /** Tippy Options */
3240
- export interface ITippyProps {
3241
- allowHTML?: boolean;
3242
- animateFill?: boolean;
3243
- animation?: string | boolean;
3244
- appendTo?: HTMLElement;
3245
- aria?: object;
3246
- arrow?: boolean | string | SVGElement | DocumentFragment;
3247
- content?: string | Element;
3248
- delay?: number | [number | null, number | null];
3249
- duration?: number | [number | null, number | null];
3250
- followCursor?: boolean | 'horizontal' | 'vertical' | 'initial';
3251
- hideOnClick?: boolean | 'toggle';
3252
- ignoreAttributes?: boolean;
3253
- inertia?: boolean;
3254
- inlinePositioning?: boolean;
3255
- interactive?: boolean;
3256
- interactiveBorder?: number;
3257
- interactiveDebounce?: number;
3258
- maxWidth?: number | string;
3259
- moveTransition?: string;
3260
- offset?: number[];
3261
- onAfterUpdate?: (tippyObj?, props?) => void;
3262
- onBeforeUpdate?: (tippyObj?, props?) => void;
3263
- onClickOutside?: (tippyObj?, ev?) => void;
3264
- onCreate?: (tippyObj?) => void;
3265
- onDestroy?: (tippyObj?) => void;
3266
- onHidden?: (tippyObj?) => void;
3267
- onHide?: (tippyObj?) => void;
3268
- onMount?: (tippyObj?) => void;
3269
- onShow?: (tippyObj?) => void;
3270
- onShown?: (tippyObj?) => void;
3271
- onTrigger?: (tippyObj?, ev?) => void;
3272
- onUntrigger?: (tippyObj?, ev?) => void;
3273
- placement?: string;
3274
- plugins?: any[];
3275
- popperOptions?: object;
3276
- role?: string;
3277
- showOnCreate?: boolean;
3278
- sticky?: boolean | 'reference' | 'popper';
3279
- theme?: string;
3280
- touch?: boolean | 'hold' | ['hold', number];
3281
- trigger?: string;
3282
- triggerTarget?: HTMLElement | HTMLElement[] | null;
3283
- zIndex?: number;
3189
+ export interface IFloatingUIOptions {
3190
+ arrow?: boolean;
3191
+ autoPlacement?: boolean | any;
3192
+ className?: string;
3193
+ content?: string;
3194
+ flip?: boolean | any;
3195
+ hide?: boolean | any;
3196
+ inline?: boolean | any;
3197
+ offset?: number | any;
3198
+ shift?: boolean | any;
3199
+ size?: boolean | any;
3200
+ trigger?: 'click' | 'focus' | 'mouse';
3201
+ }
3202
+
3203
+ export interface IFloatingUIProps extends IBaseProps<IFloatingUI> {
3204
+ elContent: HTMLElement;
3205
+ elTarget: HTMLElement;
3206
+ options?: IFloatingUIOptions;
3207
+ placement?: number;
3208
+ show?: boolean;
3209
+ theme?: number;
3210
+ }
3211
+
3212
+ /**
3213
+ * Floating UI Placements
3214
+ */
3215
+ export type IFloatingUIPlacements = {
3216
+ Auto: number;
3217
+ AutoStart: number;
3218
+ AutoEnd: number;
3219
+ Bottom: number;
3220
+ BottomStart: number;
3221
+ BottomEnd: number;
3222
+ Left: number;
3223
+ LeftStart: number;
3224
+ LeftEnd: number;
3225
+ Right: number;
3226
+ RightStart: number;
3227
+ RightEnd: number;
3228
+ Top: number;
3229
+ TopStart: number;
3230
+ TopEnd: number;
3231
+ }
3232
+ /**
3233
+ * Floating UI
3234
+ */
3235
+ export type IFloatingUITypes = {
3236
+ Danger: number;
3237
+ Dark: number;
3238
+ Info: number;
3239
+ Light: number;
3240
+ LightBorder: number;
3241
+ Material: number;
3242
+ Primary: number;
3243
+ Secondary: number;
3244
+ Success: number;
3245
+ Translucent: number;
3246
+ Warning: number;
3284
3247
  }
3285
3248
  }
3286
3249