@thebase/ui 1.1.7 → 1.2.1

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 (56) hide show
  1. package/CHANGELOG.md +70 -1
  2. package/README.md +22 -4
  3. package/bin/create-baseui-app.mjs +28 -2
  4. package/dist/baseui.apidoc.esm.js +64 -64
  5. package/dist/baseui.apidoc.min.js +64 -64
  6. package/dist/baseui.esm.js +42 -61
  7. package/dist/baseui.i18n.esm.js +2 -0
  8. package/dist/baseui.i18n.min.js +2 -0
  9. package/dist/baseui.icons.esm.js +1 -1
  10. package/dist/baseui.min.css +2 -2
  11. package/dist/baseui.min.js +61 -61
  12. package/dist/baseui.pwa.esm.js +71 -9
  13. package/dist/baseui.registry.json +13 -9
  14. package/dist/baseui.templates.xml +311 -311
  15. package/dist/baseui.vite.esm.js +116 -0
  16. package/dist/runtime/lazy/apidoc.logic.js +20 -0
  17. package/dist/runtime/milkdown/milkdown-editor.js +1 -1
  18. package/dist/runtime/milkdown/milkdown-text-editor.js +1 -1
  19. package/dist/themes/baseui-dark.css +80 -1
  20. package/dist/themes/baseui-dark.min.css +1 -0
  21. package/dist/themes/baseui-light.css +81 -1
  22. package/dist/themes/baseui-light.min.css +1 -0
  23. package/dist/types/i18n.d.ts +25 -0
  24. package/dist/types/index.d.ts +2 -0
  25. package/dist/types/pwa.d.ts +1 -45
  26. package/dist/types/vite.d.ts +4 -0
  27. package/docs/analytics.md +3 -3
  28. package/docs/base-ui-skill.md +54 -0
  29. package/docs/blocks.md +1 -1
  30. package/docs/components/accordion.md +4 -4
  31. package/docs/components/apidoc.md +1 -1
  32. package/docs/components/block-viewer.md +1 -1
  33. package/docs/components/breadcrumb.md +1 -1
  34. package/docs/components/button.md +1 -1
  35. package/docs/components/code-editor.md +1 -1
  36. package/docs/components/data-table.md +2 -2
  37. package/docs/components/dialog.md +5 -5
  38. package/docs/components/form.md +29 -29
  39. package/docs/components/input.md +1 -1
  40. package/docs/components/markdown.md +1 -1
  41. package/docs/components/pwa.md +1 -1
  42. package/docs/components/shell.md +2 -2
  43. package/docs/components/sidebar.md +16 -16
  44. package/docs/components/text-editor.md +1 -1
  45. package/docs/components/theme-button.md +1 -1
  46. package/docs/components/toast.md +10 -10
  47. package/docs/components/typography.md +21 -2
  48. package/docs/i18n.md +119 -0
  49. package/docs/icons.md +1 -1
  50. package/docs/installation.md +3 -2
  51. package/docs/owl-components.md +1 -1
  52. package/docs/registry.md +1 -0
  53. package/docs/runtime-api.md +5 -3
  54. package/docs/theming.md +33 -3
  55. package/docs/usage-guide.md +23 -6
  56. package/package.json +13 -1
@@ -11,64 +11,64 @@
11
11
  </t>
12
12
  <t t-name="AlertDialog" t-call="baseui.AlertDialog"/>
13
13
  <t t-name="baseui.AlertDialogTrigger">
14
- <Button variant="'outline'" attrs="attrs" className="'bu-alert-dialog-trigger'" style="props.style" onClick="() => this.onClick()">
14
+ <Button variant="'outline'" attrs="attrs" className="'b-alert-dialog-trigger'" style="props.style" onClick="() => this.onClick()">
15
15
  <t t-slot="default"/>
16
16
  </Button>
17
17
  </t>
18
18
  <t t-name="AlertDialogTrigger" t-call="baseui.AlertDialogTrigger"/>
19
19
  <t t-name="baseui.AlertDialogContent">
20
- <div t-if="open" data-slot="alert-dialog-overlay" class="bu-dialog-backdrop" t-ref="root" role="alertdialog" aria-modal="true" tabindex="-1" t-on-keydown="onKeyDown">
21
- <div data-slot="alert-dialog-content" t-att-data-size="size" t-att-class="'bu-dialog-panel bu-alert-dialog-panel' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
20
+ <div t-if="open" data-slot="alert-dialog-overlay" class="b-dialog-backdrop" t-ref="root" role="alertdialog" aria-modal="true" tabindex="-1" t-on-keydown="onKeyDown">
21
+ <div data-slot="alert-dialog-content" t-att-data-size="size" t-att-class="'b-dialog-panel b-alert-dialog-panel' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
22
22
  <t t-slot="default"/>
23
23
  </div>
24
24
  </div>
25
25
  </t>
26
26
  <t t-name="AlertDialogContent" t-call="baseui.AlertDialogContent"/>
27
27
  <t t-name="baseui.AlertDialogHeader">
28
- <div data-slot="alert-dialog-header" class="bu-dialog-header bu-alert-dialog-header" t-att-style="props.style">
28
+ <div data-slot="alert-dialog-header" class="b-dialog-header b-alert-dialog-header" t-att-style="props.style">
29
29
  <t t-slot="default"/>
30
30
  </div>
31
31
  </t>
32
32
  <t t-name="AlertDialogHeader" t-call="baseui.AlertDialogHeader"/>
33
33
  <t t-name="baseui.AlertDialogFooter">
34
- <div data-slot="alert-dialog-footer" class="bu-dialog-footer bu-alert-dialog-footer" t-att-style="props.style">
34
+ <div data-slot="alert-dialog-footer" class="b-dialog-footer b-alert-dialog-footer" t-att-style="props.style">
35
35
  <t t-slot="default"/>
36
36
  </div>
37
37
  </t>
38
38
  <t t-name="AlertDialogFooter" t-call="baseui.AlertDialogFooter"/>
39
39
  <t t-name="baseui.AlertDialogMedia">
40
- <div data-slot="alert-dialog-media" class="bu-alert-dialog-media" t-att-style="props.style">
40
+ <div data-slot="alert-dialog-media" class="b-alert-dialog-media" t-att-style="props.style">
41
41
  <t t-slot="default"/>
42
42
  </div>
43
43
  </t>
44
44
  <t t-name="AlertDialogMedia" t-call="baseui.AlertDialogMedia"/>
45
45
  <t t-name="baseui.AlertDialogTitle">
46
- <h2 data-slot="alert-dialog-title" class="bu-dialog-title bu-alert-dialog-title" t-att-style="props.style">
46
+ <h2 data-slot="alert-dialog-title" class="b-dialog-title b-alert-dialog-title" t-att-style="props.style">
47
47
  <t t-slot="default"/>
48
48
  </h2>
49
49
  </t>
50
50
  <t t-name="AlertDialogTitle" t-call="baseui.AlertDialogTitle"/>
51
51
  <t t-name="baseui.AlertDialogDescription">
52
- <p data-slot="alert-dialog-description" class="bu-dialog-description bu-alert-dialog-description" t-att-style="props.style">
52
+ <p data-slot="alert-dialog-description" class="b-dialog-description b-alert-dialog-description" t-att-style="props.style">
53
53
  <t t-slot="default"/>
54
54
  </p>
55
55
  </t>
56
56
  <t t-name="AlertDialogDescription" t-call="baseui.AlertDialogDescription"/>
57
57
 
58
58
  <t t-name="baseui.AlertDialogCancel">
59
- <Button variant="'outline'" attrs="attrs" className="'bu-alert-dialog-cancel'" style="props.style" onClick="() => this.onClick()">
59
+ <Button variant="'outline'" attrs="attrs" className="'b-alert-dialog-cancel'" style="props.style" onClick="() => this.onClick()">
60
60
  <t t-slot="default"/>
61
61
  </Button>
62
62
  </t>
63
63
  <t t-name="AlertDialogCancel" t-call="baseui.AlertDialogCancel"/>
64
64
  <t t-name="baseui.AlertDialogAction">
65
- <Button attrs="attrs" className="'bu-alert-dialog-action'" style="props.style" onClick="() => this.onClick()">
65
+ <Button attrs="attrs" className="'b-alert-dialog-action'" style="props.style" onClick="() => this.onClick()">
66
66
  <t t-slot="default"/>
67
67
  </Button>
68
68
  </t>
69
69
  <t t-name="AlertDialogAction" t-call="baseui.AlertDialogAction"/>
70
70
  <t t-name="baseui.alert">
71
- <div class="alert bu-alert bu-alert-default" role="alert"><t t-esc="props.message"/></div>
71
+ <div class="alert b-alert b-alert-default" role="alert"><t t-esc="props.message"/></div>
72
72
  </t>
73
73
  <t t-name="baseui.Alert">
74
74
  <div data-slot="alert" t-att-class="classNames" t-att-style="props.style" role="alert" t-ref="root">
@@ -78,15 +78,15 @@
78
78
  </t>
79
79
  <t t-name="Alert" t-call="baseui.Alert"/>
80
80
  <t t-name="baseui.AlertTitle">
81
- <div data-slot="alert-title" t-att-class="'bu-alert-title' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
81
+ <div data-slot="alert-title" t-att-class="'b-alert-title' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
82
82
  </t>
83
83
  <t t-name="AlertTitle" t-call="baseui.AlertTitle"/>
84
84
  <t t-name="baseui.AlertDescription">
85
- <div data-slot="alert-description" t-att-class="'bu-alert-description' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
85
+ <div data-slot="alert-description" t-att-class="'b-alert-description' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
86
86
  </t>
87
87
  <t t-name="AlertDescription" t-call="baseui.AlertDescription"/>
88
88
  <t t-name="baseui.AlertAction">
89
- <div data-slot="alert-action" t-att-class="'bu-alert-action' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
89
+ <div data-slot="alert-action" t-att-class="'b-alert-action' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
90
90
  </t>
91
91
  <t t-name="AlertAction" t-call="baseui.AlertAction"/>
92
92
  <t t-name="baseui.ApiDoc">
@@ -543,27 +543,27 @@
543
543
  <div b-ui="accordion"><t t-slot="default"/></div>
544
544
  </t>
545
545
  <t t-name="baseui.Accordion">
546
- <div data-slot="accordion" t-att-class="'bu-accordion' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="presentation">
546
+ <div data-slot="accordion" t-att-class="'accordion b-accordion' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="presentation">
547
547
  <t t-slot="default"/>
548
548
  </div>
549
549
  </t>
550
550
  <t t-name="Accordion" t-call="baseui.Accordion"/>
551
551
  <t t-name="baseui.AccordionItem">
552
- <div data-slot="accordion-item" class="bu-accordion-item" t-att-style="props.style"><t t-slot="default"/></div>
552
+ <div data-slot="accordion-item" class="accordion-item b-accordion-item" t-att-style="props.style"><t t-slot="default"/></div>
553
553
  </t>
554
554
  <t t-name="AccordionItem" t-call="baseui.AccordionItem"/>
555
555
  <t t-name="baseui.AccordionTrigger">
556
- <div class="bu-accordion-header" t-att-style="props.style">
557
- <Button unstyled="true" className="'bu-accordion-trigger'" attrs="triggerAttrs" onClick="() => this.onClick()">
556
+ <div class="accordion-header b-accordion-header" t-att-style="props.style">
557
+ <Button unstyled="true" className="'accordion-button b-accordion-trigger'" attrs="triggerAttrs" onClick="() => this.onClick()">
558
558
  <t t-slot="default"/>
559
- <Icon name="'chevron-down'" className="'bu-accordion-trigger-icon'"/>
559
+ <Icon name="'chevron-down'" className="'b-accordion-trigger-icon'"/>
560
560
  </Button>
561
561
  </div>
562
562
  </t>
563
563
  <t t-name="AccordionTrigger" t-call="baseui.AccordionTrigger"/>
564
564
  <t t-name="baseui.AccordionContent">
565
- <div t-ref="root" data-slot="accordion-content" t-att-class="'collapse bu-accordion-content' + (initialOpen ? ' show' : '')" t-att-style="props.style" t-att-aria-hidden="open ? undefined : 'true'">
566
- <div class="bu-accordion-content-inner"><t t-slot="default"/></div>
565
+ <div t-ref="root" data-slot="accordion-content" t-att-class="'accordion-collapse collapse b-accordion-content' + (initialOpen ? ' show' : '')" t-att-style="props.style" t-att-aria-hidden="open ? undefined : 'true'">
566
+ <div class="accordion-body b-accordion-content-inner"><t t-slot="default"/></div>
567
567
  </div>
568
568
  </t>
569
569
  <t t-name="AccordionContent" t-call="baseui.AccordionContent"/>
@@ -575,7 +575,7 @@
575
575
  </t>
576
576
  <t t-name="AspectRatio" t-call="baseui.AspectRatio"/>
577
577
  <t t-name="baseui.attachment">
578
- <div class="bu-attachment"/>
578
+ <div class="b-attachment"/>
579
579
  </t>
580
580
  <t t-name="baseui.Attachment">
581
581
  <div
@@ -594,16 +594,16 @@
594
594
  <div t-att-class="classNames" t-att-data-variant="variant" data-slot="attachment-media" t-att-style="props.style"><t t-slot="default"/></div>
595
595
  </t>
596
596
  <t t-name="baseui.AttachmentContent">
597
- <div t-att-class="'bu-attachment-content' + (props.className ? ' ' + props.className : '')" data-slot="attachment-content" t-att-style="props.style"><t t-slot="default"/></div>
597
+ <div t-att-class="'b-attachment-content' + (props.className ? ' ' + props.className : '')" data-slot="attachment-content" t-att-style="props.style"><t t-slot="default"/></div>
598
598
  </t>
599
599
  <t t-name="baseui.AttachmentTitle">
600
- <div t-att-class="'bu-attachment-title' + (props.className ? ' ' + props.className : '')" data-slot="attachment-title" t-att-style="props.style"><t t-slot="default"/></div>
600
+ <div t-att-class="'b-attachment-title' + (props.className ? ' ' + props.className : '')" data-slot="attachment-title" t-att-style="props.style"><t t-slot="default"/></div>
601
601
  </t>
602
602
  <t t-name="baseui.AttachmentDescription">
603
- <div t-att-class="'bu-attachment-description' + (props.className ? ' ' + props.className : '')" data-slot="attachment-description" t-att-style="props.style"><t t-slot="default"/></div>
603
+ <div t-att-class="'b-attachment-description' + (props.className ? ' ' + props.className : '')" data-slot="attachment-description" t-att-style="props.style"><t t-slot="default"/></div>
604
604
  </t>
605
605
  <t t-name="baseui.AttachmentActions">
606
- <div t-att-class="'bu-attachment-actions' + (props.className ? ' ' + props.className : '')" data-slot="attachment-actions" t-att-style="props.style"><t t-slot="default"/></div>
606
+ <div t-att-class="'b-attachment-actions' + (props.className ? ' ' + props.className : '')" data-slot="attachment-actions" t-att-style="props.style"><t t-slot="default"/></div>
607
607
  </t>
608
608
  <t t-name="baseui.AttachmentAction">
609
609
  <Button
@@ -655,7 +655,7 @@
655
655
  />
656
656
  <t t-if="hasContent" t-slot="default"/>
657
657
  <t t-else="">
658
- <p class="bu-attachment-dropzone-hint">Drag and drop a file here, or click to browse.</p>
658
+ <p class="b-attachment-dropzone-hint">Drag and drop a file here, or click to browse.</p>
659
659
  </t>
660
660
  </div>
661
661
  </t>
@@ -670,10 +670,10 @@
670
670
  <t t-name="AttachmentGroup" t-call="baseui.AttachmentGroup"/>
671
671
  <t t-name="AttachmentDropzone" t-call="baseui.AttachmentDropzone"/>
672
672
  <t t-name="baseui.avatar">
673
- <span class="bu-avatar"><t t-out="props.content"/></span>
673
+ <span class="b-avatar"><t t-out="props.content"/></span>
674
674
  </t>
675
675
  <t t-name="baseui.Avatar">
676
- <span t-att-class="'bu-avatar' + (props.className ? ' ' + props.className : '')" t-att-title="props.title" t-att-style="props.style">
676
+ <span t-att-class="'b-avatar' + (props.className ? ' ' + props.className : '')" t-att-title="props.title" t-att-style="props.style">
677
677
  <img t-if="showImage" t-att-src="props.src" t-att-alt="props.alt" t-on-error="onError"/>
678
678
  <t t-if="!showImage" t-slot="fallback"/>
679
679
  </span>
@@ -688,19 +688,19 @@
688
688
  <t t-name="Badge" t-call="baseui.Badge"/>
689
689
  <t t-name="baseui.BlockViewer">
690
690
  <t t-if="state.embed">
691
- <div class="bu-block-embed-root" t-ref="embedRoot"></div>
691
+ <div class="b-block-embed-root" t-ref="embedRoot"></div>
692
692
  </t>
693
693
  <t t-else="">
694
- <div class="bu-block-viewer">
694
+ <div class="b-block-viewer">
695
695
  <t t-call="baseui.BlockViewerNav"/>
696
- <div class="bu-block-viewer-shell">
697
- <header class="bu-block-viewer-header">
698
- <div class="bu-block-viewer-title">
699
- <a href="/blocks" class="bu-block-muted">Blocks</a>
696
+ <div class="b-block-viewer-shell">
697
+ <header class="b-block-viewer-header">
698
+ <div class="b-block-viewer-title">
699
+ <a href="/blocks" class="b-block-muted">Blocks</a>
700
700
  <h1 t-esc="title"/>
701
701
  <p t-esc="description"/>
702
702
  </div>
703
- <div class="bu-block-viewer-actions">
703
+ <div class="b-block-viewer-actions">
704
704
  <Button variant="'outline'" type="'button'" ariaPressed="state.mode === 'preview' ? 'true' : 'false'" onClick="() => this.setMode('preview')">
705
705
  <Icon name="'eye'"/>
706
706
  Preview
@@ -709,13 +709,13 @@
709
709
  <Icon name="'code'"/>
710
710
  Code
711
711
  </Button>
712
- <Button variant="'ghost'" type="'button'" className="'bu-icon-button'" ariaLabel="'Desktop preview'" ariaPressed="state.viewport === 'desktop' ? 'true' : 'false'" onClick="() => this.setViewport('desktop')">
712
+ <Button variant="'ghost'" type="'button'" className="'b-icon-button'" ariaLabel="'Desktop preview'" ariaPressed="state.viewport === 'desktop' ? 'true' : 'false'" onClick="() => this.setViewport('desktop')">
713
713
  <Icon name="'monitor'"/>
714
714
  </Button>
715
- <Button variant="'ghost'" type="'button'" className="'bu-icon-button'" ariaLabel="'Tablet preview'" ariaPressed="state.viewport === 'tablet' ? 'true' : 'false'" onClick="() => this.setViewport('tablet')">
715
+ <Button variant="'ghost'" type="'button'" className="'b-icon-button'" ariaLabel="'Tablet preview'" ariaPressed="state.viewport === 'tablet' ? 'true' : 'false'" onClick="() => this.setViewport('tablet')">
716
716
  <Icon name="'tablet'"/>
717
717
  </Button>
718
- <Button variant="'ghost'" type="'button'" className="'bu-icon-button'" ariaLabel="'Mobile preview'" ariaPressed="state.viewport === 'mobile' ? 'true' : 'false'" onClick="() => this.setViewport('mobile')">
718
+ <Button variant="'ghost'" type="'button'" className="'b-icon-button'" ariaLabel="'Mobile preview'" ariaPressed="state.viewport === 'mobile' ? 'true' : 'false'" onClick="() => this.setViewport('mobile')">
719
719
  <Icon name="'smartphone'"/>
720
720
  </Button>
721
721
  <Button variant="'outline'" type="'button'" onClick="() => this.copyCode()">
@@ -724,12 +724,12 @@
724
724
  </Button>
725
725
  </div>
726
726
  </header>
727
- <main class="bu-block-viewer-main">
728
- <section t-att-class="state.mode === 'code' ? 'bu-block-preview-panel is-hidden' : 'bu-block-preview-panel'">
729
- <div class="bu-block-preview-frame" t-att-style="previewStyle" t-ref="previewFrame"></div>
727
+ <main class="b-block-viewer-main">
728
+ <section t-att-class="state.mode === 'code' ? 'b-block-preview-panel is-hidden' : 'b-block-preview-panel'">
729
+ <div class="b-block-preview-frame" t-att-style="previewStyle" t-ref="previewFrame"></div>
730
730
  </section>
731
- <section t-att-class="state.mode === 'code' ? 'bu-block-code-panel is-active' : 'bu-block-code-panel'">
732
- <div class="bu-block-code-toolbar" role="group" aria-label="Code source">
731
+ <section t-att-class="state.mode === 'code' ? 'b-block-code-panel is-active' : 'b-block-code-panel'">
732
+ <div class="b-block-code-toolbar" role="group" aria-label="Code source">
733
733
  <Button variant="'ghost'" type="'button'" ariaPressed="state.codeVariant === 'owl' ? 'true' : 'false'" onClick="() => this.setCodeVariant('owl')">
734
734
  Base Component
735
735
  </Button>
@@ -737,7 +737,7 @@
737
737
  Template
738
738
  </Button>
739
739
  </div>
740
- <pre class="bu-block-code" t-esc="activeCode"/>
740
+ <pre class="b-block-code" t-esc="activeCode"/>
741
741
  </section>
742
742
  </main>
743
743
  </div>
@@ -746,15 +746,15 @@
746
746
  </t>
747
747
 
748
748
  <t t-name="baseui.BlockViewerNav">
749
- <header class="bu-example-header">
750
- <nav class="container bu-example-nav" aria-label="BaseUI pages">
751
- <a class="navbar-brand fw-semibold text-decoration-none bu-example-brand" href="/docs">BaseUI</a>
752
- <div class="bu-example-nav-menu" aria-label="BaseUI pages">
749
+ <header class="b-example-header">
750
+ <nav class="container b-example-nav" aria-label="BaseUI pages">
751
+ <a class="navbar-brand fw-semibold text-decoration-none b-example-brand" href="/docs">BaseUI</a>
752
+ <div class="b-example-nav-menu" aria-label="BaseUI pages">
753
753
  <a t-foreach="navItems" t-as="item" t-key="item.key" t-att-href="item.href" t-att-class="item.key === 'blocks' ? 'is-active' : ''" t-att-aria-current="item.key === 'blocks' ? 'page' : undefined">
754
754
  <t t-esc="item.label"/>
755
755
  </a>
756
756
  </div>
757
- <ThemeButton variant="'outline'" storageKey="'bu-example-theme'"/>
757
+ <ThemeButton variant="'outline'" storageKey="'b-example-theme'"/>
758
758
  </nav>
759
759
  </header>
760
760
  </t>
@@ -766,7 +766,7 @@
766
766
  <t t-name="baseui.Breadcrumb">
767
767
  <nav
768
768
  data-slot="breadcrumb"
769
- t-att-class="'bu-breadcrumb' + (props.className ? ' ' + props.className : '')"
769
+ t-att-class="'b-breadcrumb' + (props.className ? ' ' + props.className : '')"
770
770
  aria-label="breadcrumb"
771
771
  t-att-style="props.style"
772
772
  >
@@ -777,7 +777,7 @@
777
777
  <t t-name="baseui.BreadcrumbList">
778
778
  <ol
779
779
  data-slot="breadcrumb-list"
780
- t-att-class="'breadcrumb bu-breadcrumb-list' + (props.className ? ' ' + props.className : '')"
780
+ t-att-class="'breadcrumb b-breadcrumb-list' + (props.className ? ' ' + props.className : '')"
781
781
  t-att-style="props.style"
782
782
  >
783
783
  <t t-slot="default"/>
@@ -826,7 +826,7 @@
826
826
  t-att-style="props.style"
827
827
  >
828
828
  <t t-if="hasCustomContent" t-slot="default"/>
829
- <Icon t-else="" name="'chevron-right'" className="'bu-breadcrumb-separator-icon'"/>
829
+ <Icon t-else="" name="'chevron-right'" className="'b-breadcrumb-separator-icon'"/>
830
830
  </li>
831
831
  </t>
832
832
  <t t-name="BreadcrumbSeparator" t-call="baseui.BreadcrumbSeparator"/>
@@ -839,7 +839,7 @@
839
839
  t-att-style="props.style"
840
840
  >
841
841
  <t t-if="hasCustomContent" t-slot="default"/>
842
- <Icon t-else="" name="'ellipsis'" className="'bu-breadcrumb-ellipsis-icon'"/>
842
+ <Icon t-else="" name="'ellipsis'" className="'b-breadcrumb-ellipsis-icon'"/>
843
843
  <span class="visually-hidden">More</span>
844
844
  </span>
845
845
  </t>
@@ -925,15 +925,15 @@
925
925
  <t t-name="ButtonGroupSeparator" t-call="baseui.ButtonGroupSeparator"/>
926
926
  <t t-name="ButtonGroupText" t-call="baseui.ButtonGroupText"/>
927
927
  <t t-name="baseui.calendar">
928
- <div class="bu-calendar"/>
928
+ <div class="b-calendar"/>
929
929
  </t>
930
930
  <t t-name="baseui.Calendar">
931
- <div t-att-class="'bu-calendar' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
932
- <div class="bu-calendar__header"><t t-esc="headerLabel"/></div>
933
- <div class="bu-calendar__weekdays">
931
+ <div t-att-class="'b-calendar' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
932
+ <div class="b-calendar__header"><t t-esc="headerLabel"/></div>
933
+ <div class="b-calendar__weekdays">
934
934
  <span t-foreach="weekdays" t-as="weekday" t-key="weekday" t-esc="weekday"/>
935
935
  </div>
936
- <div class="bu-calendar__grid">
936
+ <div class="b-calendar__grid">
937
937
  <t t-foreach="days" t-as="cell" t-key="cell_index">
938
938
  <span t-if="!cell"/>
939
939
  <Button
@@ -950,7 +950,7 @@
950
950
  </t>
951
951
  <t t-name="Calendar" t-call="baseui.Calendar"/>
952
952
  <t t-name="baseui.Card">
953
- <div t-tag="tag" t-att-class="'card bu-card' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
953
+ <div t-tag="tag" t-att-class="'card b-card' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
954
954
  <t t-slot="default"/>
955
955
  </div>
956
956
  </t>
@@ -991,10 +991,10 @@
991
991
  </t>
992
992
  <t t-name="CardDescription" t-call="baseui.CardDescription"/>
993
993
  <t t-name="baseui.carousel">
994
- <div class="bu-carousel"/>
994
+ <div class="b-carousel"/>
995
995
  </t>
996
996
  <t t-name="baseui.Carousel">
997
- <div t-ref="root" t-att-class="'bu-carousel carousel slide' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
997
+ <div t-ref="root" t-att-class="'b-carousel carousel slide' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
998
998
  <div class="carousel-inner">
999
999
  <t t-slot="default"/>
1000
1000
  </div>
@@ -1002,19 +1002,19 @@
1002
1002
  </t>
1003
1003
  <t t-name="Carousel" t-call="baseui.Carousel"/>
1004
1004
  <t t-name="baseui.CarouselSlide">
1005
- <div t-ref="root" t-att-class="'bu-carousel-slide carousel-item' + (initialActive ? ' active' : '')" t-att-style="props.style"><t t-slot="default"/></div>
1005
+ <div t-ref="root" t-att-class="'b-carousel-slide carousel-item' + (initialActive ? ' active' : '')" t-att-style="props.style"><t t-slot="default"/></div>
1006
1006
  </t>
1007
1007
  <t t-name="CarouselSlide" t-call="baseui.CarouselSlide"/>
1008
1008
  <t t-name="baseui.CarouselPrevious">
1009
- <Button unstyled="true" className="'bu-carousel-prev'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
1009
+ <Button unstyled="true" className="'b-carousel-prev'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
1010
1010
  </t>
1011
1011
  <t t-name="CarouselPrevious" t-call="baseui.CarouselPrevious"/>
1012
1012
  <t t-name="baseui.CarouselNext">
1013
- <Button unstyled="true" className="'bu-carousel-next'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
1013
+ <Button unstyled="true" className="'b-carousel-next'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
1014
1014
  </t>
1015
1015
  <t t-name="CarouselNext" t-call="baseui.CarouselNext"/>
1016
1016
  <t t-name="baseui.chart">
1017
- <div class="bu-chart"/>
1017
+ <div class="b-chart"/>
1018
1018
  </t>
1019
1019
  <t t-name="baseui.Chart">
1020
1020
  <div
@@ -1030,7 +1030,7 @@
1030
1030
  <label b-ui="checkbox"><input type="checkbox"/><t t-slot="default"/></label>
1031
1031
  </t>
1032
1032
  <t t-name="baseui.Checkbox">
1033
- <label t-att-class="'form-check bu-check ' + (props.className || '')" t-att-style="props.style">
1033
+ <label t-att-class="'form-check b-check ' + (props.className || '')" t-att-style="props.style">
1034
1034
  <input
1035
1035
  type="checkbox"
1036
1036
  class="form-check-input"
@@ -1061,15 +1061,15 @@
1061
1061
  <t t-name="ClipboardButton" t-call="baseui.ClipboardButton"/>
1062
1062
  <t t-name="baseui.CodeEditor">
1063
1063
  <section t-att-class="classNames" t-att-style="props.style">
1064
- <div class="bu-code-editor-header">
1065
- <div class="bu-code-editor-heading">
1066
- <h3 t-if="props.title" class="h6 fw-semibold mb-0" t-esc="props.title"/>
1064
+ <div class="b-code-editor-header">
1065
+ <div class="b-code-editor-heading">
1066
+ <h3 t-if="props.title" class="fs-6 fw-semibold mb-0" t-esc="props.title"/>
1067
1067
  <small t-if="globals.length or props.hint" class="text-body-secondary">
1068
1068
  <t t-if="globals.length">Globals: <t t-foreach="globals" t-as="name" t-key="name"><code t-esc="name"/><t t-if="!name_last">, </t></t>. </t>
1069
1069
  <t t-esc="props.hint"/>
1070
1070
  </small>
1071
1071
  </div>
1072
- <div class="bu-code-editor-actions">
1072
+ <div class="b-code-editor-actions">
1073
1073
  <Spinner t-if="state.loading" className="'spinner-border-sm'" label="'Loading'"/>
1074
1074
  <Badge variant="'muted'" label="language.label"/>
1075
1075
  <Badge variant="'secondary'" label="lineLabel"/>
@@ -1085,11 +1085,11 @@
1085
1085
  <Alert t-if="state.error" variant="'destructive'"><AlertDescription t-esc="state.error"/></Alert>
1086
1086
 
1087
1087
  <!-- One scroll container for gutter + code: the transparent textarea is stretched over the colouring pre, so both scroll together and no scroll-sync code is needed. -->
1088
- <div class="bu-code-editor-box" t-att-class="{ 'is-readonly': isReadonly }">
1089
- <pre aria-hidden="true" class="bu-code-editor-text bu-code-editor-gutter" t-esc="lineNumbers"/>
1090
- <div class="bu-code-editor-body">
1091
- <pre aria-hidden="true" class="bu-code-editor-text"><t t-foreach="tokens" t-as="tok" t-key="tok_index"><span t-att-class="tok.className" t-esc="tok.text"/></t></pre>
1092
- <textarea t-if="!isReadonly" class="bu-code-editor-text bu-code-editor-input"
1088
+ <div class="b-code-editor-box" t-att-class="{ 'is-readonly': isReadonly }">
1089
+ <pre aria-hidden="true" class="b-code-editor-text b-code-editor-gutter" t-esc="lineNumbers"/>
1090
+ <div class="b-code-editor-body">
1091
+ <pre aria-hidden="true" class="b-code-editor-text"><t t-foreach="tokens" t-as="tok" t-key="tok_index"><span t-att-class="tok.className" t-esc="tok.text"/></t></pre>
1092
+ <textarea t-if="!isReadonly" class="b-code-editor-text b-code-editor-input"
1093
1093
  wrap="off" spellcheck="false" autocapitalize="off" autocomplete="off" autocorrect="off"
1094
1094
  t-ref="input" t-att-id="props.id" t-att-aria-label="ariaLabel"
1095
1095
  t-on-input="onInput" t-on-keydown="onKeydown" t-on-click="(ev) => this.revealCaret(ev.target)"/>
@@ -1105,36 +1105,36 @@
1105
1105
  <div b-ui="collapsible"><t t-slot="default"/></div>
1106
1106
  </t>
1107
1107
  <t t-name="baseui.Collapsible">
1108
- <div t-att-class="'bu-collapsible' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
1108
+ <div t-att-class="'b-collapsible' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
1109
1109
  <t t-slot="default"/>
1110
1110
  </div>
1111
1111
  </t>
1112
1112
  <t t-name="Collapsible" t-call="baseui.Collapsible"/>
1113
1113
  <t t-name="baseui.CollapsibleTrigger">
1114
- <Button unstyled="true" className="'bu-collapsible-trigger'" style="props.style" attrs="attrs" onClick="() => this.onClick()">
1114
+ <Button unstyled="true" className="'b-collapsible-trigger'" style="props.style" attrs="attrs" onClick="() => this.onClick()">
1115
1115
  <t t-slot="default"/>
1116
1116
  </Button>
1117
1117
  </t>
1118
1118
  <t t-name="CollapsibleTrigger" t-call="baseui.CollapsibleTrigger"/>
1119
1119
  <t t-name="baseui.CollapsibleContent">
1120
- <div t-ref="root" t-att-class="'collapse bu-collapsible-content' + (initialOpen ? ' show' : '')" t-att-style="props.style" t-att-aria-hidden="open ? undefined : 'true'">
1120
+ <div t-ref="root" t-att-class="'collapse b-collapsible-content' + (initialOpen ? ' show' : '')" t-att-style="props.style" t-att-aria-hidden="open ? undefined : 'true'">
1121
1121
  <t t-slot="default"/>
1122
1122
  </div>
1123
1123
  </t>
1124
1124
  <t t-name="CollapsibleContent" t-call="baseui.CollapsibleContent"/>
1125
1125
  <t t-name="baseui.combobox">
1126
- <div class="bu-combobox"/>
1126
+ <div class="b-combobox"/>
1127
1127
  </t>
1128
1128
  <t t-name="baseui.Combobox">
1129
- <div t-att-class="'bu-combobox' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" t-ref="root">
1129
+ <div t-att-class="'b-combobox' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" t-ref="root">
1130
1130
  <t t-call="baseui.Outlined"><t t-call="baseui.Combobox.field"/></t>
1131
- <div t-if="disclosure.open" class="bu-combobox-list" role="listbox">
1131
+ <div t-if="disclosure.open" class="b-combobox-list" role="listbox">
1132
1132
  <div
1133
1133
  t-foreach="filteredOptions"
1134
1134
  t-as="option"
1135
1135
  t-key="option.value"
1136
1136
  role="option"
1137
- class="bu-combobox-option"
1137
+ class="b-combobox-option"
1138
1138
  t-on-click="() => this.choose(option)"
1139
1139
  >
1140
1140
  <t t-esc="option.label"/>
@@ -1159,17 +1159,17 @@
1159
1159
  </t>
1160
1160
  <t t-name="Combobox" t-call="baseui.Combobox"/>
1161
1161
  <t t-name="baseui.command">
1162
- <div b-ui="command" class="bu-command"/>
1162
+ <div b-ui="command" class="b-command"/>
1163
1163
  </t>
1164
1164
  <t t-name="baseui.Command">
1165
- <div t-att-class="'bu-command' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="dialog">
1165
+ <div t-att-class="'b-command' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="dialog">
1166
1166
  <input class="form-control" t-att-placeholder="props.placeholder" t-on-input="onInput"/>
1167
- <div class="bu-command-list">
1167
+ <div class="b-command-list">
1168
1168
  <div
1169
1169
  t-foreach="filteredItems"
1170
1170
  t-as="item"
1171
1171
  t-key="item.value"
1172
- class="bu-command-item"
1172
+ class="b-command-item"
1173
1173
  t-on-click="() => this.select(item)"
1174
1174
  >
1175
1175
  <t t-esc="item.label"/>
@@ -1179,39 +1179,39 @@
1179
1179
  </t>
1180
1180
  <t t-name="Command" t-call="baseui.Command"/>
1181
1181
  <t t-name="baseui.context-menu">
1182
- <div class="bu-context-menu"/>
1182
+ <div class="b-context-menu"/>
1183
1183
  </t>
1184
1184
  <t t-name="baseui.ContextMenu">
1185
1185
  <t t-slot="default"/>
1186
1186
  </t>
1187
1187
  <t t-name="ContextMenu" t-call="baseui.ContextMenu"/>
1188
1188
  <t t-name="baseui.ContextMenuTrigger">
1189
- <div class="bu-context-menu-trigger" t-on-contextmenu="onContextMenu">
1189
+ <div class="b-context-menu-trigger" t-on-contextmenu="onContextMenu">
1190
1190
  <t t-slot="default"/>
1191
1191
  </div>
1192
1192
  </t>
1193
1193
  <t t-name="ContextMenuTrigger" t-call="baseui.ContextMenuTrigger"/>
1194
1194
  <t t-name="baseui.ContextMenuContent">
1195
- <div t-if="open" class="bu-context-menu-content" role="menu" t-att-style="style" t-ref="root">
1195
+ <div t-if="open" class="b-context-menu-content" role="menu" t-att-style="style" t-ref="root">
1196
1196
  <t t-slot="default"/>
1197
1197
  </div>
1198
1198
  </t>
1199
1199
  <t t-name="ContextMenuContent" t-call="baseui.ContextMenuContent"/>
1200
1200
  <t t-name="baseui.ContextMenuItem">
1201
- <div class="bu-context-menu-item" role="menuitem" tabindex="0" t-on-click="onClick">
1201
+ <div class="b-context-menu-item" role="menuitem" tabindex="0" t-on-click="onClick">
1202
1202
  <t t-slot="default"/>
1203
1203
  </div>
1204
1204
  </t>
1205
1205
  <t t-name="ContextMenuItem" t-call="baseui.ContextMenuItem"/>
1206
1206
  <t t-name="baseui.data-table">
1207
- <div class="bu-data-table"/>
1207
+ <div class="b-data-table"/>
1208
1208
  </t>
1209
1209
  <t t-name="baseui.DataTable.Table">
1210
- <div class="bu-data-table__viewport" t-att-style="viewportStyle">
1211
- <table class="table bu-data-table__table">
1210
+ <div class="b-data-table__viewport" t-att-style="viewportStyle">
1211
+ <table class="table b-data-table__table">
1212
1212
  <thead>
1213
1213
  <tr>
1214
- <th t-if="hasSelection" class="bu-data-table__selection-cell">
1214
+ <th t-if="hasSelection" class="b-data-table__selection-cell">
1215
1215
  <input
1216
1216
  type="checkbox"
1217
1217
  class="form-check-input"
@@ -1230,20 +1230,20 @@
1230
1230
  <Button
1231
1231
  t-if="isColumnSortable(column)"
1232
1232
  unstyled="true"
1233
- className="'bu-data-table__header-button'"
1233
+ className="'b-data-table__header-button'"
1234
1234
  onClick="() => this.sortBy(column.key)"
1235
1235
  >
1236
1236
  <span><t t-esc="columnLabel(column)"/></span>
1237
- <span class="bu-data-table__sort-icon" t-att-data-icon="sortIcon(column.key)" aria-hidden="true"></span>
1237
+ <span class="b-data-table__sort-icon" t-att-data-icon="sortIcon(column.key)" aria-hidden="true"></span>
1238
1238
  </Button>
1239
1239
  <t t-else="" t-esc="columnLabel(column)"/>
1240
1240
  </th>
1241
- <th t-if="rowActions.length" class="bu-data-table__actions-cell"><span class="visually-hidden">Actions</span></th>
1241
+ <th t-if="rowActions.length" class="b-data-table__actions-cell"><span class="visually-hidden">Actions</span></th>
1242
1242
  </tr>
1243
1243
  </thead>
1244
1244
  <tbody>
1245
1245
  <tr t-if="!pageRows.length">
1246
- <td t-att-colspan="visibleColumns.length + (hasSelection ? 1 : 0) + (rowActions.length ? 1 : 0)" class="bu-data-table__empty">
1246
+ <td t-att-colspan="visibleColumns.length + (hasSelection ? 1 : 0) + (rowActions.length ? 1 : 0)" class="b-data-table__empty">
1247
1247
  <t t-esc="emptyLabel"/>
1248
1248
  </td>
1249
1249
  </tr>
@@ -1253,7 +1253,7 @@
1253
1253
  t-key="rowKey(row, row_index)"
1254
1254
  t-att-data-state="isSelected(row, row_index) ? 'selected' : undefined"
1255
1255
  >
1256
- <td t-if="hasSelection" class="bu-data-table__selection-cell">
1256
+ <td t-if="hasSelection" class="b-data-table__selection-cell">
1257
1257
  <input
1258
1258
  type="checkbox"
1259
1259
  class="form-check-input"
@@ -1271,10 +1271,10 @@
1271
1271
  <t t-if="column.component">
1272
1272
  <t t-component="column.component" t-props="cellComponentProps(row, column)"/>
1273
1273
  </t>
1274
- <span t-else="" t-att-class="column.format === 'currency' ? 'bu-data-table__money' : ''"><t t-esc="cellValue(row, column)"/></span>
1274
+ <span t-else="" t-att-class="column.format === 'currency' ? 'b-data-table__money' : ''"><t t-esc="cellValue(row, column)"/></span>
1275
1275
  </td>
1276
- <td t-if="rowActions.length" class="bu-data-table__actions-cell">
1277
- <div class="bu-data-table__actions">
1276
+ <td t-if="rowActions.length" class="b-data-table__actions-cell">
1277
+ <div class="b-data-table__actions">
1278
1278
  <Button variant="'ghost'" size="'icon'" icon="'ellipsis'" aria-label="'Open menu'" onClick="(event) => this.toggleRowActions(row, row_index, event)"/>
1279
1279
  </div>
1280
1280
  </td>
@@ -1285,25 +1285,25 @@
1285
1285
  </t>
1286
1286
  <t t-name="baseui.DataTable">
1287
1287
  <div t-att-class="classNames" t-att-style="props.style" data-slot="data-table">
1288
- <div class="bu-data-table__toolbar" t-if="hasSearch || hasColumnToggle || hasToolbarActions">
1288
+ <div class="b-data-table__toolbar" t-if="hasSearch || hasColumnToggle || hasToolbarActions">
1289
1289
  <input
1290
1290
  t-if="hasSearch"
1291
1291
  type="search"
1292
- class="form-control bu-data-table__search"
1292
+ class="form-control b-data-table__search"
1293
1293
  t-att-placeholder="filterPlaceholder"
1294
1294
  t-att-value="state.query"
1295
1295
  t-on-input="onSearchInput"
1296
1296
  />
1297
- <div t-if="hasColumnToggle || hasToolbarActions" class="bu-data-table__toolbar-end">
1297
+ <div t-if="hasColumnToggle || hasToolbarActions" class="b-data-table__toolbar-end">
1298
1298
  <t t-if="hasToolbarActions" t-slot="toolbarActions"/>
1299
- <div t-if="hasColumnToggle" class="bu-data-table__columns">
1299
+ <div t-if="hasColumnToggle" class="b-data-table__columns">
1300
1300
  <Button variant="'outline'" label="'Columns'" icon="'chevron-down'" iconPosition="'end'" aria-label="'Toggle columns'" onClick="() => this.toggleColumnsMenu()"/>
1301
- <div t-if="state.columnsOpen" class="bu-data-table__columns-menu" role="menu" data-state="open">
1301
+ <div t-if="state.columnsOpen" class="b-data-table__columns-menu" role="menu" data-state="open">
1302
1302
  <label
1303
1303
  t-foreach="columns.filter((column) => column.hideable !== false)"
1304
1304
  t-as="column"
1305
1305
  t-key="column.key"
1306
- class="bu-data-table__columns-item"
1306
+ class="b-data-table__columns-item"
1307
1307
  >
1308
1308
  <input
1309
1309
  type="checkbox"
@@ -1319,29 +1319,29 @@
1319
1319
  </div>
1320
1320
  <t t-call="baseui.DataTable.Table"/>
1321
1321
  <t t-call="baseui.DataTable.Cards"/>
1322
- <div class="bu-data-table__pagination" t-if="hasPagination">
1323
- <div class="bu-data-table__selection-summary">
1322
+ <div class="b-data-table__pagination" t-if="hasPagination">
1323
+ <div class="b-data-table__selection-summary">
1324
1324
  <t t-esc="selectionLabel"/>
1325
1325
  </div>
1326
- <div class="bu-data-table__pager">
1327
- <div t-if="pageSizeOptions.length" class="bu-data-table__page-size">
1326
+ <div class="b-data-table__pager">
1327
+ <div t-if="pageSizeOptions.length" class="b-data-table__page-size">
1328
1328
  <span>Rows per page</span>
1329
1329
  <select class="form-select form-select-sm" t-on-change="(event) => this.setPageSize(event.target.value)">
1330
1330
  <option t-foreach="pageSizeOptions" t-as="option" t-key="option" t-att-value="optionValue(option)" t-att-selected="option === state.pageSize"><t t-esc="option"/></option>
1331
1331
  </select>
1332
1332
  </div>
1333
- <div class="bu-data-table__page-label"><t t-esc="pageLabel"/></div>
1333
+ <div class="b-data-table__page-label"><t t-esc="pageLabel"/></div>
1334
1334
  <Button variant="'outline'" size="'sm'" label="'Previous'" aria-label="'Go to previous page'" disabled="!canPreviousPage" onClick="() => this.setPage(state.page - 1)"/>
1335
1335
  <Button variant="'outline'" size="'sm'" label="'Next'" aria-label="'Go to next page'" disabled="!canNextPage" onClick="() => this.setPage(state.page + 1)"/>
1336
1336
  </div>
1337
1337
  </div>
1338
- <div t-if="openRowAction" t-portal="'body'" class="bu-data-table__actions-menu" role="menu" data-state="open" t-att-style="state.actionMenuStyle" t-ref="actionsMenu">
1338
+ <div t-if="openRowAction" t-portal="'body'" class="b-data-table__actions-menu" role="menu" data-state="open" t-att-style="state.actionMenuStyle" t-ref="actionsMenu">
1339
1339
  <Button
1340
1340
  t-foreach="rowActions"
1341
1341
  t-as="action"
1342
1342
  t-key="action.label"
1343
1343
  unstyled="true"
1344
- className="'bu-data-table__actions-item'"
1344
+ className="'b-data-table__actions-item'"
1345
1345
  attrs="{ role: 'menuitem' }"
1346
1346
  onClick="() => this.onAction(action, openRowAction.row, openRowAction.index)"
1347
1347
  >
@@ -1352,18 +1352,18 @@
1352
1352
  </t>
1353
1353
  <t t-name="DataTable" t-call="baseui.DataTable"/>
1354
1354
  <t t-name="baseui.DataTable.Cards">
1355
- <div class="bu-data-table__cards">
1356
- <div t-if="!pageRows.length" class="bu-data-table__empty-card">
1355
+ <div class="b-data-table__cards">
1356
+ <div t-if="!pageRows.length" class="b-data-table__empty-card">
1357
1357
  <t t-esc="emptyLabel"/>
1358
1358
  </div>
1359
1359
  <div
1360
1360
  t-foreach="pageRows"
1361
1361
  t-as="row"
1362
1362
  t-key="rowKey(row, row_index)"
1363
- class="bu-data-table__card"
1363
+ class="b-data-table__card"
1364
1364
  t-att-data-state="isSelected(row, row_index) ? 'selected' : undefined"
1365
1365
  >
1366
- <div class="bu-data-table__card-header" t-if="hasSelection || rowActions.length">
1366
+ <div class="b-data-table__card-header" t-if="hasSelection || rowActions.length">
1367
1367
  <input
1368
1368
  t-if="hasSelection"
1369
1369
  type="checkbox"
@@ -1372,17 +1372,17 @@
1372
1372
  t-att-checked="isSelected(row, row_index)"
1373
1373
  t-on-change="(event) => this.toggleRow(row, row_index, event.target.checked)"
1374
1374
  />
1375
- <div t-if="rowActions.length" class="bu-data-table__actions">
1375
+ <div t-if="rowActions.length" class="b-data-table__actions">
1376
1376
  <Button variant="'ghost'" size="'icon'" icon="'ellipsis'" aria-label="'Open menu'" onClick="(event) => this.toggleRowActions(row, row_index, event)"/>
1377
1377
  </div>
1378
1378
  </div>
1379
- <div class="bu-data-table__card-field" t-foreach="visibleColumns" t-as="column" t-key="column.key">
1380
- <span class="bu-data-table__card-label"><t t-esc="columnLabel(column)"/></span>
1381
- <span class="bu-data-table__card-value">
1379
+ <div class="b-data-table__card-field" t-foreach="visibleColumns" t-as="column" t-key="column.key">
1380
+ <span class="b-data-table__card-label"><t t-esc="columnLabel(column)"/></span>
1381
+ <span class="b-data-table__card-value">
1382
1382
  <t t-if="column.component">
1383
1383
  <t t-component="column.component" t-props="cellComponentProps(row, column)"/>
1384
1384
  </t>
1385
- <span t-else="" t-att-class="column.format === 'currency' ? 'bu-data-table__money' : ''"><t t-esc="cellValue(row, column)"/></span>
1385
+ <span t-else="" t-att-class="column.format === 'currency' ? 'b-data-table__money' : ''"><t t-esc="cellValue(row, column)"/></span>
1386
1386
  </span>
1387
1387
  </div>
1388
1388
  </div>
@@ -1415,22 +1415,22 @@
1415
1415
  <t t-name="Dialog" t-call="baseui.Dialog"/>
1416
1416
 
1417
1417
  <t t-name="baseui.DialogTrigger">
1418
- <span class="bu-dialog-trigger" data-slot="dialog-trigger" t-att-style="props.style" t-on-click="onClick">
1418
+ <span class="b-dialog-trigger" data-slot="dialog-trigger" t-att-style="props.style" t-on-click="onClick">
1419
1419
  <t t-slot="default"/>
1420
1420
  </span>
1421
1421
  </t>
1422
1422
  <t t-name="DialogTrigger" t-call="baseui.DialogTrigger"/>
1423
1423
 
1424
1424
  <t t-name="baseui.DialogContent">
1425
- <div t-ref="root" class="modal fade bu-dialog-backdrop" data-slot="dialog-overlay" tabindex="-1" aria-hidden="true" t-att-style="props.style">
1425
+ <div t-ref="root" class="modal fade b-dialog-backdrop" data-slot="dialog-overlay" tabindex="-1" aria-hidden="true" t-att-style="props.style">
1426
1426
  <div class="modal-dialog modal-dialog-centered">
1427
- <div t-att-class="'modal-content bu-dialog-panel' + (props.className ? ' ' + props.className : '')" data-slot="dialog-content">
1427
+ <div t-att-class="'modal-content b-dialog-panel' + (props.className ? ' ' + props.className : '')" data-slot="dialog-content">
1428
1428
  <t t-slot="default"/>
1429
1429
  <Button
1430
1430
  t-if="showCloseButton"
1431
1431
  variant="'ghost'"
1432
1432
  size="'icon-sm'"
1433
- className="'bu-dialog-close bu-dialog-close-control'"
1433
+ className="'b-dialog-close b-dialog-close-control'"
1434
1434
  aria-label="'Close'"
1435
1435
  icon="'x'"
1436
1436
  attrs="{'data-slot': 'dialog-close', 'data-bs-dismiss': 'modal'}"
@@ -1444,28 +1444,28 @@
1444
1444
  <t t-name="DialogContent" t-call="baseui.DialogContent"/>
1445
1445
 
1446
1446
  <t t-name="baseui.DialogHeader">
1447
- <div t-att-class="'bu-dialog-header' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="dialog-header">
1447
+ <div t-att-class="'b-dialog-header' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="dialog-header">
1448
1448
  <t t-slot="default"/>
1449
1449
  </div>
1450
1450
  </t>
1451
1451
  <t t-name="DialogHeader" t-call="baseui.DialogHeader"/>
1452
1452
 
1453
1453
  <t t-name="baseui.DialogFooter">
1454
- <div t-att-class="'bu-dialog-footer' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="dialog-footer">
1454
+ <div t-att-class="'b-dialog-footer' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="dialog-footer">
1455
1455
  <t t-slot="default"/>
1456
1456
  </div>
1457
1457
  </t>
1458
1458
  <t t-name="DialogFooter" t-call="baseui.DialogFooter"/>
1459
1459
 
1460
1460
  <t t-name="baseui.DialogTitle">
1461
- <h2 t-att-class="'bu-dialog-title' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="dialog-title">
1461
+ <h2 t-att-class="'b-dialog-title' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="dialog-title">
1462
1462
  <t t-slot="default"/>
1463
1463
  </h2>
1464
1464
  </t>
1465
1465
  <t t-name="DialogTitle" t-call="baseui.DialogTitle"/>
1466
1466
 
1467
1467
  <t t-name="baseui.DialogDescription">
1468
- <p t-att-class="'bu-dialog-description' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="dialog-description">
1468
+ <p t-att-class="'b-dialog-description' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="dialog-description">
1469
1469
  <t t-slot="default"/>
1470
1470
  </p>
1471
1471
  </t>
@@ -1474,7 +1474,7 @@
1474
1474
  <t t-name="baseui.DialogClose">
1475
1475
  <Button
1476
1476
  variant="'outline'"
1477
- className="'bu-dialog-close' + (props.className ? ' ' + props.className : '')"
1477
+ className="'b-dialog-close' + (props.className ? ' ' + props.className : '')"
1478
1478
  style="props.style"
1479
1479
  attrs="{'data-slot': 'dialog-close', 'data-bs-dismiss': 'modal'}"
1480
1480
  >
@@ -1484,34 +1484,34 @@
1484
1484
  <t t-name="DialogClose" t-call="baseui.DialogClose"/>
1485
1485
  <t t-name="baseui.direction"><div b-ui="direction"><t t-esc="props.content"/></div></t>
1486
1486
  <t t-name="baseui.Direction">
1487
- <div t-att-class="'bu-direction' + (props.className ? ' ' + props.className : '')" t-att-dir="dir" t-att-style="props.style"><t t-slot="default"/></div>
1487
+ <div t-att-class="'b-direction' + (props.className ? ' ' + props.className : '')" t-att-dir="dir" t-att-style="props.style"><t t-slot="default"/></div>
1488
1488
  </t>
1489
1489
  <t t-name="Direction" t-call="baseui.Direction"/>
1490
1490
  <t t-name="baseui.drawer"><div b-ui="drawer"><div b-drawer-panel=""><t t-esc="props.content"/></div></div></t>
1491
1491
  <t t-name="baseui.Drawer"><t t-slot="default"/></t>
1492
1492
  <t t-name="Drawer" t-call="baseui.Drawer"/>
1493
1493
  <t t-name="baseui.DrawerTrigger">
1494
- <Button variant="'outline'" className="'bu-drawer-trigger'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
1494
+ <Button variant="'outline'" className="'b-drawer-trigger'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
1495
1495
  </t>
1496
1496
  <t t-name="DrawerTrigger" t-call="baseui.DrawerTrigger"/>
1497
1497
  <t t-name="baseui.DrawerContent">
1498
- <div t-ref="root" class="offcanvas offcanvas-bottom bu-drawer-overlay" tabindex="-1" t-att-style="props.style">
1499
- <div class="bu-drawer-panel">
1498
+ <div t-ref="root" class="offcanvas offcanvas-bottom b-drawer-overlay" tabindex="-1" t-att-style="props.style">
1499
+ <div class="b-drawer-panel">
1500
1500
  <t t-slot="default"/>
1501
1501
  </div>
1502
1502
  </div>
1503
1503
  </t>
1504
1504
  <t t-name="DrawerContent" t-call="baseui.DrawerContent"/>
1505
- <t t-name="baseui.DrawerHeader"><div class="bu-drawer-header" t-att-style="props.style"><t t-slot="default"/></div></t>
1505
+ <t t-name="baseui.DrawerHeader"><div class="b-drawer-header" t-att-style="props.style"><t t-slot="default"/></div></t>
1506
1506
  <t t-name="DrawerHeader" t-call="baseui.DrawerHeader"/>
1507
- <t t-name="baseui.DrawerFooter"><div class="bu-drawer-footer" t-att-style="props.style"><t t-slot="default"/></div></t>
1507
+ <t t-name="baseui.DrawerFooter"><div class="b-drawer-footer" t-att-style="props.style"><t t-slot="default"/></div></t>
1508
1508
  <t t-name="DrawerFooter" t-call="baseui.DrawerFooter"/>
1509
- <t t-name="baseui.DrawerTitle"><h2 class="bu-drawer-title" t-att-style="props.style"><t t-slot="default"/></h2></t>
1509
+ <t t-name="baseui.DrawerTitle"><h2 class="b-drawer-title" t-att-style="props.style"><t t-slot="default"/></h2></t>
1510
1510
  <t t-name="DrawerTitle" t-call="baseui.DrawerTitle"/>
1511
- <t t-name="baseui.DrawerDescription"><p class="bu-drawer-description" t-att-style="props.style"><t t-slot="default"/></p></t>
1511
+ <t t-name="baseui.DrawerDescription"><p class="b-drawer-description" t-att-style="props.style"><t t-slot="default"/></p></t>
1512
1512
  <t t-name="DrawerDescription" t-call="baseui.DrawerDescription"/>
1513
1513
  <t t-name="baseui.DrawerClose">
1514
- <Button variant="'outline'" attrs="attrs" className="'bu-drawer-close'" style="props.style"><t t-slot="default"/></Button>
1514
+ <Button variant="'outline'" attrs="attrs" className="'b-drawer-close'" style="props.style"><t t-slot="default"/></Button>
1515
1515
  </t>
1516
1516
  <t t-name="DrawerClose" t-call="baseui.DrawerClose"/>
1517
1517
  <t t-name="baseui.dropdown-menu">
@@ -1521,7 +1521,7 @@
1521
1521
  </div>
1522
1522
  </t>
1523
1523
  <t t-name="baseui.DropdownMenu">
1524
- <div data-slot="dropdown-menu" t-att-class="'bu-dropdown-menu dropdown' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" t-ref="root">
1524
+ <div data-slot="dropdown-menu" t-att-class="'b-dropdown-menu dropdown' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" t-ref="root">
1525
1525
  <t t-slot="default"/>
1526
1526
  </div>
1527
1527
  </t>
@@ -1545,20 +1545,20 @@
1545
1545
  </t>
1546
1546
  <t t-name="DropdownMenuGroup" t-call="baseui.DropdownMenuGroup"/>
1547
1547
  <t t-name="baseui.DropdownMenuLabel">
1548
- <div data-slot="dropdown-menu-label" t-att-data-inset="props.inset ? '' : undefined" t-att-class="'bu-dropdown-menu-label' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
1548
+ <div data-slot="dropdown-menu-label" t-att-data-inset="props.inset ? '' : undefined" t-att-class="'dropdown-header b-dropdown-menu-label' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
1549
1549
  <t t-slot="default"/>
1550
1550
  </div>
1551
1551
  </t>
1552
1552
  <t t-name="DropdownMenuLabel" t-call="baseui.DropdownMenuLabel"/>
1553
1553
  <t t-name="baseui.DropdownMenuItem">
1554
- <div data-slot="dropdown-menu-item" t-att-data-inset="props.inset ? '' : undefined" t-att-data-variant="variant" t-att-aria-disabled="props.disabled ? 'true' : undefined" t-att-class="'bu-dropdown-menu-item' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="menuitem" tabindex="0" t-on-click="onClick">
1554
+ <div data-slot="dropdown-menu-item" t-att-data-inset="props.inset ? '' : undefined" t-att-data-variant="variant" t-att-aria-disabled="props.disabled ? 'true' : undefined" t-att-class="'dropdown-item b-dropdown-menu-item' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="menuitem" tabindex="0" t-on-click="onClick">
1555
1555
  <t t-slot="default"/>
1556
1556
  </div>
1557
1557
  </t>
1558
1558
  <t t-name="DropdownMenuItem" t-call="baseui.DropdownMenuItem"/>
1559
1559
  <t t-name="baseui.DropdownMenuCheckboxItem">
1560
- <div data-slot="dropdown-menu-checkbox-item" t-att-data-inset="props.inset ? '' : undefined" t-att-data-checked="props.checked ? '' : undefined" t-att-aria-checked="props.checked ? 'true' : 'false'" t-att-aria-disabled="props.disabled ? 'true' : undefined" t-att-class="'bu-dropdown-menu-checkbox-item' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="menuitemcheckbox" tabindex="0" t-on-click="onClick">
1561
- <span data-slot="dropdown-menu-checkbox-item-indicator" class="bu-dropdown-menu-item-indicator">
1560
+ <div data-slot="dropdown-menu-checkbox-item" t-att-data-inset="props.inset ? '' : undefined" t-att-data-checked="props.checked ? '' : undefined" t-att-aria-checked="props.checked ? 'true' : 'false'" t-att-aria-disabled="props.disabled ? 'true' : undefined" t-att-class="'dropdown-item b-dropdown-menu-checkbox-item' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="menuitemcheckbox" tabindex="0" t-on-click="onClick">
1561
+ <span data-slot="dropdown-menu-checkbox-item-indicator" class="b-dropdown-menu-item-indicator">
1562
1562
  <Icon t-if="props.checked" name="'check'"/>
1563
1563
  </span>
1564
1564
  <t t-slot="default"/>
@@ -1572,8 +1572,8 @@
1572
1572
  </t>
1573
1573
  <t t-name="DropdownMenuRadioGroup" t-call="baseui.DropdownMenuRadioGroup"/>
1574
1574
  <t t-name="baseui.DropdownMenuRadioItem">
1575
- <div data-slot="dropdown-menu-radio-item" t-att-data-inset="props.inset ? '' : undefined" t-att-data-checked="checked ? '' : undefined" t-att-aria-checked="checked ? 'true' : 'false'" t-att-aria-disabled="props.disabled ? 'true' : undefined" t-att-class="'bu-dropdown-menu-radio-item' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="menuitemradio" tabindex="0" t-on-click="onClick">
1576
- <span data-slot="dropdown-menu-radio-item-indicator" class="bu-dropdown-menu-item-indicator">
1575
+ <div data-slot="dropdown-menu-radio-item" t-att-data-inset="props.inset ? '' : undefined" t-att-data-checked="checked ? '' : undefined" t-att-aria-checked="checked ? 'true' : 'false'" t-att-aria-disabled="props.disabled ? 'true' : undefined" t-att-class="'dropdown-item b-dropdown-menu-radio-item' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="menuitemradio" tabindex="0" t-on-click="onClick">
1576
+ <span data-slot="dropdown-menu-radio-item-indicator" class="b-dropdown-menu-item-indicator">
1577
1577
  <Icon t-if="checked" name="'check'"/>
1578
1578
  </span>
1579
1579
  <t t-slot="default"/>
@@ -1581,30 +1581,30 @@
1581
1581
  </t>
1582
1582
  <t t-name="DropdownMenuRadioItem" t-call="baseui.DropdownMenuRadioItem"/>
1583
1583
  <t t-name="baseui.DropdownMenuSeparator">
1584
- <div data-slot="dropdown-menu-separator" class="bu-dropdown-menu-separator" t-att-style="props.style" role="separator"/>
1584
+ <div data-slot="dropdown-menu-separator" class="dropdown-divider b-dropdown-menu-separator" t-att-style="props.style" role="separator"/>
1585
1585
  </t>
1586
1586
  <t t-name="DropdownMenuSeparator" t-call="baseui.DropdownMenuSeparator"/>
1587
1587
  <t t-name="baseui.DropdownMenuShortcut">
1588
- <span data-slot="dropdown-menu-shortcut" t-att-class="'bu-dropdown-menu-shortcut' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
1588
+ <span data-slot="dropdown-menu-shortcut" t-att-class="'b-dropdown-menu-shortcut' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
1589
1589
  <t t-slot="default"/>
1590
1590
  </span>
1591
1591
  </t>
1592
1592
  <t t-name="DropdownMenuShortcut" t-call="baseui.DropdownMenuShortcut"/>
1593
1593
  <t t-name="baseui.DropdownMenuSub">
1594
- <div data-slot="dropdown-menu-sub" class="bu-dropdown-menu-sub" t-att-style="props.style" t-ref="root" t-on-mouseleave="env.dropdownSubClose">
1594
+ <div data-slot="dropdown-menu-sub" class="b-dropdown-menu-sub" t-att-style="props.style" t-ref="root" t-on-mouseleave="env.dropdownSubClose">
1595
1595
  <t t-slot="default"/>
1596
1596
  </div>
1597
1597
  </t>
1598
1598
  <t t-name="DropdownMenuSub" t-call="baseui.DropdownMenuSub"/>
1599
1599
  <t t-name="baseui.DropdownMenuSubTrigger">
1600
- <div data-slot="dropdown-menu-sub-trigger" t-att-data-inset="props.inset ? '' : undefined" t-att-data-state="env.dropdownSub.open ? 'open' : 'closed'" t-att-aria-expanded="env.dropdownSub.open ? 'true' : 'false'" t-att-aria-disabled="props.disabled ? 'true' : undefined" t-att-class="'bu-dropdown-menu-sub-trigger' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="menuitem" tabindex="0" aria-haspopup="menu" t-on-mouseenter="onMouseEnter" t-on-focus="onMouseEnter" t-on-click="onClick">
1600
+ <div data-slot="dropdown-menu-sub-trigger" t-att-data-inset="props.inset ? '' : undefined" t-att-data-state="env.dropdownSub.open ? 'open' : 'closed'" t-att-aria-expanded="env.dropdownSub.open ? 'true' : 'false'" t-att-aria-disabled="props.disabled ? 'true' : undefined" t-att-class="'b-dropdown-menu-sub-trigger' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="menuitem" tabindex="0" aria-haspopup="menu" t-on-mouseenter="onMouseEnter" t-on-focus="onMouseEnter" t-on-click="onClick">
1601
1601
  <t t-slot="default"/>
1602
- <Icon name="'chevron-right'" className="'bu-dropdown-menu-sub-trigger-icon'"/>
1602
+ <Icon name="'chevron-right'" className="'b-dropdown-menu-sub-trigger-icon'"/>
1603
1603
  </div>
1604
1604
  </t>
1605
1605
  <t t-name="DropdownMenuSubTrigger" t-call="baseui.DropdownMenuSubTrigger"/>
1606
1606
  <t t-name="baseui.DropdownMenuSubContent">
1607
- <div t-if="open" data-slot="dropdown-menu-sub-content" t-att-class="'bu-dropdown-menu-sub-content' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="menu" data-state="open" data-side="right" tabindex="-1">
1607
+ <div t-if="open" data-slot="dropdown-menu-sub-content" t-att-class="'b-dropdown-menu-sub-content' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="menu" data-state="open" data-side="right" tabindex="-1">
1608
1608
  <t t-slot="default"/>
1609
1609
  </div>
1610
1610
  </t>
@@ -1616,19 +1616,19 @@
1616
1616
  <div t-att-class="classNames" t-att-style="props.style" role="status"><t t-slot="default"/></div>
1617
1617
  </t>
1618
1618
  <t t-name="baseui.EmptyHeader">
1619
- <div t-att-class="'bu-empty-header' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
1619
+ <div t-att-class="'b-empty-header' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
1620
1620
  </t>
1621
1621
  <t t-name="baseui.EmptyMedia">
1622
1622
  <div t-att-class="classNames" t-att-data-variant="variant" t-att-style="props.style"><t t-slot="default"/></div>
1623
1623
  </t>
1624
1624
  <t t-name="baseui.EmptyTitle">
1625
- <div t-att-class="'bu-empty-title' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
1625
+ <div t-att-class="'b-empty-title' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
1626
1626
  </t>
1627
1627
  <t t-name="baseui.EmptyDescription">
1628
- <div t-att-class="'bu-empty-description' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
1628
+ <div t-att-class="'b-empty-description' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
1629
1629
  </t>
1630
1630
  <t t-name="baseui.EmptyContent">
1631
- <div t-att-class="'bu-empty-content' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
1631
+ <div t-att-class="'b-empty-content' + (props.className ? ' ' + props.className : '')" t-att-style="props.style"><t t-slot="default"/></div>
1632
1632
  </t>
1633
1633
  <t t-name="Empty" t-call="baseui.Empty"/>
1634
1634
  <t t-name="EmptyHeader" t-call="baseui.EmptyHeader"/>
@@ -1637,7 +1637,7 @@
1637
1637
  <t t-name="EmptyDescription" t-call="baseui.EmptyDescription"/>
1638
1638
  <t t-name="EmptyContent" t-call="baseui.EmptyContent"/>
1639
1639
  <t t-name="baseui.field">
1640
- <div b-ui="field" class="bu-field" role="group"><t t-slot="default"/></div>
1640
+ <div b-ui="field" class="b-field" role="group"><t t-slot="default"/></div>
1641
1641
  </t>
1642
1642
  <t t-name="baseui.FieldSet">
1643
1643
  <fieldset t-att-class="classNames" t-att-style="props.style" data-slot="field-set">
@@ -1704,8 +1704,8 @@
1704
1704
 
1705
1705
  <t t-name="baseui.FieldSeparator">
1706
1706
  <div t-att-class="classNames" t-att-style="props.style" data-slot="field-separator" t-att-data-content="hasContent ? 'true' : 'false'">
1707
- <span class="bu-field-separator-line" aria-hidden="true"></span>
1708
- <span t-if="hasContent" class="bu-field-separator-content" data-slot="field-separator-content">
1707
+ <span class="b-field-separator-line" aria-hidden="true"></span>
1708
+ <span t-if="hasContent" class="b-field-separator-content" data-slot="field-separator-content">
1709
1709
  <t t-slot="default"/>
1710
1710
  </span>
1711
1711
  </div>
@@ -1721,18 +1721,18 @@
1721
1721
  <t t-name="FieldError" t-call="baseui.FieldError"/>
1722
1722
  <t t-name="baseui.Form">
1723
1723
  <form t-att-class="classNames" t-att-style="props.style" data-slot="form" novalidate="novalidate" t-on-submit="submit">
1724
- <div class="bu-form-header">
1725
- <h3 class="bu-form-title">Bug Report</h3>
1726
- <p class="bu-form-description">Help us improve by reporting bugs you encounter.</p>
1724
+ <div class="b-form-header">
1725
+ <h3 class="b-form-title">Bug Report</h3>
1726
+ <p class="b-form-description">Help us improve by reporting bugs you encounter.</p>
1727
1727
  </div>
1728
1728
 
1729
- <FieldGroup className="'bu-form-fields'">
1729
+ <FieldGroup className="'b-form-fields'">
1730
1730
  <Field invalid="titleInvalid">
1731
- <FieldLabel for="'bu-form-title'">Bug Title</FieldLabel>
1731
+ <FieldLabel for="'b-form-title'">Bug Title</FieldLabel>
1732
1732
  <input
1733
- id="bu-form-title"
1733
+ id="b-form-title"
1734
1734
  name="title"
1735
- class="form-control bu-form-control"
1735
+ class="form-control b-form-control"
1736
1736
  type="text"
1737
1737
  t-att-placeholder="titlePlaceholder"
1738
1738
  t-model="state.title"
@@ -1743,20 +1743,20 @@
1743
1743
  </Field>
1744
1744
 
1745
1745
  <Field invalid="descriptionInvalid">
1746
- <FieldLabel for="'bu-form-description'">Description</FieldLabel>
1747
- <div class="bu-form-input-group" data-slot="input-group" role="group">
1746
+ <FieldLabel for="'b-form-description'">Description</FieldLabel>
1747
+ <div class="b-form-input-group" data-slot="input-group" role="group">
1748
1748
  <textarea
1749
- id="bu-form-description"
1749
+ id="b-form-description"
1750
1750
  name="description"
1751
- class="form-control bu-form-textarea"
1751
+ class="form-control b-form-textarea"
1752
1752
  rows="6"
1753
1753
  t-att-placeholder="descriptionPlaceholder"
1754
1754
  t-att-maxlength="maxDescriptionLength"
1755
1755
  t-model="state.description"
1756
1756
  t-att-aria-invalid="descriptionInvalid ? 'true' : undefined"
1757
1757
  ></textarea>
1758
- <div class="bu-form-counter" data-slot="input-group-addon" data-align="block-end">
1759
- <span class="bu-form-counter-text">
1758
+ <div class="b-form-counter" data-slot="input-group-addon" data-align="block-end">
1759
+ <span class="b-form-counter-text">
1760
1760
  <t t-esc="descriptionLength"/>/<t t-esc="maxDescriptionLength"/> characters
1761
1761
  </span>
1762
1762
  </div>
@@ -1766,7 +1766,7 @@
1766
1766
  </Field>
1767
1767
  </FieldGroup>
1768
1768
 
1769
- <Field orientation="'horizontal'" className="'bu-form-actions'">
1769
+ <Field orientation="'horizontal'" className="'b-form-actions'">
1770
1770
  <Button type="'button'" variant="'outline'" onClick="() => this.reset()">Reset</Button>
1771
1771
  <Button type="'submit'">Submit</Button>
1772
1772
  </Field>
@@ -1776,7 +1776,7 @@
1776
1776
  <t t-name="baseui.hover-card"><span b-ui="hover-card"><t t-esc="props.content"/></span></t>
1777
1777
  <t t-name="baseui.HoverCard">
1778
1778
  <span
1779
- t-att-class="'bu-hover-card' + (props.className ? ' ' + props.className : '')"
1779
+ t-att-class="'b-hover-card' + (props.className ? ' ' + props.className : '')"
1780
1780
  t-att-style="props.style"
1781
1781
  t-on-mouseenter="() => this.open()"
1782
1782
  t-on-mouseleave="() => this.close()"
@@ -1789,11 +1789,11 @@
1789
1789
  </t>
1790
1790
  <t t-name="HoverCard" t-call="baseui.HoverCard"/>
1791
1791
  <t t-name="baseui.HoverCardTrigger">
1792
- <span class="bu-hover-card-trigger" t-att-style="props.style" aria-haspopup="dialog"><t t-slot="default"/></span>
1792
+ <span class="b-hover-card-trigger" t-att-style="props.style" aria-haspopup="dialog"><t t-slot="default"/></span>
1793
1793
  </t>
1794
1794
  <t t-name="HoverCardTrigger" t-call="baseui.HoverCardTrigger"/>
1795
1795
  <t t-name="baseui.HoverCardContent">
1796
- <span t-if="open" t-att-class="'bu-hover-card-content' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="dialog"><t t-slot="default"/></span>
1796
+ <span t-if="open" t-att-class="'b-hover-card-content' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" role="dialog"><t t-slot="default"/></span>
1797
1797
  </t>
1798
1798
  <t t-name="HoverCardContent" t-call="baseui.HoverCardContent"/>
1799
1799
  <t t-name="baseui.Icon">
@@ -1809,25 +1809,25 @@
1809
1809
  </t>
1810
1810
  <t t-name="Icon" t-call="baseui.Icon"/>
1811
1811
  <t t-name="baseui.Outlined.label">
1812
- <div t-if="label" class="bu-input-label">
1813
- <span class="bu-input-label-text" t-esc="label"/>
1814
- <Tooltip t-if="tipText" content="tipText" className="'bu-input-tip'"><t t-set-slot="trigger"><IconCircleQuestionMark/></t></Tooltip>
1812
+ <div t-if="label" class="b-input-label">
1813
+ <span class="b-input-label-text" t-esc="label"/>
1814
+ <Tooltip t-if="tipText" content="tipText" className="'b-input-tip'"><t t-set-slot="trigger"><IconCircleQuestionMark/></t></Tooltip>
1815
1815
  </div>
1816
1816
  </t>
1817
1817
  <t t-name="baseui.Outlined">
1818
1818
  <div t-if="isOutlined" t-att-class="outlinedClassNames" t-att-style="labelStyle">
1819
- <div class="bu-input-box" t-ref="box">
1820
- <Icon t-if="leadingIcon" name="leadingIcon" className="'bu-input-icon bu-input-leading'"/>
1819
+ <div class="b-input-box" t-ref="box">
1820
+ <Icon t-if="leadingIcon" name="leadingIcon" className="'b-input-icon b-input-leading'"/>
1821
1821
  <t t-out="0"/>
1822
1822
  <t t-call="baseui.Outlined.label"/>
1823
- <Icon t-if="trailingIcon" name="trailingIcon" className="'bu-input-icon bu-input-trailing'"/>
1824
- <div t-if="hasStart" class="bu-input-slot bu-input-slot-start" t-ref="start"><t t-slot="start"/></div>
1825
- <div t-if="hasEnd" class="bu-input-slot bu-input-slot-end" t-ref="end"><t t-slot="end"/></div>
1826
- <div t-if="hasFooter" class="bu-input-slot bu-input-slot-footer" t-ref="footer"><t t-slot="footer"/></div>
1823
+ <Icon t-if="trailingIcon" name="trailingIcon" className="'b-input-icon b-input-trailing'"/>
1824
+ <div t-if="hasStart" class="b-input-slot b-input-slot-start" t-ref="start"><t t-slot="start"/></div>
1825
+ <div t-if="hasEnd" class="b-input-slot b-input-slot-end" t-ref="end"><t t-slot="end"/></div>
1826
+ <div t-if="hasFooter" class="b-input-slot b-input-slot-footer" t-ref="footer"><t t-slot="footer"/></div>
1827
1827
  </div>
1828
- <div t-if="supportingText or props.maxLength" class="bu-input-support">
1828
+ <div t-if="supportingText or props.maxLength" class="b-input-support">
1829
1829
  <span t-att-id="supportId" t-esc="supportingText"/>
1830
- <span t-if="props.maxLength" class="bu-input-counter" t-esc="counter"/>
1830
+ <span t-if="props.maxLength" class="b-input-counter" t-esc="counter"/>
1831
1831
  </div>
1832
1832
  </div>
1833
1833
  <t t-else="" t-out="0"/>
@@ -1860,7 +1860,7 @@
1860
1860
  </t>
1861
1861
  <t t-name="Input" t-call="baseui.Input"/>
1862
1862
  <t t-name="baseui.input-otp">
1863
- <div class="bu-input-otp"/>
1863
+ <div class="b-input-otp"/>
1864
1864
  </t>
1865
1865
  <t t-name="baseui.InputOtp">
1866
1866
  <div t-att-class="classNames" t-att-style="props.style" t-ref="root" t-on-paste="onPaste">
@@ -1899,28 +1899,28 @@
1899
1899
  <t t-name="baseui.Marker"><span t-att-class="classNames" t-att-data-variant="variant" t-att-style="props.style"><t t-slot="default"/></span></t>
1900
1900
  <t t-name="Marker" t-call="baseui.Marker"/>
1901
1901
  <t t-name="baseui.markdown">
1902
- <div class="bu-markdown"/>
1902
+ <div class="b-markdown"/>
1903
1903
  </t>
1904
1904
  <t t-name="baseui.Markdown">
1905
1905
  <div t-ref="root" t-att-class="classNames" t-att-style="props.style" data-slot="markdown" t-att-data-status="state.status">
1906
- <div t-if="state.status === 'loading'" class="bu-markdown-loading" role="status">Loading…</div>
1907
- <div t-elif="state.status === 'error'" class="bu-markdown-error" role="alert">
1906
+ <div t-if="state.status === 'loading'" class="b-markdown-loading" role="status">Loading…</div>
1907
+ <div t-elif="state.status === 'error'" class="b-markdown-error" role="alert">
1908
1908
  <t t-esc="state.error"/>
1909
1909
  </div>
1910
1910
  <div
1911
1911
  t-elif="props.editable"
1912
1912
  t-ref="editor"
1913
- class="bu-markdown-editor"
1913
+ class="b-markdown-editor"
1914
1914
  data-slot="markdown-editor"
1915
1915
  role="group"
1916
1916
  t-att-aria-label="editorLabel"
1917
1917
  />
1918
1918
  <t t-else="">
1919
- <div t-if="hasFrontmatterMeta" class="bu-markdown-meta">
1920
- <div t-if="state.frontmatter.authors and state.frontmatter.authors.length" class="bu-markdown-meta-authors">
1919
+ <div t-if="hasFrontmatterMeta" class="b-markdown-meta">
1920
+ <div t-if="state.frontmatter.authors and state.frontmatter.authors.length" class="b-markdown-meta-authors">
1921
1921
  By <t t-esc="state.frontmatter.authors.join(', ')"/>
1922
1922
  </div>
1923
- <div t-if="state.frontmatter.tags and state.frontmatter.tags.length" class="bu-markdown-meta-tags">
1923
+ <div t-if="state.frontmatter.tags and state.frontmatter.tags.length" class="b-markdown-meta-tags">
1924
1924
  <Badge t-foreach="state.frontmatter.tags" t-as="tag" t-key="tag" variant="'secondary'" pill="true"><t t-esc="tag"/></Badge>
1925
1925
  </div>
1926
1926
  </div>
@@ -1931,9 +1931,9 @@
1931
1931
  <t t-name="Markdown" t-call="baseui.Markdown"/>
1932
1932
 
1933
1933
  <t t-name="baseui.MarkdownTree">
1934
- <div t-att-class="'bu-markdown-tree' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="markdown-tree">
1935
- <div t-if="state.status === 'loading'" class="bu-markdown-tree-loading" role="status">Loading…</div>
1936
- <div t-elif="state.status === 'error'" class="bu-markdown-tree-error" role="alert">
1934
+ <div t-att-class="'b-markdown-tree' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="markdown-tree">
1935
+ <div t-if="state.status === 'loading'" class="b-markdown-tree-loading" role="status">Loading…</div>
1936
+ <div t-elif="state.status === 'error'" class="b-markdown-tree-error" role="alert">
1937
1937
  <t t-esc="state.error"/>
1938
1938
  </div>
1939
1939
  <SidebarGroup t-else="">
@@ -1976,7 +1976,7 @@
1976
1976
  <t t-else="">
1977
1977
  <SidebarMenuItem>
1978
1978
  <DropdownMenu>
1979
- <DropdownMenuTrigger className="'bu-sidebar-menu-button bu-markdown-tree-folder-trigger'"><Icon name="'folder'" className="'bu-sidebar-menu-icon'"/><span class="bu-sidebar-menu-label"><t t-esc="label"/></span><Icon name="'chevron-right'" className="'bu-markdown-tree-folder-trigger-icon'"/></DropdownMenuTrigger>
1979
+ <DropdownMenuTrigger className="'b-sidebar-menu-button b-markdown-tree-folder-trigger'"><Icon name="'folder'" className="'b-sidebar-menu-icon'"/><span class="b-sidebar-menu-label"><t t-esc="label"/></span><Icon name="'chevron-right'" className="'b-markdown-tree-folder-trigger-icon'"/></DropdownMenuTrigger>
1980
1980
  <DropdownMenuContent>
1981
1981
  <t t-foreach="props.node.children" t-as="child" t-key="child.path || child.name">
1982
1982
  <MarkdownTreeNode node="child" activePath="props.activePath" onSelect="props.onSelect" nested="true"/>
@@ -1998,7 +1998,7 @@
1998
1998
  </DropdownMenuSub>
1999
1999
  </t>
2000
2000
  <t t-else="">
2001
- <div class="bu-markdown-tree-group">
2001
+ <div class="b-markdown-tree-group">
2002
2002
  <SidebarGroupLabel><t t-esc="label"/></SidebarGroupLabel>
2003
2003
  <SidebarMenu>
2004
2004
  <t t-foreach="props.node.children" t-as="child" t-key="child.path || child.name">
@@ -2011,7 +2011,7 @@
2011
2011
  </t>
2012
2012
  <t t-name="MarkdownTreeNode" t-call="baseui.MarkdownTreeNode"/>
2013
2013
  <t t-name="baseui.message">
2014
- <article class="bu-message"/>
2014
+ <article class="b-message"/>
2015
2015
  </t>
2016
2016
  <t t-name="baseui.Message">
2017
2017
  <article t-att-class="classNames" t-att-data-side="side" role="listitem" t-att-style="props.style">
@@ -2020,10 +2020,10 @@
2020
2020
  </t>
2021
2021
  <t t-name="Message" t-call="baseui.Message"/>
2022
2022
  <t t-name="baseui.message-scroller">
2023
- <div class="bu-message-scroller"/>
2023
+ <div class="b-message-scroller"/>
2024
2024
  </t>
2025
2025
  <t t-name="baseui.MessageScroller">
2026
- <div t-att-class="'bu-message-scroller' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" t-ref="root">
2026
+ <div t-att-class="'b-message-scroller' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" t-ref="root">
2027
2027
  <t t-slot="default"/>
2028
2028
  </div>
2029
2029
  </t>
@@ -2051,7 +2051,7 @@
2051
2051
  </t>
2052
2052
  <t t-name="baseui.NavigationMenu">
2053
2053
  <nav
2054
- t-att-class="'bu-navigation-menu' + (props.className ? ' ' + props.className : '')"
2054
+ t-att-class="'nav b-navigation-menu' + (props.className ? ' ' + props.className : '')"
2055
2055
  role="menubar"
2056
2056
  t-ref="root"
2057
2057
  t-att-style="props.style"
@@ -2062,7 +2062,7 @@
2062
2062
  </t>
2063
2063
  <t t-name="NavigationMenu" t-call="baseui.NavigationMenu"/>
2064
2064
  <t t-name="baseui.NavigationMenuItem">
2065
- <a t-att-href="props.href || '#'" role="menuitem" t-att-class="props.className" t-att-style="props.style">
2065
+ <a t-att-href="props.href || '#'" role="menuitem" t-att-class="'nav-link' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2066
2066
  <t t-slot="default"/>
2067
2067
  </a>
2068
2068
  </t>
@@ -2089,13 +2089,13 @@
2089
2089
  </span>
2090
2090
  </t>
2091
2091
  <t t-name="baseui.Popover">
2092
- <span t-att-class="'bu-popover' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2092
+ <span t-att-class="'b-popover' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2093
2093
  <t t-slot="default"/>
2094
2094
  </span>
2095
2095
  </t>
2096
2096
  <t t-name="Popover" t-call="baseui.Popover"/>
2097
2097
  <t t-name="baseui.PopoverTrigger">
2098
- <Button unstyled="true" getRef="getRef" className="'btn bu-button btn-outline-secondary bu-popover-trigger'" attrs="attrs" style="props.style" onClick="() => this.onClick()">
2098
+ <Button unstyled="true" getRef="getRef" className="'btn b-button btn-outline-secondary b-popover-trigger'" attrs="attrs" style="props.style" onClick="() => this.onClick()">
2099
2099
  <t t-slot="default"/>
2100
2100
  </Button>
2101
2101
  </t>
@@ -2105,7 +2105,7 @@
2105
2105
  popover.component.js). Bootstrap renders the actual visible popup
2106
2106
  itself, appended to document.body. -->
2107
2107
  <t t-name="baseui.PopoverContent">
2108
- <span t-ref="buffer" class="bu-popover-content" t-att-style="style" aria-hidden="true">
2108
+ <span t-ref="buffer" class="b-popover-content" t-att-style="style" aria-hidden="true">
2109
2109
  <t t-if="props.content" t-esc="props.content"/>
2110
2110
  <t t-else="" t-slot="default"/>
2111
2111
  </span>
@@ -2121,7 +2121,7 @@
2121
2121
  t-att-aria-valuenow="value"
2122
2122
  t-att-style="style"
2123
2123
  >
2124
- <span class="bu-progress-indicator"></span>
2124
+ <span class="progress-bar b-progress-indicator"></span>
2125
2125
  </div>
2126
2126
  </t>
2127
2127
  <t t-name="Progress" t-call="baseui.Progress"/>
@@ -2135,70 +2135,70 @@
2135
2135
  <t t-name="baseui.Pwa"><t t-slot="default"/></t>
2136
2136
  <t t-name="Pwa" t-call="baseui.Pwa"/>
2137
2137
  <t t-name="baseui.PwaTrigger">
2138
- <Button variant="'default'" className="'bu-pwa-trigger'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
2138
+ <Button variant="'default'" className="'b-pwa-trigger'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
2139
2139
  </t>
2140
2140
  <t t-name="PwaTrigger" t-call="baseui.PwaTrigger"/>
2141
2141
  <t t-name="baseui.PwaContent">
2142
2142
  <div
2143
2143
  t-if="open"
2144
- class="bu-pwa-overlay"
2144
+ class="b-pwa-overlay"
2145
2145
  t-ref="root"
2146
2146
  t-att-style="props.style"
2147
2147
  t-on-keydown="onKeyDown"
2148
2148
  t-on-click="onBackdropClick"
2149
2149
  >
2150
- <div class="bu-pwa-panel" role="dialog" aria-modal="true">
2150
+ <div class="b-pwa-panel" role="dialog" aria-modal="true">
2151
2151
  <t t-slot="default"/>
2152
2152
  </div>
2153
2153
  </div>
2154
2154
  </t>
2155
2155
  <t t-name="PwaContent" t-call="baseui.PwaContent"/>
2156
- <t t-name="baseui.PwaHeader"><div class="bu-pwa-header" t-att-style="props.style"><t t-slot="default"/></div></t>
2156
+ <t t-name="baseui.PwaHeader"><div class="b-pwa-header" t-att-style="props.style"><t t-slot="default"/></div></t>
2157
2157
  <t t-name="PwaHeader" t-call="baseui.PwaHeader"/>
2158
- <t t-name="baseui.PwaTitle"><h2 class="bu-pwa-title" t-att-style="props.style"><t t-slot="default"/></h2></t>
2158
+ <t t-name="baseui.PwaTitle"><h2 class="b-pwa-title" t-att-style="props.style"><t t-slot="default"/></h2></t>
2159
2159
  <t t-name="PwaTitle" t-call="baseui.PwaTitle"/>
2160
- <t t-name="baseui.PwaDescription"><p class="bu-pwa-description" t-att-style="props.style"><t t-slot="default"/></p></t>
2160
+ <t t-name="baseui.PwaDescription"><p class="b-pwa-description" t-att-style="props.style"><t t-slot="default"/></p></t>
2161
2161
  <t t-name="PwaDescription" t-call="baseui.PwaDescription"/>
2162
- <t t-name="baseui.PwaBody"><div class="bu-pwa-body" t-att-style="props.style"><t t-slot="default"/></div></t>
2162
+ <t t-name="baseui.PwaBody"><div class="b-pwa-body" t-att-style="props.style"><t t-slot="default"/></div></t>
2163
2163
  <t t-name="PwaBody" t-call="baseui.PwaBody"/>
2164
2164
  <t t-name="baseui.PwaSteps">
2165
- <ol class="bu-pwa-steps" t-att-style="props.style">
2165
+ <ol class="b-pwa-steps" t-att-style="props.style">
2166
2166
  <t t-foreach="steps" t-as="step" t-key="step_index">
2167
2167
  <li>
2168
- <span class="bu-pwa-step-index" t-esc="step_index + 1"/>
2168
+ <span class="b-pwa-step-index" t-esc="step_index + 1"/>
2169
2169
  <span t-esc="step"/>
2170
2170
  </li>
2171
2171
  </t>
2172
2172
  </ol>
2173
2173
  </t>
2174
2174
  <t t-name="PwaSteps" t-call="baseui.PwaSteps"/>
2175
- <t t-name="baseui.PwaFooter"><div class="bu-pwa-footer" t-att-style="props.style"><t t-slot="default"/></div></t>
2175
+ <t t-name="baseui.PwaFooter"><div class="b-pwa-footer" t-att-style="props.style"><t t-slot="default"/></div></t>
2176
2176
  <t t-name="PwaFooter" t-call="baseui.PwaFooter"/>
2177
2177
  <t t-name="baseui.PwaClose">
2178
- <Button variant="'outline'" className="'bu-pwa-close'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
2178
+ <Button variant="'outline'" className="'b-pwa-close'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
2179
2179
  </t>
2180
2180
  <t t-name="PwaClose" t-call="baseui.PwaClose"/>
2181
2181
  <t t-name="baseui.questionnaire">
2182
- <form class="bu-questionnaire"/>
2182
+ <form class="b-questionnaire"/>
2183
2183
  </t>
2184
2184
  <t t-name="baseui.Questionnaire">
2185
- <form t-att-class="'bu-questionnaire' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" t-on-submit.prevent="">
2185
+ <form t-att-class="'b-questionnaire' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" t-on-submit.prevent="">
2186
2186
  <t t-slot="default"/>
2187
2187
  </form>
2188
2188
  </t>
2189
2189
  <t t-name="Questionnaire" t-call="baseui.Questionnaire"/>
2190
2190
  <t t-name="baseui.QuestionnaireStep">
2191
- <div t-if="active" class="bu-questionnaire-step" t-att-style="props.style"><t t-slot="default"/></div>
2191
+ <div t-if="active" class="b-questionnaire-step" t-att-style="props.style"><t t-slot="default"/></div>
2192
2192
  </t>
2193
2193
  <t t-name="QuestionnaireStep" t-call="baseui.QuestionnaireStep"/>
2194
2194
  <t t-name="baseui.QuestionnairePrevious">
2195
- <Button unstyled="true" className="'bu-questionnaire-prev'" style="props.style" disabled="disabled" onClick="() => this.onClick()">
2195
+ <Button unstyled="true" className="'b-questionnaire-prev'" style="props.style" disabled="disabled" onClick="() => this.onClick()">
2196
2196
  <t t-slot="default"/>
2197
2197
  </Button>
2198
2198
  </t>
2199
2199
  <t t-name="QuestionnairePrevious" t-call="baseui.QuestionnairePrevious"/>
2200
2200
  <t t-name="baseui.QuestionnaireNext">
2201
- <Button unstyled="true" className="'bu-questionnaire-next'" style="props.style" onClick="() => this.onClick()">
2201
+ <Button unstyled="true" className="'b-questionnaire-next'" style="props.style" onClick="() => this.onClick()">
2202
2202
  <t t-slot="default"/>
2203
2203
  </Button>
2204
2204
  </t>
@@ -2211,7 +2211,7 @@
2211
2211
  </t>
2212
2212
  <t t-name="RadioGroup" t-call="baseui.RadioGroup"/>
2213
2213
  <t t-name="baseui.RadioGroupItem">
2214
- <label t-att-class="'form-check bu-check ' + (props.className || '')" t-att-style="props.style">
2214
+ <label t-att-class="'form-check b-check ' + (props.className || '')" t-att-style="props.style">
2215
2215
  <input
2216
2216
  type="radio"
2217
2217
  class="form-check-input"
@@ -2225,19 +2225,19 @@
2225
2225
  </t>
2226
2226
  <t t-name="RadioGroupItem" t-call="baseui.RadioGroupItem"/>
2227
2227
  <t t-name="baseui.resizable">
2228
- <div class="bu-resizable"/>
2228
+ <div class="b-resizable"/>
2229
2229
  </t>
2230
2230
  <t t-name="baseui.Resizable">
2231
- <div t-att-class="'bu-resizable' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2232
- <div class="bu-resizable-panel" t-ref="panel" t-att-style="panelStyle">
2231
+ <div t-att-class="'b-resizable' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2232
+ <div class="b-resizable-panel" t-ref="panel" t-att-style="panelStyle">
2233
2233
  <t t-slot="default"/>
2234
2234
  </div>
2235
- <div class="bu-resizable-handle" t-on-pointerdown="onPointerDown"></div>
2235
+ <div class="b-resizable-handle" t-on-pointerdown="onPointerDown"></div>
2236
2236
  </div>
2237
2237
  </t>
2238
2238
  <t t-name="Resizable" t-call="baseui.Resizable"/>
2239
2239
  <t t-name="baseui.scroll-area">
2240
- <div class="bu-scroll-area"/>
2240
+ <div class="b-scroll-area"/>
2241
2241
  </t>
2242
2242
  <t t-name="baseui.ScrollArea">
2243
2243
  <div t-att-class="classNames" t-att-style="props.style" role="region" tabindex="0"><t t-slot="default"/></div>
@@ -2255,7 +2255,7 @@
2255
2255
  <div t-att-class="classNames" t-att-style="rootStyle" t-ref="root">
2256
2256
  <t t-slot="default"/>
2257
2257
  <t t-if="isOutlined" t-call="baseui.Outlined.label"/>
2258
- <div t-if="isOutlined and supportingText" class="bu-input-support">
2258
+ <div t-if="isOutlined and supportingText" class="b-input-support">
2259
2259
  <span t-att-id="supportId" t-esc="supportingText"/>
2260
2260
  </div>
2261
2261
  </div>
@@ -2264,7 +2264,7 @@
2264
2264
  <t t-name="baseui.SelectTrigger">
2265
2265
  <Button
2266
2266
  unstyled="true"
2267
- className="'bu-select-trigger'"
2267
+ className="'b-select-trigger'"
2268
2268
  attrs="attrs"
2269
2269
  style="props.style"
2270
2270
  onClick="() => this.onClick()"
@@ -2274,14 +2274,14 @@
2274
2274
  </t>
2275
2275
  <t t-name="SelectTrigger" t-call="baseui.SelectTrigger"/>
2276
2276
  <t t-name="baseui.SelectContent">
2277
- <div t-if="open" class="bu-select-content" t-att-style="props.style" role="listbox">
2277
+ <div t-if="open" class="b-select-content" t-att-style="props.style" role="listbox">
2278
2278
  <t t-slot="default"/>
2279
2279
  </div>
2280
2280
  </t>
2281
2281
  <t t-name="SelectContent" t-call="baseui.SelectContent"/>
2282
2282
  <t t-name="baseui.SelectItem">
2283
2283
  <div
2284
- class="bu-select-item"
2284
+ class="b-select-item"
2285
2285
  role="option"
2286
2286
  t-att-aria-selected="selected ? 'true' : 'false'"
2287
2287
  t-att-style="props.style"
@@ -2296,7 +2296,7 @@
2296
2296
  </t>
2297
2297
 
2298
2298
  <t t-name="baseui.Shell">
2299
- <div t-att-class="'bu-shell' + (props.className ? ' ' + props.className : '')"
2299
+ <div t-att-class="'b-shell' + (props.className ? ' ' + props.className : '')"
2300
2300
  t-att-style="props.style"
2301
2301
  t-att-b-att-collapsed="state.collapsed ? 'true' : 'false'">
2302
2302
  <Sidebar open="props.open" defaultOpen="props.defaultOpen" onOpenChange="props.onOpenChange">
@@ -2306,7 +2306,7 @@
2306
2306
  <t t-if="props.toast">
2307
2307
  <Toast open="!!props.toast" variant="props.toast.variant or 'info'"
2308
2308
  delay="props.toast.persistent ? 0 : (props.toast.delay or 4000)"
2309
- className="'bu-shell-toast' + (props.toast.className ? ' ' + props.toast.className : '')"
2309
+ className="'b-shell-toast' + (props.toast.className ? ' ' + props.toast.className : '')"
2310
2310
  onOpenChange="(open) => !open and this.dismissToast()">
2311
2311
  <div t-esc="props.toast.message"/>
2312
2312
  <t t-if="props.toast.actionLabel">
@@ -2337,41 +2337,41 @@
2337
2337
  <t t-name="ShellSidebar" t-call="baseui.ShellSidebar"/>
2338
2338
 
2339
2339
  <t t-name="baseui.ShellSidebarHeader">
2340
- <div t-att-class="'bu-shell-sidebar-header' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2340
+ <div t-att-class="'b-shell-sidebar-header' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2341
2341
  <t t-slot="default"/>
2342
2342
  </div>
2343
2343
  </t>
2344
2344
  <t t-name="ShellSidebarHeader" t-call="baseui.ShellSidebarHeader"/>
2345
2345
 
2346
2346
  <t t-name="baseui.ShellNav">
2347
- <nav t-att-class="'bu-shell-nav' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2347
+ <nav t-att-class="'b-shell-nav' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2348
2348
  <t t-slot="default"/>
2349
2349
  </nav>
2350
2350
  </t>
2351
2351
  <t t-name="ShellNav" t-call="baseui.ShellNav"/>
2352
2352
 
2353
2353
  <t t-name="baseui.ShellMain">
2354
- <div t-att-class="'bu-shell-main' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2354
+ <div t-att-class="'b-shell-main' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2355
2355
  <t t-slot="default"/>
2356
2356
  </div>
2357
2357
  </t>
2358
2358
  <t t-name="ShellMain" t-call="baseui.ShellMain"/>
2359
2359
 
2360
2360
  <t t-name="baseui.ShellHeader">
2361
- <header t-att-class="'bu-shell-header' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2361
+ <header t-att-class="'b-shell-header' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2362
2362
  <t t-slot="default"/>
2363
2363
  </header>
2364
2364
  </t>
2365
2365
  <t t-name="ShellHeader" t-call="baseui.ShellHeader"/>
2366
2366
 
2367
2367
  <t t-name="baseui.ShellContent">
2368
- <main t-att-class="'bu-shell-content' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2368
+ <main t-att-class="'b-shell-content' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2369
2369
  <t t-if="props.loading">
2370
- <div class="bu-shell-content-skeleton" aria-busy="true" aria-live="polite">
2371
- <Skeleton className="'bu-shell-content-skeleton-bar bu-shell-content-skeleton-title'"/>
2372
- <Skeleton className="'bu-shell-content-skeleton-bar'"/>
2373
- <Skeleton className="'bu-shell-content-skeleton-bar'"/>
2374
- <Skeleton className="'bu-shell-content-skeleton-bar bu-shell-content-skeleton-short'"/>
2370
+ <div class="b-shell-content-skeleton" aria-busy="true" aria-live="polite">
2371
+ <Skeleton className="'b-shell-content-skeleton-bar b-shell-content-skeleton-title'"/>
2372
+ <Skeleton className="'b-shell-content-skeleton-bar'"/>
2373
+ <Skeleton className="'b-shell-content-skeleton-bar'"/>
2374
+ <Skeleton className="'b-shell-content-skeleton-bar b-shell-content-skeleton-short'"/>
2375
2375
  </div>
2376
2376
  </t>
2377
2377
  <t t-else="">
@@ -2382,9 +2382,9 @@
2382
2382
  <t t-name="ShellContent" t-call="baseui.ShellContent"/>
2383
2383
 
2384
2384
  <t t-name="baseui.ShellUserMenu">
2385
- <div t-if="authState" t-att-class="'bu-shell-user' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2385
+ <div t-if="authState" t-att-class="'b-shell-user' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2386
2386
  <t t-slot="default">
2387
- <span class="bu-shell-user-name" t-esc="authState.username"/>
2387
+ <span class="b-shell-user-name" t-esc="authState.username"/>
2388
2388
  <Button variant="'outline'" size="'sm'" label="'Logout'" onClick="() => this.logout()"/>
2389
2389
  </t>
2390
2390
  </div>
@@ -2407,27 +2407,27 @@
2407
2407
  <t t-name="baseui.Sheet"><t t-slot="default"/></t>
2408
2408
  <t t-name="Sheet" t-call="baseui.Sheet"/>
2409
2409
  <t t-name="baseui.SheetTrigger">
2410
- <Button variant="'outline'" className="'bu-sheet-trigger'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
2410
+ <Button variant="'outline'" className="'b-sheet-trigger'" style="props.style" onClick="() => this.onClick()"><t t-slot="default"/></Button>
2411
2411
  </t>
2412
2412
  <t t-name="SheetTrigger" t-call="baseui.SheetTrigger"/>
2413
2413
  <t t-name="baseui.SheetContent">
2414
- <div t-ref="root" t-att-class="'offcanvas ' + placementClass + ' bu-sheet-overlay'" t-att-style="props.style" tabindex="-1">
2415
- <aside class="bu-sheet-panel">
2414
+ <div t-ref="root" t-att-class="'offcanvas ' + placementClass + ' b-sheet-overlay'" t-att-style="props.style" tabindex="-1">
2415
+ <aside class="b-sheet-panel">
2416
2416
  <t t-slot="default"/>
2417
2417
  </aside>
2418
2418
  </div>
2419
2419
  </t>
2420
2420
  <t t-name="SheetContent" t-call="baseui.SheetContent"/>
2421
- <t t-name="baseui.SheetHeader"><div class="bu-sheet-header" t-att-style="props.style"><t t-slot="default"/></div></t>
2421
+ <t t-name="baseui.SheetHeader"><div class="b-sheet-header" t-att-style="props.style"><t t-slot="default"/></div></t>
2422
2422
  <t t-name="SheetHeader" t-call="baseui.SheetHeader"/>
2423
- <t t-name="baseui.SheetFooter"><div class="bu-sheet-footer" t-att-style="props.style"><t t-slot="default"/></div></t>
2423
+ <t t-name="baseui.SheetFooter"><div class="b-sheet-footer" t-att-style="props.style"><t t-slot="default"/></div></t>
2424
2424
  <t t-name="SheetFooter" t-call="baseui.SheetFooter"/>
2425
- <t t-name="baseui.SheetTitle"><h2 class="bu-sheet-title" t-att-style="props.style"><t t-slot="default"/></h2></t>
2425
+ <t t-name="baseui.SheetTitle"><h2 class="b-sheet-title" t-att-style="props.style"><t t-slot="default"/></h2></t>
2426
2426
  <t t-name="SheetTitle" t-call="baseui.SheetTitle"/>
2427
- <t t-name="baseui.SheetDescription"><p class="bu-sheet-description" t-att-style="props.style"><t t-slot="default"/></p></t>
2427
+ <t t-name="baseui.SheetDescription"><p class="b-sheet-description" t-att-style="props.style"><t t-slot="default"/></p></t>
2428
2428
  <t t-name="SheetDescription" t-call="baseui.SheetDescription"/>
2429
2429
  <t t-name="baseui.SheetClose">
2430
- <Button variant="'outline'" className="'bu-sheet-close'" style="props.style" attrs="{'data-bs-dismiss': 'offcanvas'}"><t t-slot="default"/></Button>
2430
+ <Button variant="'outline'" className="'b-sheet-close'" style="props.style" attrs="{'data-bs-dismiss': 'offcanvas'}"><t t-slot="default"/></Button>
2431
2431
  </t>
2432
2432
  <t t-name="SheetClose" t-call="baseui.SheetClose"/>
2433
2433
  <t t-name="baseui.sidebar">
@@ -2442,14 +2442,14 @@
2442
2442
  t-att-data-variant="variant"
2443
2443
  t-att-data-side="side"
2444
2444
  t-on-keydown="onKeyDown">
2445
- <div t-if="state.open" class="bu-sidebar-backdrop" data-slot="sidebar-backdrop" t-on-click="() => this.setOpen(false)"></div>
2445
+ <div t-if="state.open" class="b-sidebar-backdrop" data-slot="sidebar-backdrop" t-on-click="() => this.setOpen(false)"></div>
2446
2446
  <t t-slot="default"/>
2447
2447
  </div>
2448
2448
  </t>
2449
2449
  <t t-name="Sidebar" t-call="baseui.Sidebar"/>
2450
2450
  <t t-name="SidebarProvider" t-call="baseui.Sidebar"/>
2451
2451
  <t t-name="baseui.SidebarContent">
2452
- <aside t-att-class="'bu-sidebar' + (open ? ' is-open' : '') + (props.className ? ' ' + props.className : '')"
2452
+ <aside t-att-class="'b-sidebar' + (open ? ' is-open' : '') + (props.className ? ' ' + props.className : '')"
2453
2453
  t-att-style="props.style"
2454
2454
  data-sidebar="sidebar"
2455
2455
  data-slot="sidebar"
@@ -2459,26 +2459,26 @@
2459
2459
  </t>
2460
2460
  <t t-name="SidebarContent" t-call="baseui.SidebarContent"/>
2461
2461
  <t t-name="baseui.SidebarHeader">
2462
- <div t-att-class="'bu-sidebar-header' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="header" data-slot="sidebar-header">
2462
+ <div t-att-class="'b-sidebar-header' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="header" data-slot="sidebar-header">
2463
2463
  <t t-slot="default"/>
2464
2464
  </div>
2465
2465
  </t>
2466
2466
  <t t-name="SidebarHeader" t-call="baseui.SidebarHeader"/>
2467
2467
  <t t-name="baseui.SidebarFooter">
2468
- <div t-att-class="'bu-sidebar-footer' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="footer" data-slot="sidebar-footer">
2468
+ <div t-att-class="'b-sidebar-footer' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="footer" data-slot="sidebar-footer">
2469
2469
  <t t-slot="default"/>
2470
2470
  </div>
2471
2471
  </t>
2472
2472
  <t t-name="SidebarFooter" t-call="baseui.SidebarFooter"/>
2473
2473
  <t t-name="baseui.SidebarInset">
2474
- <main t-att-class="'bu-sidebar-inset' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="sidebar-inset">
2474
+ <main t-att-class="'b-sidebar-inset' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-slot="sidebar-inset">
2475
2475
  <t t-slot="default"/>
2476
2476
  </main>
2477
2477
  </t>
2478
2478
  <t t-name="SidebarInset" t-call="baseui.SidebarInset"/>
2479
2479
  <t t-name="baseui.SidebarRail">
2480
2480
  <Button type="'button'" unstyled="true"
2481
- className="'bu-sidebar-rail' + (props.className ? ' ' + props.className : '')"
2481
+ className="'b-sidebar-rail' + (props.className ? ' ' + props.className : '')"
2482
2482
  style="props.style"
2483
2483
  attrs="{ 'data-sidebar': 'rail', 'data-slot': 'sidebar-rail', tabindex: '-1' }"
2484
2484
  ariaLabel="'Toggle Sidebar'"
@@ -2487,7 +2487,7 @@
2487
2487
  </t>
2488
2488
  <t t-name="SidebarRail" t-call="baseui.SidebarRail"/>
2489
2489
  <t t-name="baseui.SidebarInput">
2490
- <input t-att-class="'bu-sidebar-input' + (props.className ? ' ' + props.className : '')"
2490
+ <input t-att-class="'b-sidebar-input' + (props.className ? ' ' + props.className : '')"
2491
2491
  t-att-style="props.style"
2492
2492
  data-sidebar="input"
2493
2493
  data-slot="sidebar-input"
@@ -2497,17 +2497,17 @@
2497
2497
  </t>
2498
2498
  <t t-name="SidebarInput" t-call="baseui.SidebarInput"/>
2499
2499
  <t t-name="baseui.SidebarSeparator">
2500
- <div t-att-class="'bu-sidebar-separator' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="separator" data-slot="sidebar-separator"/>
2500
+ <div t-att-class="'b-sidebar-separator' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="separator" data-slot="sidebar-separator"/>
2501
2501
  </t>
2502
2502
  <t t-name="SidebarSeparator" t-call="baseui.SidebarSeparator"/>
2503
2503
  <t t-name="baseui.SidebarClose">
2504
2504
  <Button type="'button'" unstyled="true"
2505
- className="'bu-sidebar-close' + (props.className ? ' ' + props.className : '')"
2505
+ className="'b-sidebar-close' + (props.className ? ' ' + props.className : '')"
2506
2506
  style="props.style"
2507
2507
  attrs="{ 'data-sidebar': 'close', 'data-slot': 'sidebar-close' }"
2508
2508
  ariaLabel="props.label || 'Close Sidebar'"
2509
2509
  onClick="() => this.onClick()">
2510
- <Icon name="props.icon || 'x'" className="'bu-sidebar-close-icon'"/>
2510
+ <Icon name="props.icon || 'x'" className="'b-sidebar-close-icon'"/>
2511
2511
  <span t-if="props.label"><t t-esc="props.label"/></span>
2512
2512
  <span t-else="" class="visually-hidden">Close Sidebar</span>
2513
2513
  <t t-slot="default"/>
@@ -2515,23 +2515,23 @@
2515
2515
  </t>
2516
2516
  <t t-name="SidebarClose" t-call="baseui.SidebarClose"/>
2517
2517
  <t t-name="baseui.SidebarGroup">
2518
- <div t-att-class="'bu-sidebar-group' + (props.muted ? ' is-muted' : '') + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="group" data-slot="sidebar-group">
2518
+ <div t-att-class="'b-sidebar-group' + (props.muted ? ' is-muted' : '') + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="group" data-slot="sidebar-group">
2519
2519
  <t t-slot="default"/>
2520
2520
  </div>
2521
2521
  </t>
2522
2522
  <t t-name="SidebarGroup" t-call="baseui.SidebarGroup"/>
2523
2523
  <t t-name="baseui.SidebarGroupLabel">
2524
- <a t-if="props.href" t-att-href="props.href" t-att-class="'bu-sidebar-group-label' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="group-label" data-slot="sidebar-group-label">
2524
+ <a t-if="props.href" t-att-href="props.href" t-att-class="'b-sidebar-group-label' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="group-label" data-slot="sidebar-group-label">
2525
2525
  <t t-slot="default"/>
2526
2526
  </a>
2527
- <div t-else="" t-att-class="'bu-sidebar-group-label' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="group-label" data-slot="sidebar-group-label">
2527
+ <div t-else="" t-att-class="'b-sidebar-group-label' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="group-label" data-slot="sidebar-group-label">
2528
2528
  <t t-slot="default"/>
2529
2529
  </div>
2530
2530
  </t>
2531
2531
  <t t-name="SidebarGroupLabel" t-call="baseui.SidebarGroupLabel"/>
2532
2532
  <t t-name="baseui.SidebarGroupAction">
2533
2533
  <Button type="'button'" unstyled="true"
2534
- className="'bu-sidebar-group-action' + (props.className ? ' ' + props.className : '')"
2534
+ className="'b-sidebar-group-action' + (props.className ? ' ' + props.className : '')"
2535
2535
  style="props.style"
2536
2536
  attrs="{ 'data-sidebar': 'group-action', 'data-slot': 'sidebar-group-action' }"
2537
2537
  ariaLabel="ariaLabel"
@@ -2542,34 +2542,34 @@
2542
2542
  </t>
2543
2543
  <t t-name="SidebarGroupAction" t-call="baseui.SidebarGroupAction"/>
2544
2544
  <t t-name="baseui.SidebarGroupContent">
2545
- <div t-att-class="'bu-sidebar-group-content' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="group-content" data-slot="sidebar-group-content">
2545
+ <div t-att-class="'b-sidebar-group-content' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="group-content" data-slot="sidebar-group-content">
2546
2546
  <t t-slot="default"/>
2547
2547
  </div>
2548
2548
  </t>
2549
2549
  <t t-name="SidebarGroupContent" t-call="baseui.SidebarGroupContent"/>
2550
2550
  <t t-name="baseui.SidebarGroupCollapsible">
2551
- <div t-att-class="'bu-sidebar-group' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2551
+ <div t-att-class="'b-sidebar-group' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2552
2552
  <Button type="'button'" unstyled="true"
2553
- className="'bu-sidebar-group-trigger'"
2553
+ className="'b-sidebar-group-trigger'"
2554
2554
  attrs="{ 'data-sidebar': 'group-label', 'data-slot': 'sidebar-group-label', 'aria-expanded': open ? 'true' : 'false' }"
2555
2555
  onClick="() => this.toggle()">
2556
2556
  <t t-esc="props.label"/>
2557
- <Icon name="'chevron-down'" className="'bu-sidebar-group-chevron' + (open ? ' is-open' : '')"/>
2557
+ <Icon name="'chevron-down'" className="'b-sidebar-group-chevron' + (open ? ' is-open' : '')"/>
2558
2558
  </Button>
2559
- <div t-if="open" class="bu-sidebar-group-content">
2559
+ <div t-if="open" class="b-sidebar-group-content">
2560
2560
  <t t-slot="default"/>
2561
2561
  </div>
2562
2562
  </div>
2563
2563
  </t>
2564
2564
  <t t-name="SidebarGroupCollapsible" t-call="baseui.SidebarGroupCollapsible"/>
2565
2565
  <t t-name="baseui.SidebarMenu">
2566
- <ul t-att-class="'bu-sidebar-menu' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="menu" data-slot="sidebar-menu">
2566
+ <ul t-att-class="'b-sidebar-menu' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="menu" data-slot="sidebar-menu">
2567
2567
  <t t-slot="default"/>
2568
2568
  </ul>
2569
2569
  </t>
2570
2570
  <t t-name="SidebarMenu" t-call="baseui.SidebarMenu"/>
2571
2571
  <t t-name="baseui.SidebarMenuItem">
2572
- <li t-att-class="'bu-sidebar-menu-item' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="menu-item" data-slot="sidebar-menu-item">
2572
+ <li t-att-class="'b-sidebar-menu-item' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="menu-item" data-slot="sidebar-menu-item">
2573
2573
  <t t-slot="default"/>
2574
2574
  </li>
2575
2575
  </t>
@@ -2581,14 +2581,14 @@
2581
2581
  attrs="{ 'data-sidebar': 'menu-button', 'data-slot': 'sidebar-menu-button', 'data-active': isActive ? 'true' : undefined, 'data-size': props.size || 'default', 'aria-current': isActive ? 'page' : undefined }"
2582
2582
  disabled="props.disabled"
2583
2583
  onClick="(event) => this.onClick(event)">
2584
- <Icon t-if="props.icon" name="props.icon" className="'bu-sidebar-menu-icon'"/>
2585
- <span class="bu-sidebar-menu-label"><t t-slot="default"/></span>
2584
+ <Icon t-if="props.icon" name="props.icon" className="'b-sidebar-menu-icon'"/>
2585
+ <span class="b-sidebar-menu-label"><t t-slot="default"/></span>
2586
2586
  </Button>
2587
2587
  </t>
2588
2588
  <t t-name="SidebarMenuButton" t-call="baseui.SidebarMenuButton"/>
2589
2589
  <t t-name="baseui.SidebarMenuAction">
2590
2590
  <Button type="'button'" unstyled="true"
2591
- className="'bu-sidebar-menu-action' + (props.showOnHover ? ' show-on-hover' : '') + (props.className ? ' ' + props.className : '')"
2591
+ className="'b-sidebar-menu-action' + (props.showOnHover ? ' show-on-hover' : '') + (props.className ? ' ' + props.className : '')"
2592
2592
  style="props.style"
2593
2593
  attrs="{ 'data-sidebar': 'menu-action', 'data-slot': 'sidebar-menu-action' }"
2594
2594
  ariaLabel="ariaLabel"
@@ -2599,26 +2599,26 @@
2599
2599
  </t>
2600
2600
  <t t-name="SidebarMenuAction" t-call="baseui.SidebarMenuAction"/>
2601
2601
  <t t-name="baseui.SidebarMenuSub">
2602
- <ul t-att-class="'bu-sidebar-menu-sub' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="menu-sub" data-slot="sidebar-menu-sub">
2602
+ <ul t-att-class="'b-sidebar-menu-sub' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="menu-sub" data-slot="sidebar-menu-sub">
2603
2603
  <t t-slot="default"/>
2604
2604
  </ul>
2605
2605
  </t>
2606
2606
  <t t-name="SidebarMenuSub" t-call="baseui.SidebarMenuSub"/>
2607
2607
  <t t-name="baseui.SidebarMenuBadge">
2608
- <div t-att-class="'bu-sidebar-menu-badge' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="menu-badge" data-slot="sidebar-menu-badge">
2608
+ <div t-att-class="'b-sidebar-menu-badge' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="menu-badge" data-slot="sidebar-menu-badge">
2609
2609
  <t t-slot="default"/>
2610
2610
  </div>
2611
2611
  </t>
2612
2612
  <t t-name="SidebarMenuBadge" t-call="baseui.SidebarMenuBadge"/>
2613
2613
  <t t-name="baseui.SidebarMenuSkeleton">
2614
- <div t-att-class="'bu-sidebar-menu-skeleton' + (props.className ? ' ' + props.className : '')" t-att-style="style" data-sidebar="menu-skeleton" data-slot="sidebar-menu-skeleton">
2615
- <span t-if="props.showIcon" class="bu-sidebar-menu-skeleton-icon" data-sidebar="menu-skeleton-icon"></span>
2616
- <span class="bu-sidebar-menu-skeleton-text" data-sidebar="menu-skeleton-text"></span>
2614
+ <div t-att-class="'b-sidebar-menu-skeleton' + (props.className ? ' ' + props.className : '')" t-att-style="style" data-sidebar="menu-skeleton" data-slot="sidebar-menu-skeleton">
2615
+ <span t-if="props.showIcon" class="b-sidebar-menu-skeleton-icon" data-sidebar="menu-skeleton-icon"></span>
2616
+ <span class="b-sidebar-menu-skeleton-text" data-sidebar="menu-skeleton-text"></span>
2617
2617
  </div>
2618
2618
  </t>
2619
2619
  <t t-name="SidebarMenuSkeleton" t-call="baseui.SidebarMenuSkeleton"/>
2620
2620
  <t t-name="baseui.SidebarMenuSubItem">
2621
- <li t-att-class="'bu-sidebar-menu-sub-item' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="menu-sub-item" data-slot="sidebar-menu-sub-item">
2621
+ <li t-att-class="'b-sidebar-menu-sub-item' + (props.className ? ' ' + props.className : '')" t-att-style="props.style" data-sidebar="menu-sub-item" data-slot="sidebar-menu-sub-item">
2622
2622
  <t t-slot="default"/>
2623
2623
  </li>
2624
2624
  </t>
@@ -2635,12 +2635,12 @@
2635
2635
  <t t-name="SidebarMenuSubButton" t-call="baseui.SidebarMenuSubButton"/>
2636
2636
  <t t-name="baseui.SidebarTrigger">
2637
2637
  <Button type="'button'" unstyled="true"
2638
- className="'bu-sidebar-trigger' + (props.className ? ' ' + props.className : '')"
2638
+ className="'b-sidebar-trigger' + (props.className ? ' ' + props.className : '')"
2639
2639
  style="props.style"
2640
2640
  attrs="{ 'data-sidebar': 'trigger', 'data-slot': 'sidebar-trigger' }"
2641
2641
  ariaLabel="'Toggle Sidebar'"
2642
2642
  onClick="() => this.onClick()">
2643
- <Icon name="props.icon || 'panel-left'" className="'bu-sidebar-trigger-icon'"/>
2643
+ <Icon name="props.icon || 'panel-left'" className="'b-sidebar-trigger-icon'"/>
2644
2644
  <span t-if="props.label"><t t-esc="props.label"/></span>
2645
2645
  <span t-else="" class="visually-hidden">Toggle Sidebar</span>
2646
2646
  <t t-slot="default"/>
@@ -2675,7 +2675,7 @@
2675
2675
  <label b-ui="switch"><input type="checkbox" role="switch"/><t t-slot="default"/></label>
2676
2676
  </t>
2677
2677
  <t t-name="baseui.Switch">
2678
- <label t-att-class="'form-check form-switch bu-switch ' + (props.className || '')" t-att-style="props.style">
2678
+ <label t-att-class="'form-check form-switch b-switch ' + (props.className || '')" t-att-style="props.style">
2679
2679
  <input
2680
2680
  type="checkbox"
2681
2681
  role="switch"
@@ -2684,13 +2684,13 @@
2684
2684
  t-att-disabled="props.disabled"
2685
2685
  t-on-change="onChange"
2686
2686
  />
2687
- <span class="bu-switch-label">
2687
+ <span class="b-switch-label">
2688
2688
  <t t-slot="default"/>
2689
- <span t-if="tipText" class="bu-switch-tip" t-on-click.prevent.stop="">
2690
- <Tooltip content="tipText" className="'bu-input-tip'"><t t-set-slot="trigger"><IconCircleQuestionMark/></t></Tooltip>
2689
+ <span t-if="tipText" class="b-switch-tip" t-on-click.prevent.stop="">
2690
+ <Tooltip content="tipText" className="'b-input-tip'"><t t-set-slot="trigger"><IconCircleQuestionMark/></t></Tooltip>
2691
2691
  </span>
2692
2692
  </span>
2693
- <small t-if="supportingText" class="bu-switch-support" t-esc="supportingText"/>
2693
+ <small t-if="supportingText" class="b-switch-support" t-esc="supportingText"/>
2694
2694
  </label>
2695
2695
  </t>
2696
2696
  <t t-name="Switch" t-call="baseui.Switch"/>
@@ -2724,14 +2724,14 @@
2724
2724
  <t t-name="TabTrigger" t-call="baseui.TabTrigger"/>
2725
2725
 
2726
2726
  <t t-name="baseui.TabsContainer">
2727
- <div t-att-class="'tab-content bu-tabs-contents' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2727
+ <div t-att-class="'tab-content b-tabs-contents' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2728
2728
  <t t-slot="default"/>
2729
2729
  </div>
2730
2730
  </t>
2731
2731
  <t t-name="TabsContainer" t-call="baseui.TabsContainer"/>
2732
2732
 
2733
2733
  <t t-name="baseui.TabContent">
2734
- <div t-att-id="panelId" role="tabpanel" t-att-class="'tab-pane fade bu-tabs-panel' + (initialActive ? ' show active' : '') + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2734
+ <div t-att-id="panelId" role="tabpanel" t-att-class="'tab-pane fade b-tabs-panel' + (initialActive ? ' show active' : '') + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2735
2735
  <t t-slot="default"/>
2736
2736
  </div>
2737
2737
  </t>
@@ -2761,18 +2761,18 @@
2761
2761
  </t>
2762
2762
  <t t-name="Textarea" t-call="baseui.Textarea"/>
2763
2763
  <t t-name="baseui.text-editor">
2764
- <div class="bu-text-editor"/>
2764
+ <div class="b-text-editor"/>
2765
2765
  </t>
2766
2766
  <t t-name="baseui.TextEditor">
2767
2767
  <div t-att-class="classNames" t-att-style="props.style" data-slot="text-editor" t-att-data-status="state.status">
2768
- <div t-if="state.status === 'loading'" class="bu-text-editor-loading" role="status">Loading…</div>
2769
- <div t-elif="state.status === 'error'" class="bu-text-editor-error" role="alert">
2768
+ <div t-if="state.status === 'loading'" class="b-text-editor-loading" role="status">Loading…</div>
2769
+ <div t-elif="state.status === 'error'" class="b-text-editor-error" role="alert">
2770
2770
  <t t-esc="state.error"/>
2771
2771
  </div>
2772
2772
  <div
2773
2773
  t-else=""
2774
2774
  t-ref="editor"
2775
- class="bu-text-editor-shell"
2775
+ class="b-text-editor-shell"
2776
2776
  data-slot="text-editor-shell"
2777
2777
  role="group"
2778
2778
  t-att-aria-label="editorLabel"
@@ -2801,10 +2801,10 @@
2801
2801
  </t>
2802
2802
  <t t-name="baseui.Toast">
2803
2803
  <div t-ref="root" t-att-class="classNames" t-att-style="props.style" t-att-role="role">
2804
- <div class="bu-toast-content"><t t-slot="default"/></div>
2805
- <div class="bu-toast-actions">
2804
+ <div class="b-toast-content"><t t-slot="default"/></div>
2805
+ <div class="b-toast-actions">
2806
2806
  <t t-if="hasActionSlot" t-slot="action"/>
2807
- <Button variant="'ghost'" size="'icon-sm'" className="'bu-toast-close'" aria-label="'Close'" onClick="() => this.close()">x</Button>
2807
+ <Button variant="'ghost'" size="'icon-sm'" className="'b-toast-close'" aria-label="'Close'" onClick="() => this.close()">x</Button>
2808
2808
  </div>
2809
2809
  </div>
2810
2810
  </t>
@@ -2816,8 +2816,8 @@
2816
2816
  </span>
2817
2817
  </t>
2818
2818
  <t t-name="baseui.Tooltip">
2819
- <span t-att-class="'bu-tooltip' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2820
- <span t-ref="trigger" class="bu-tooltip-trigger">
2819
+ <span t-att-class="'b-tooltip' + (props.className ? ' ' + props.className : '')" t-att-style="props.style">
2820
+ <span t-ref="trigger" class="b-tooltip-trigger">
2821
2821
  <t t-slot="trigger"/>
2822
2822
  </span>
2823
2823
  <!-- Rendered but never shown: Owl keeps this reactive so the component
@@ -2845,7 +2845,7 @@
2845
2845
  </t>
2846
2846
  <t t-name="baseui.ToggleGroup">
2847
2847
  <div
2848
- t-att-class="'btn-group bu-toggle-group' + (props.className ? ' ' + props.className : '')"
2848
+ t-att-class="'btn-group b-toggle-group' + (props.className ? ' ' + props.className : '')"
2849
2849
  t-att-style="props.style"
2850
2850
  t-att-role="props.multiple ? 'group' : 'radiogroup'"
2851
2851
  >
@@ -2869,7 +2869,7 @@
2869
2869
  <p b-ui="typography"><t t-slot="default"/></p>
2870
2870
  </t>
2871
2871
  <t t-name="baseui.Typography">
2872
- <p t-att-class="classNames" t-att-style="props.style"><t t-slot="default"/></p>
2872
+ <p t-tag="tag" t-att-class="classNames" t-att-style="props.style"><t t-slot="default"/></p>
2873
2873
  </t>
2874
2874
  <t t-name="Typography" t-call="baseui.Typography"/>
2875
2875
  </templates>